Create Source Physical File (CRTSRCPF)
Where allowed to run: All environments (*ALL)
Threadsafe: ConditionalParameters
Examples
Error messagesThe Create Source Physical File (CRTSRCPF) command creates a source physical file.
A source physical file contains source data needed to create objects such as control language (CL) source statements, which are used to create a CL program, or data description specifications (DDS) which (in turn) are used to create a database or device file.
A source physical file can have one or more members. The maximum number of members that can be added to the file is specified for the Maximum members (MAXMBRS) parameter.
Restrictions:
- This command is conditionally threadsafe. In multithreaded jobs, this command is not threadsafe and fails for Distributed Data Management (DDM) files of type *SNA, when SYSTEM(*RMT) or SYSTEM(*FILETYPE) is specified.
Top
Parameters
Keyword Description Choices Notes FILE File Qualified object name Required, Positional 1 Qualifier 1: File Name Qualifier 2: Library Name, *CURLIB RCDLEN Record length Integer, 92 Optional, Positional 2 MBR Member, if desired Name, *NONE, *FILE Optional, Positional 3 IGCDTA User specified DBCS data *NO, *YES Optional TEXT Text 'description' Character value, *BLANK Optional SYSTEM System *LCL, *RMT, *FILETYPE Optional EXPDATE Expiration date for member Date, *NONE Optional MAXMBRS Maximum members Integer, *NOMAX Optional ACCPTHSIZ Access path size *MAX1TB, *MAX4GB Optional PAGESIZE Access path logical page size *KEYLEN, 8, 16, 32, 64, 128, 256, 512 Optional ACCPTH Access path type *ARRIVAL, *KEYED Optional MAINT Access path maintenance *IMMED, *DLY, *REBLD Optional RECOVER Access path recovery *NO, *AFTIPL, *IPL Optional FRCACCPTH Force keyed access path *NO, *YES Optional SIZE Member size Single values: *NOMAX
Other values: Element listOptional Element 1: Initial number of records 1-2147483646, 10000 Element 2: Increment number of records Integer, 1000 Element 3: Maximum increments Integer, 499 ALLOCATE Allocate storage *NO, *YES Optional CONTIG Contiguous storage *NO, *YES Optional UNIT Preferred storage unit 1-255, *ANY Optional FRCRATIO Records to force a write Integer, *NONE Optional WAITFILE Maximum file wait time Integer, *IMMED, *CLS Optional WAITRCD Maximum record wait time Integer, 60, *IMMED, *NOMAX Optional SHARE Share open data path *NO, *YES Optional DLTPCT Max % deleted records allowed 1-100, *NONE Optional CCSID Coded character set ID Integer, *JOB, *HEX Optional ALWUPD Allow update operation *YES, *NO Optional ALWDLT Allow delete operation *YES, *NO Optional AUT Authority Name, *LIBCRTAUT, *ALL, *CHANGE, *EXCLUDE, *USE Optional
Top
File (FILE)
Specifies the source physical file to be created.
If the file is used in a high-level language program, the file name must be consistent with the naming rules of that language. Otherwise, the file must be renamed in the program.
This is a required parameter.
Qualifier 1: File
- name
- Specify the name of the source physical file.
Qualifier 2: Library
- *CURLIB
- The current library for the job is used to locate the file. If no library is specified as the current library for the job, QGPL is used.
- name
- Specify the library where the file is located.
Top
Record length (RCDLEN)
Specifies the number of bytes in the length of the records stored in the source physical file. The record format contains three fields: the source sequence number, the date, and the source statement.
This parameter must provide 12 positions for the source sequence number and date fields required in each record. These fields are defined with fixed attributes and names, and they have a keyed access path over the sequence number.
- 92
- The record length is 92 bytes. The source sequence number contains 6 bytes, the date contains 6 bytes, and the source statement contains 80 bytes.
- integer
- Specify the record length of each source record in the file. The value must include 6 bytes for the source sequence number and 6 bytes for the date. Valid values range from 13 through 32766 bytes.
Double-Byte Character Set Considerations
If IGCDTA(*YES) is specified, the RCDLEN parameter must provide six positions for the source sequence number, six positions for the date field, and at least four positions for source start. Valid values for a double-byte character set (DBCS) range from 16 through 32766.
Top
Member (MBR)
Specifies the source file member to be added when the file is created.
- *NONE
- No member is added when the file is created.
- *FILE
- The name of the member to be added is the same as the name specified for the File (FILE) parameter.
- name
- Specify the name of the member to be added.
Top
User specified DBCS data (IGCDTA)
Specifies whether the file contains double-byte character set (DBCS) data.
- *NO
- The file does not contain DBCS data.
- *YES
- The file contains DBCS data.
Top
Text 'description' (TEXT)
Specifies the text that briefly describes the object.
- *BLANK
- No text is specified.
- character-value
- Specify no more than 50 characters of text, enclosed in apostrophes.
Top
System (SYSTEM)
Specifies whether the source physical file is created on the local system or the remote system.
- *LCL
- The source physical file is created on the local system. The file specified for the File (FILE) parameter must not already exist on the system.
- *RMT
- The source physical file is created on a remote system. The file specified for the FILE parameter must be the name of a DDM file that identifies the remote system and the name of the source physical file being created.
- *FILETYPE
- If the file specified for the FILE parameter does not exist on the system, the source physical file is created on the local system. Otherwise, the file on the FILE parameter must be a DDM file, and the source physical file is created on a remote system. The DDM file identifies the remote system and the name of the source physical file being created.
Top
Expiration date for member (EXPDATE)
Specifies, if a source file member is added when the source physical file is created, the expiration date of the source file member.
- *NONE
- The member being added to the file has no expiration date.
- date
- Specify the date after which the member being added cannot be used.
Top
Maximum members (MAXMBRS)
Specifies the maximum number of members that the source physical file can contain.
- *NOMAX
- The number of members that can be contained in the file is the system maximum of 32,767 members.
- intefer
- Specify the maximum number of members that can be contained in the file. Valid values range from 1 through 32767 members.
Top
Access path size (ACCPTHSIZ)
Specifies the maximum size of auxiliary storage that can be occupied by access paths that are associated with keyed source physical files. This parameter does not apply to access paths that are created for logical files or for queries that refer to the data in a source physical file.
- *MAX1TB
- The access paths associated with this file can occupy a maximum of one terabyte (1,099,511,627,776 bytes) of auxiliary storage.
- *MAX4GB
- The access paths associated with this file can occupy a maximum of four gigabytes (4,294,966,272 bytes) of auxiliary storage.
Top
Access path logical page size (PAGESIZE)
Specifies the access path logical page size that is used when the access path is created.
The access path logical page size is used by the system to determine the size of each page of the index. This logical page size is the amount of bytes of the access path that can be moved into the job's storage pool from the auxiliary storage for a page fault.
- *KEYLEN
- The access path logical page size will be determined by the total length of the key, or keys.
- 8
- Logical page size of 8k.
- 16
- Logical page size of 16k.
- 32
- Logical page size of 32k.
- 64
- Logical page size of 64k.
- 128
- Logical page size of 128k.
- 256
- Logical page size of 256k.
- 512
- Logical page size of 512k.
Top
Access path type (ACCPTH)
Specifies the type of access path used by all the members in the source physical file.
- *ARRIVAL
- The access path is an arrival sequence access path.
- *KEYED
- The access path is a keyed sequence access path.
Top
Access path maintenance (MAINT)
Specifies the type of access path maintenance used for all members of the source physical file.
- *IMMED
- The access path is updated each time a record is changed, added, or deleted from a member.
- *REBLD
- The access path is completely rebuilt each time a file member is opened. The access path is maintained until the member is closed. Then the access path is deleted.
- *DLY
- The maintenance of the access path is delayed until the physical file member is opened for use. The access path is changed only for records that have been added, deleted, or changed since the file was last opened. While the file is open, all changes made to its members are immediately reflected in the access path of those members, no matter what is specified for the MAINT parameter. To prevent a lengthy rebuild time when the file is opened, *DLY should be specified only when the number of changes to the access path is small.
If the number of changes between a close and the next open reaches approximately 10 percent of the access path size, the system stops saving changes and the access path is completely rebuilt the next time the file is opened.
Top
Access path recovery (RECOVER)
Specifies, for files having immediate or delayed maintenance on their access paths, when recovery processing of the file is performed after a system failure occurs while the access path is being changed. This parameter is valid only for files with a keyed access path.
If *IMMED or *DLY is specified for the Access path maintenance (MAINT) parameter, the access path can be rebuilt during initial program load (IPL) (before any user can run a job), after IPL has ended (during concurrent job running), or when the file is next opened. While the access path is being rebuilt, the file cannot be used by any job.
During the IPL, an Override Access Path Recovery display lists those paths that must be recovered and what the RECOVER parameter value is for each path. The user can override the RECOVER parameter value on this display. More information is in the Backup and Recovery book, SC41-5304.
If *REBLD is specified for the MAINT parameter, the access path is rebuilt the next time its file is opened.
- *NO
- The access path of the file is rebuilt when the file is opened. *NO is the default for all files that do not require unique keys.
- *AFTIPL
- The access path of the file is rebuilt after the initial program load (IPL) operation is completed. This option allows other jobs not using this file to start processing immediately after the completion of IPL. If a job tries to allocate the file while its access path is being rebuilt, a file open exception occurs. *AFTIPL is the default for files that require unique keys.
- *IPL
- The access path of the file is rebuilt during the IPL operation. This ensures that the file's access path is rebuilt before the first user program tries to use it; however, no jobs can start running until after all files that specify RECOVER(*IPL) have their access paths rebuilt.
Top
Force keyed access path (FRCACCPTH)
Specifies whether access path changes are forced to auxiliary storage along with the associated records in the source physical file.
- *NO
- The access path and the associated records are not written to auxiliary storage whenever the access path is changed.
- *YES
- The access path and the associated records are written to auxiliary storage whenever the access path is changed. *YES cannot be specified if *REBLD is specified for the Access path maintenance (MAINT) parameter.
Top
Member size (SIZE)
Specifies the initial number of records in each member of the file, the number of records in each part added to the member size, and the number of times the part added is automatically applied. The number of records for each file member is specified as the number of records that can be placed in it (this number includes any deleted records).
When the maximum number of records has been reached, a message (stating that the member is full) is sent to the system operator, giving the choice of ending the request or extending the member size. The operator can extend the member by 10% or by the number of records specified as the increment value, whichever is greater, each time the message is received.
Single values
- *NOMAX
- The number of records that can be added to each member of the file is not limited by the user. The maximum size of each member is determined by the system. If *NOMAX is specified, *NO must be specified for the Allocate storage (ALLOCATE) parameter.
Element 1: Initial number of records
Specify the initial number of records in each member.
- 10000
- Initially, up to 10000 records can be written to each member of the file.
- 1-2147483646
- Specify the number of records that can be written to each member of the file before the member size is automatically extended.
Element 2: Increment number of records
Specify the number of records that are automatically added to the member when the number of records in the member is greater than the initial member size. The minimum size of an increment is 10% of the size of the member at the time the maximum number of records is reached.
- 1000
- The file size is increased by 10% or 1000 records, whichever is greater.
- integer
- Specify the number of additional records which, if greater than 10% of the size of the member when the maximum number of records is reached, are automatically added to the member.
If the number specified is not greater than 10% of the member size and not equal to zero, the member size is increased by 10%.
If 0 is the specified increment value, the member is not automatically extended. This value must be 0 if the value for the number of increments is 0.
Element 3: Maximum increments
Specify the maximum number of increments that can be automatically added to the member.
- 499
- A maximum of 499 increments is automatically added to the member size.
- integer
- Specify the maximum number of increments automatically added to the member size. Valid values range from 0 through 32767. If 0 is specified, the member is not automatically extended.
Top
Allocate storage (ALLOCATE)
Specifies whether initial storage space is allocated to each physical file member added to the file. The allocation provides enough space to hold the number of records specified for the Member size (SIZE) parameter. Allocations that occur when a record cannot be added to a member without exceeding its capacity are determined by the system and by the SIZE parameter values.
- *NO
- The system determines the amount of storage space to allocate to each member added to the file.
- *YES
- The amount of storage space specified in the first value of the SIZE parameter is allocated each time a new member is added. If *YES is specified, *NOMAX must not be specified for the SIZE parameter.
Top
Top
Preferred storage unit (UNIT)
This parameter is no longer supported. It exists solely for compatibility with releases earlier than Version 3 Release 6 Modification 0 of the OS/400 operating system. For information on using auxiliary storage pools (ASPs), refer to the Backup and Recovery book, SC41-5304.
You can specify the value *ANY or a value ranging from 1 through 255 on this parameter.
Top
Records to force a write (FRCRATIO)
Specifies the number of inserted or updated records that are processed before the records are forced into auxiliary storage.
The force write ratio specified for a logical file cannot be less than or equal to the smallest force write ratio of its based-on files. If a larger force write ratio is specified, it is ignored and a message is sent informing the user of the action.
For example, if the force ratios of three physical files are 2, 6, and 8, the logical file force ratio that is based on these three physical files must be as restrictive as the least of them; that is 2 in this case. Two would be used even if the FRCRATIO parameter is not specified. Thus, each time a program inserts, updates, or deletes two records in the logical file (regardless of which based-on physical files are affected), those records are forced to permanent storage.
If a physical file associated with this logical file is being journaled, a large force write ratio or *NONE is specified. More information on journal management is in the Backup and Recovery book, SC41-5304.
- *NONE
- There is no specified force ratio. The system determines when the records are written to auxiliary storage.
- integer
- Specify the number of inserted or updated records that are processed before the records are written to auxiliary storage.
Top
Maximum file wait time (WAITFILE)
Specifies the number of seconds that the program waits for the file resources to be allocated when the file is opened, or the device or session resources to be allocated when an acquire operation is performed to the file. If the file resources cannot be allocated in the specified wait time, an error message is sent to the program.
- *IMMED
- The program does not wait. Immediate allocation of file resources is required.
- *CLS
- The job default wait time is used as the wait time for the file resources to be allocated.
- 1-32767
- Specify the number of seconds to wait for file resources to be allocated.
Top
Maximum record wait time (WAITRCD)
Specifies the number of seconds that the program waits for a record being changed or deleted. If the record cannot be allocated within the specified wait time, an error message is sent to the program.
- 60
- The program waits for 60 seconds for a record being changed or deleted.
- *IMMED
- The program does not wait. Immediate allocation of file resources is required.
- *NOMAX
- The wait time is the maximum allowed by the system, which is 32767 seconds.
- integer
- Specify the number of seconds that the program waits for a record being changed or deleted. Valid values range from 1 through 32767 seconds.
Top
Share open data path (SHARE)
Specifies whether the open data path (ODP) is shared with other programs in the same routing step. When an ODP is shared, the programs accessing the file share facilities such as the file status and the buffer.
This parameter cannot be specified when *NONE is specified for the Member (MBR) parameter.
- *NO
- The ODP is not shared with other programs in the routing step. A new ODP for the file is created and used every time a program opens the file.
- *YES
- The same ODP is shared with each program in the job that also specifies *YES when it opens the file.
Top
Max % deleted records allowed (DLTPCT)
Specifies the maximum percentage of deleted records for each member in the source physical file. The percentage check is made when the member is closed. If the percentage of deleted records is greater than the value specified on this parameter, a message is sent to the job log.
- *NONE
- The percentage of deleted records in the file members is not checked.
- 1-100
- Specify the largest allowed percentage of deleted records for any member in the file.
Top
Coded character set ID (CCSID)
Specifies the coded character set identifier (CCSID) used to describe character data in the fields of the source file.
- *JOB
- The current job's default CCSID is used.
- *HEX
- The CCSID 65535 is used, which indicates that character data in the fields is treated as bit data and is not converted.
- integer
- Specify the CCSID to be used.
Top
Allow update operation (ALWUPD)
Specifies whether records in this source physical file can be updated.
- *YES
- Records in this source file can be updated.
- *NO
- Records in this source file cannot be updated.
Top
Allow delete operation (ALWDLT)
Specifies whether records in this source physical file can be deleted.
- *YES
- Records in this source file can be deleted.
- *NO
- Records in this source file cannot be deleted.
Top
Authority (AUT)
Specifies the authority you are giving to users who do not have specific authority for the object, who are not on an authorization list, and whose group profile or supplemental group profiles do not have specific authority for the object.
- *LIBCRTAUT
- The system determines the authority for the object by using the value specified for the Create authority (CRTAUT) parameter on the Create Library command (CRTLIB) for the library containing the object to be created. If the value specified for the CRTAUT parameter is changed, the new value will not affect any existing objects.
- *CHANGE
- The user can perform all operations on the object except those limited to the owner or controlled by object existence (*OBJEXIST) and object management (*OBJMGT) authorities. The user can change and perform basic functions on the object. *CHANGE authority provides object operational (*OBJOPR) authority and all data authority. If the object is an authorization list, the user cannot add, change, or remove users.
- *ALL
- The user can perform all operations except those limited to the owner or controlled by authorization list management (*AUTLMGT) authority. The user can control the object's existence, specify the security for the object, change the object, and perform basic functions on the object. The user also can change ownership of the object.
- *USE
- The user can perform basic operations on the object, such as running a program or reading a file. The user cannot change the object. Use (*USE) authority provides object operational (*OBJOPR), read (*READ), and execute (*EXECUTE) authorities.
- *EXCLUDE
- The user cannot access the object.
- name
- Specify the name of an authorization list to be used for authority to the object. Users included in the authorization list are granted authority to the object as specified in the list. The authorization list must exist when the object is created.
Top
Examples
Example 1: Creating a File Without Members
CRTSRCPF FILE(SRCLIB/PAYTXS)This command creates a source file named PAYTXS in the SRCLIB library. The file is created without any members; therefore, no data can be put into the file until a member is added later. As many as 32,767 members (*NOMAX) can be added to the file.
Each member can have up to 10000 records before automatic extensions (499 increments maximum) occur that add 1000 records to the capacity of the member. Only minimum initial storage is allocated for each member with no restrictions on whether the space is connected. The public has object operational, read, add, delete, and update authority for the file, but no object management or object existence authority.
Example 2: Creating a File With a Member
CRTSRCPF FILE(ORDERCTL/ORDERS) MBR(*FILE) SIZE(100 50 5)This command creates a source physical file named ORDERS in the ORDERCTL library. Storage space for the records placed in the file need not be contiguous. The initial allocation of storage provides for up to 100 records, and up to five increments of additional space for 50 records each can be added automatically. These allocation values also apply to members of this source file that will be added later.
Example 3: Creating a File that Contains DBCS Data
CRTSRCPF FILE(IGCLIB/IGCSRC) IGCDTA(*YES)This command creates a source physical file named IGCSRC, which is stored in the library IGCLIB, and can contain DBCS data.
Top
Error messages
*ESCAPE Messages
- CPF323C
- QRECOVERY library could not be allocated.
- CPF5702
- File either not DDM file or not found.
- CPF7302
- File &1 not created in library &2.
Top