Customizing the Application Environment
To make changes to the application environment, certain parameters in the Startup Command File must be altered. This allows work stations and command files to be customized, changes to the physical location of files and changes to the version numbers that are to be initiated.
You can also define SET commands in the Startup Command File to specify which disk drive you wish to use. If SET commands are not specified, Infor M3 SWB will automatically use the disk drive at the workstation where the application was started. You can use the Startup Command File to specify the version number or you can allow Infor M3 SWB to automatically choose the version (which will be the lowest number available).
When Infor M3 SWB is first installed at a workstation there are two separate versions of the Infor M3 SWB application available to the user. These versions are Schedule Version 1, the official version, and Version 10, a copy of Version 1 available for simulation purposes. Each version is complete with all data files, panel files, control files and spool files. The files are stored in two distinct places, on the disk drive and on the directories that are specified. (The directories are chosen in the installation procedure and the local disk drive is selected from the installation window.)
Configuring the application environment involves these steps:
- How to Customize Multiple Work Stations
- How to Customize Command Files
- How to Relocate Files
- How to Customize File Dimensions
- How to Define Data File Information (PMSTYF99 File)
- How to Define the System Initialization File PMINIT.DAT
- How to Change the Version Number
- How to Create Backup Files
Customizing Multiple Work Stations
The diagram below depicts a typical multi-user configuration set up. It presupposes both Schedule Version 1 and a complete copy (Version 10) have been installed on Workstation 1. See How to Configure the System.
The application illustrated above is primarily being used to:
- Transfer data from and to the host databases
- Maintain local resource data
- Conduct scheduling
These general procedures are suggested when customizing workstations at your client company:
- Prepare Schedule Version 1 for data transfer by taking these steps:
-
- Clear all files containing sample data delivered with the application
- Select .
- Highlight all displayed files in the list box
- Select .
- Transfer resource and order data from the host databases into Infor M3 SWB and maintain it as local resource data. (If you want users at Workstations 2, 3 and 4 to have access schedule Version 1, Workstation 1 must be set up as a file-server in a local area network (LAN).)
- Select a backup version (for example, Version 10) as the official copy of Version 1. The backup version can than be accessed at Workstation 2, 3, and 4 and, if necessary, it can be used during transfer of data from the host or during a scheduling run at Workstation 1. (Note: In this example the Startup Command File for Workstation 1 did not must be altered.)
These examples for customizing the application environment are included:
- Customizing Work Station 2 and 3
- Customizing Work Station 4
Customizing Work Station 2 and 3
To define that Workstation 2 and 3 have read only access to Schedule Version 1, use the Startup Command File in this way:
- Set the path for all data files to the disk drive and directory of the file server (see the example below) in order to limit access to the schedule version on Workstation 1. Drive S is assumed to be the disk drive for the file server.
- Set the spool file path to a local disk drive.
- Set the path for panel files on a local disk drive or on the disk drive where the file server is located. To customize each panel individually on Workstation 2 or 3, use the local disk drive as shown in the following example
- Define Version 10 as the startup version. In this example it functions as the backup copy of the original Schedule Version 1.
ECHO OFF ECHO ****************************************** ECHO * * ECHO * STARTING M3 APP * ECHO * PLEASE WAIT.. * ECHO * * ECHO ****************************************** SET PMSIMDIR=C:\Program Files\MvxApp11_2 SET VERS=10 ß Set the startup version to version 10 SET PSUI_INIPATH=%PMSIMDIR%\CONTROL SET HELP=%PMSIMDIR%\US\HELP;%PMSIMDIR%\US\HELP; SET FID_OTRA=%PMSIMDIR%\CONTROL\PMOTRA.FID SET FID_REGM=%PMSIMDIR%\CONTROL\PMREGM.FID SET PSUI_IMAGEPATH=%PMSIMDIR%\IMAGES\CUSTOM;%PMSIMDIR%\IMAGES SET BATC=%PMSIMDIR%\Macro SET PINI=%PMSIMDIR%\CONTROL SET PMIN=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PMER=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PMGE=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PANE=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PMSP=%PMSIMDIR%\DATA ß Set the path for local spool files SET DATA=%PMSIMDIR%\DATA ß Set the path for data files SET PMSIM_ENVIRONMENT=MOVEX SET PMSIMDB_PARAMSQL=%PMSIMDIR%\CONTROL\param_db.112 SET PSDB_INIPATH=%PMSIMDIR%\CONTROL SET PMSIMMI_PARAMMVX=%PMSIMDIR%\CONTROL\param_mi.112 SET PSMI_INIPATH=%PMSIMDIR%\CONTROL SET PSMI_LOGPATH=%PMSIMDIR%\DATA MvxApp.EXE ECHO ON
Customizing Work Station 4
In this example, users on Workstation 4 have read only access to the file server and schedule Version 1. Other schedule versions are on disk at Workstation 4. The user can make a copy of schedule Version 1, including all the data, and can save it to a local version to perform simulations. All functions can be performed on the local version, including changing any data when necessary.
After running the installation procedure modify the Startup Command File as follows:
- Set the path for the data files of schedule Version 1 and 10 to the disk drive and directory of the file server as shown in the following example so that you have access to both schedule versions on Workstation 1. For this example the S drive is assumed to be the disk drive for the file server.
- Set the path for all other versions to a local disk drive and a local directory.
- Set the path for spool files to a local disk drive.
- Set the path for panel files to a local disk drive or to the disk drive of the file server. Use the local disk drive as shown in the following example to customize panels individually on Workstation 4.
We recommend that you define the startup version at Workstation 4 as the backup Version 10.
ECHO OFF ECHO ****************************************** ECHO * * ECHO * STARTING M3 APP * ECHO * PLEASE WAIT... * ECHO * * ECHO ****************************************** SET PMSIMDIR=C:\Program Files\MvxApp11_2 SET VERS=10 ß Set the startup version to version 10 SET PSUI_INIPATH=%PMSIMDIR%\CONTROL SET HELP=%PMSIMDIR%\US\HELP;%PMSIMDIR%\US\HELP; SET FID_OTRA=%PMSIMDIR%\CONTROL\PMOTRA.FID SET FID_REGM=%PMSIMDIR%\CONTROL\PMREGM.FID SET PSUI_IMAGEPATH=%PMSIMDIR%\IMAGES\CUSTOM;%PMSIMDIR%\IMAGES SET BATC=%PMSIMDIR%\Macro SET PINI=%PMSIMDIR%\CONTROL SET PMIN=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PMER=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PMGE=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PANE=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS SET PMSP=%PMSIMDIR%\DATA ß Set the path for local spool files SET DATA=S:\MVXMovex APP11_2\DATA ß Set the path for data files SET DATA01=S:\MVXMovex APP11_2\DATA ß Set the path for version 1 data SET DATA10=S:\MVXMovex APP11_2\DATA ß Set the path for version 10 data SET PMSIM_ENVIRONMENT=MOVEX SET PMSIMDB_PARAMSQL=%PMSIMDIR%\CONTROL\param_db.112 SET PSDB_INIPATH=%PMSIMDIR%\CONTROL SET PMSIMMI_PARAMMVX=%PMSIMDIR%\CONTROL\param_mi.112 SET PSMI_INIPATH=%PMSIMDIR%\CONTROL SET PSMI_LOGPATH=%PMSIMDIR%\DATA MvxApp.EXE ECHO ON
How to Customize Command Files
The following text shows the way in which you can use the Infor M3 SWB Startup Command File to determine or relocate file directories. You can also use this file to assign or check the schedule version number to initiate:
ECHO OFF ECHO ****************************************** ECHO * * ECHO * STARTING M3 APP * ECHO * PLEASE WAIT... * ECHO * * ECHO ****************************************** SET PMSIMDIR=C:\Program Files\MvxApp11_2 SETLOCAL ß Modifications to environment are local SET PSUI_INIPATH=%PMSIMDIR%\CONTROL ß Set the path for PSUI.INI SET HELP=%PMSIMDIR%\US\HELP;%PMSIMDIR%\US\HELP; ß Set the path for help files, *.HLP SET FID_OTRA=%PMSIMDIR%\CONTROL\PMOTRA.FID SET FID_REGM=%PMSIMDIR%\CONTROL\PMREGM.FID SET PSUI_IMAGEPATH=%PMSIMDIR%\IMAGES\CUSTOM;%PMSIMDIR%\IMAGES ß Set the path for image files SET BATC=%PMSIMDIR%\Macro ß Set the path for macro files SET PINI=%PMSIMDIR%\CONTROL ß Set the path for PMINIT__.DAT SET PMIN=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS ß Set the path for PMINIT__.SKM SET PMER=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS ß Set the path for PMERRO__.SKM SET PMGE=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS ß Set the path for PMGENE__.SKM SET PANE=%PMSIMDIR%\US\PANELS\CUSTOM;%PMSIMDIR%\US\PANELS ß Set the path for panel files SET PMSP=%PMSIMDIR%\DATA ß Set the path for spool files SET DATA=S:\MVXMovex APP11\DATA ß set the path for data files SET PMSIM_ENVIRONMENT=MOVEX ß Select Movex environment SET PMSIMDB_PARAMSQL=%PMSIMDIR%\CONTROL\param_db.112 ß Set the path for ODBC parameter file SET PSDB_INIPATH=%PMSIMDIR%\CONTROL ß Set the path for PSDB.INI SET PMSIMMI_PARAMMVX=%PMSIMDIR%\CONTROL\param_mi.112 ß Set the path for MI parameter file SET PSMI_INIPATH=%PMSIMDIR%\CONTROL ß Set the path for PSMI.INI SET PSMI_LOGPATH=%PMSIMDIR%\DATA ß Set the path for PSMI.LOG MvxApp.EXE ß Infor M3 SWB executable file ENDLOCAL ß Restore environment settings ECHO ON
How to Relocate Files
Infor M3 SWB controls where files are located in the system through the use of environment variables that are assigned certain values, for example a path initiated by the SET command. You can use the following standard variable names to relocate individual or groups of files.
Name | Description |
---|---|
PINI | Assigned to the PMINIT__.DAT control file. |
PMIN | Assigned to the PMINIT__.SKM file containing the panel definition for the initial dialog box. |
PMGE | Assigned to the PMGENE__.SKM file containing the panel definition for the general panels. |
PMER | Assigned to the PMERRO__.SKM file containing the panel definition for the error and warning message panels. |
PMSP | Assigned to all spool files generated by Infor M3 SWB. |
VERS | Defines what version number is to be used when Infor M3 SWB is initiated for the first time. The version number can be defined (if it is different than Version 1.) If another version is not defined Infor M3 SWB will load Version 1. |
REXXC1,...,REXXC99 | The path and command file name of the REXX procedure to be attached to the special action C1,...,C99. |
PMMODUL | If this environment parameter is defined it will tell Infor M3 SWB which module to execute immediately after startup. By specifying the SET PMMODUL=BATC in the Startup Command File this parameter can also be used to execute the batch function directly. |
To relocate spool files, you must alter the Startup Command File as follows:
SET PMSP=D:\SPOOL\DATA ß Set the path for spool files
You can also define where you want your data files located in the different versions you have specified by attaching a version number to the 4-character environment variable. For example, to relocate data files in Version 22, insert the following line into the Startup Command File:
SET DATA22=D:\MVXMovex APPTEST\DATA ß Set the path for version 22
You can also specify the path of a specific file by altering its PMINIT__.DAT file. Because DATA is the default variable assigned to all data files, by defining a new variable name to your order header file such as DATX you will automatically alter the file path. Do this by adding the following to the Startup Command File:
SET DATX=D:\DIRORDH ß Set the path for order header file
How to Customize File Dimensions
The high performance scheduling techniques in Infor M3 SWB require that certain types of data be kept in memory. For this reason, Infor M3 SWB files are set to maximum file dimension at delivery.
You can see the maximum file dimension and the actual number of positions that are used by a particular file by selecting
in the standard menu. You can also see detailed information for each file by selecting and opening a file. (Refer to the Section General Hardware Requirements for more detail.)The Windows operating system can store large data structures within the 32-bit address space even when the physical memory at the Windows work station is smaller than the memory required. Windows does this by paging data segments between the physical memory and the SWAP file on the hard disk. This paging process is lengthy and extends the SWAP file. Therefore it is best that enough physical memory be provided to prevent Windows from paging (a minimum of 300 MB, 400 MB is recommended). If this is not possible you can reduce the requirement for physical memory by adjusting the File Dimensions defined in the PMSTYF99.DAT file in accordance with those you estimate are required by your company.
How to Define Data File Information (PMSTYF99 File)
The PMSTYF99.DAT file is used to define various types of information related to data files. A set of information exists for each data file. This sample shows the information on the order file:
******************************************************************************
* FILE DEFINITION AND CONTROL FILE
* GENERAL DEFINITIONS
******************************************************************************
NUMBERS OF REGISTRE: 23 VERSION 01
MAXIMUM NUMBER OF INDEX PER FILE: 05
******************************************************************************
* FILE DEFINITIONS
* DAY-PTC FILE, COMMON CDPREG, ROUTINE READDP
******************************************************************************
FILENUMBER: 01
FILENAME : DPRE
DESCRIPTION: Shift model days
FILE NUMBER FOR DATABASE-FILE: 26
MAXIMUM NUMBER OF RECORDS IN DATABASE-FILE : 00200
LOGICAL RECORDLENGTH (0=ONLY ONE LOGICAL RECORD) : 0
BUFFERHANDLING (I=IMEDIATE WRITE,W=WAIT FOR NEW RECORD/BUFFER FULL) I
FILE NUMBER FOR DATA-INPUT-FILE: 27
NUMBER OF INDEX: 01
FILENUMBER FOR INDEX-FILES: 28
GROWTH PERCENTAGE PER INDEX: 000
MAXIMUM SIZE OF INDEX: 00200
SELECTION CRITERIAS USED WHEN GENERATING INDEX : N
INDEX1: $197-4/*101
The definition of data file information takes place in these general steps:
- Defining the Index Size
- Number of Registers
- Maximum Number of Index per File
- Identification Number File
- Descriptive File Name
- File Number for Database File
- Maximum Number of Records in the Database File
- Logical Record Length
- The Way Buffers are Used
- File Number for Data Input File
- The Use of Index
- Selection Criteria Used when Generating Index
Defining the Index Size
If the maximum index size is set to 50000 and the growth percentage per index is set to zero, Infor M3 SWB will allocate enough memory for 5000 indexes even if the real size of the index is 2000.
If you define the growth percentage per index at 50 and the actual index size is 2000, Infor M3 SWB will allocate memory for 3000 indexes (2000 + (2000 * 50 / 100)).
You must use this method to define the index size if the size is stable.
Three types of indexes are defined in the example below. They are:
- Index 1. The index will be accessed through item and order number.
- Index 2. The index will be accessed through the peg ID, peg suffix, item number and order number.
- Index 3. The index will be accessed through the shop order number. Only records with shop order number that are filled in are included in the index.
Refer to the field ID to understand special characters, such as the dollar sign that is used in the index definition.
How to Define Index 1 (selective index):
INDEX1: $113-25/~8 | | | | | | | `- INTEGER* 4 offset 8 (Order No.) | | | | | `- Length 25 characters | | | `- Delimiter identifies length part 25 (Length of Item number) | `- Character offset 113 (Item number) CRITERIA: $5,O | | | `- O Record must contain this character | `- Criteria position.
A record must contain the letter O in the 5th character position to be included in the index.
How to Define Index 3 (compound index):
INDEX3: $163-10 | | | | | `- Length 10 characters | | | `- Delimiter identifies length part 10 (Length of shop order no.) | `- Character offset 163 (shop order no.) Selection part (must be fulfilled) CRITERIA1:$5,O | | | `- O Record must contain this character | `- Criteria position. Compound part (must NOT be fulfilled) CRITERIA2: $163-10, | | | | | | | `- Record must not contain this value | | | | | `- Length 10 characters | | | `- Delimiter identifies length part 10 (Length of shop order no.) | `- Character offset 163 (shop order no.)
Only the records that fulfill CRITERIA1 and not CRITERIA2 are included in the index.
Number of Registers
The numbers of registers can be altered in the PMSTYF99.DAT text editor file. Changes to this field can cause significant errors.
Maximum Number of Index per File
Defines the maximum number of indexes that can be used for a data file. Changing this field can cause errors.
File Identification Number
The internal identification of the file that is used by Infor M3 SWB. Changing this field can cause errors.
Descriptive File Name
You can specify a descriptive file name. Though the descriptive file name is used for information purposes only, Infor M3 SWB will at times use it to help to identify a file.
File Number for Database File
The file number that is used by Infor M3 SWB to identify the data part of the file.
Maximum Number of Records in Database File
This is the maximum number of records allowed in a particular database file.
Logical Record Length
The logical record length is defined when one physical record contains several logical records. In this case, Infor M3 SWB splits the physical record into logical records. If the logical record length is zero than the logical and the physical record lengths are equal.
The Way Buffers are Used
Buffers are used when a physical record contains several logical records. Use this parameter to control how Infor M3 SWB handles the buffers. These entries are allowed:
Value | Description |
---|---|
I | The buffer is written immediately to a disk. Each update of a logical record forces the complete buffer (physical record) to be written to a disk. |
W | The buffer is only written to a disk when it is full or when Infor M3 SWB needs the buffer for another physical record. |
File Number for Data Input File
This is the file number that is used for identifying an external data input file. The physical properties of this file are defined in PMINIT__.DAT.
The Use of Indexes
- Number of Index
- This is the number of indexes defined for the file.
- File Number for Index Files
- This is the file number that is used to identify the indexes in a file. The files physical properties are defined in the PMINIT__.DAT file.
- Growth Percentage per Index
- When a file is opened, the necessary indexes are read into memory. The size of the index can be the maximum size defined in the field Maximum Size of Index (NAME) or it can be set to the actual size of the file, plus an additional percentage of the actual size. A value of zero means that the Maximum Size of the Index is used to allocate the memory requirement to the index.
- Maximum Size of Index
- The maximum size allowed for an index. It is used to limit the amount of memory an index can occupy.
Selection Criteria used when Generating Index
This parameter defines whether to generate an index. And, if it is generated it defines how the selection criteria should be used.
Value | Description |
---|---|
N | No selection criteria are active for this index. This means that all records will be present in the index. |
Y | A selection
criterion is active. Only records in the file that fulfill these criteria are
inserted in the index.
Note: these are only found when using the index.
|
C | Two selection criteria must be met. The first criterion has been met, but the second has not. |
How to Define the System Initialization File PMINIT.DAT
The name, version, location and properties of all data and panel files are defined by specific values in the PMINIT__.DAT file.
Though these values can be altered as required, the overall layout of the PMINIT__.DAT file is fixed and should only be changed by a systems consultant or technically responsible individual.
This list of topics is included in this section:
- General Settings
- File Settings
- Module Settings
General Settings
These settings are in effect in the application:
************************************************************
* PMINIT__.DAT CONTAINS THE FOLLOWING:
* - GENERAL SETTINGS.
* - DEFINITIONS OF ALL FILES IN M3 APP
* - DEFINITIONS OF ALL MODULES IN M3 APP
************************************************************
*
* CLIENT SPECIFIC SETTING :
* ---------------------
*
* FIRST LETTERS (2 CH): PM
* NAME (16 CH) : MOVEX Movex APP 11.01
* READ/WRITE PERMISION: 1 (0=READ ONLY, 1=READ/WRITE)
* DATE-FORMAT : 0 (0=Parameter table, 1=ISO, 2=NORDIC, 3=US)
File Settings
The file settings refer to files:
* FILE DESCRIPTION NO ENVV NAME TYPE LNGT. VERSION
* ---------------- ---- ---- ---- ---- ----- -------
| | | | | | - Version
| | | | | |
| | | | | - Record length
| | | | |
| | | | - File type
| | | |
| | | - File name
| | |
| | - Environment variable for path
| |
| - File number
|
- Description
Module Settings
The module settings refer to modules:
* MODULES DEFINED :
* ---------------------
*
* NO NAME ENVV MENUTEXT
* -- ---- ---- --------------------------------
| | | - Description
| | |
| | - Environment variable for path for panel definitions
| |
| - Module name
|
- Module number
First Letters
First letters refer to the first 2 characters in the panel, the control and data file names.
Name
Defines the title of the application.
Read/Write Permission
This parameter defines the extent to which a user can access or alter data files online. They are as follows:
Value | Description |
---|---|
0 | The user has read-only access to data files. That is, the user has access to all functions but cannot alter or update them. |
1 | The user has both read and write access to data files. All functions can be used and all data can be altered or updated. |
Date Format
Date format defines the way in which date and time information is presented in the panel and spool files. This setting has no influence on the format and transfer of data into Infor M3 SWB.
Value | Description |
---|---|
0 | The date format is controlled by a parameter in Infor M3 SWB. |
1 | ISO format YYYYMMDD (for example, 19981224). |
2 | NORDIC format DDMMYYYY (for example, 24121998). |
3 | US format MMDDYYYY (for example, 12241998). |
Versions
Infor M3 SWB can handle up to 99 schedule versions of each data file.
A non-zero value in this field means that the file is associated with a defined version. In this case, Infor M3 SWB will not automatically assign the lowest version number to this file.
Record Length
Used only for direct access files (File type 1).
The value is given in half word units (2 bytes). This field should not be changed.
File Type
Identifies the type of file:
Value | Description |
---|---|
0 | The file is a sequential access file. |
1 | The file is a direct access file. |
File Name
To build the file name use First Letters (the first 4 characters of the name of the file), the field entry, the version number and finally the extension - DAT.
Example: The path and the name of the log file is:
\MVXMovex APP11_2\SAMPLE\PMLOGS99.DAT
| | | | - Extension DAT for all data and control files
| | | |
| | | - 99 Version number (in this example a fixed version 99)
| | |
| | - LOGS Name from file name in PMINIT_.DAT file.
| |
| - PM FIRST LETTERS defined at the top of the PMINIT__.DAT
|
- Path defined through environment variable DATA
Environment Variable for Path to Panel Definitions
A 4-character environment variable can be defined in the Startup Command File and used to specify the path for locating a file.
If these fields in the Startup Command File are left blank, Infor M3 SWB will assume that the location of the file is located in the current directory and will choose the same path as that defined at the start of the application.
File Number
This is the number that identifies the file. Infor M3 SWB uses file numbers and not names to communicate internally.
File Description
This is the description of the file.
Module Description
This is the description of the module. This text is displayed on the spool display list.
Module Name
Name of the actual module. This name is used for identifying the panel definition file associated with this module.
Example: The name of the panel for daily production time is:
\MVXMovex APP11_2\PANELS\PMDPTC__.SKM
| | | | - Extension SKM for panel definitions files.
| | | |
| | | - Two underscores
| | |
| | - DPTC Name from module name in PMINIT_.DAT file.
| |
| - PM FIRST LETTERS defined at the top of the PMINIT__.DAT
|
- Path defined through environment variable PANE
Module Number
The number Infor M3 SWB uses to identify a module.
Changing the Version Number
If you do not specify the Version Number in the Startup Command File, Infor M3 SWB will start with the version with the lowest number, that is 1.
To start your application with Version 10, for example, insert this line into the Startup Command File:
SET VERS=10 ß Set the startup version to version 10
Creating Backup Files
We recommend that you create a backup file of your client-company database. Nevertheless, because most data in Infor M3 SWB is acquired from the external file source, if no backup is available you can sometimes recover data by re-initiating a complete transfer from the external source.
Create backups in these ways:
- Create a new version in the Infor M3 SWB menu and establish it as your backup. Copy all data files from the original (or current) version to the backup version. This will also be useful if you must return to an earlier version because changes made to the current version have not been successful. A version that is used for backup is not a defense against a system failure or disk crash.
- Copy the entire database to another computer workstation or to a disk, for example by using the Local Area Network (LAN). You must use a zip program to save disk place.