Load API JCL requirements

To use the Load API, code the EXEC statement and DD statements that satisfy the Load API JCL requirements.

Subsections:

EXEC statement and DD statements

JCL requirements for running the Load API are shown in the following table.

Table 1. DD Statement for the Load API processing of IMS HP Load
DDNAME Use Format Need
STEPLIB Input   Required
IMS Input   Required
DFSRESLB Input   Optional
DFSVSAMP Input   Optional
FRRIN Input LRECL=80 Required
SYSPRINT Output LRECL=81 Required
SYSOUT Output LRECL=121 Optional
HPSRTRAC Output LRECL=133 Optional
SORTWKnn work data set   Optional See Note
Note: You can specify this data set and adjust the size of work space for the sort process when the SORT=Y control statement is specified.
EXEC
Must be specified in the following format: Start of change
PGM=HPSRRC00,PARM='DLI,loadpgm,loadpsb'
End of change Where,
loadpgm
The name of the application.
loadpsb
The name of the PSB.

Start of changeYou can specify program DFSRRC00 if you do not use functions that require authorization for the STEPLIB DD, such as HPIO or COMPAUTH. End of change

STEPLIB DD
To use the Load API, the names of the libraries that contain the load module of IMS HP Load, IMS, and the application must be specified. The name of the library that contains the load module of IMS HP Load must be specified above that of IMS.

Start of changeIf you specify HPIO=YES or COMPAUTH=YES, the load module libraries that are specified on the STEPLIB DD must be APF-authorized.End of change

IMS DD
To use the Load API, the name of the libraries of DBD and PSB that contains DBD and PSB must be specified.
DFSRESLB
Points to an authorized library that contains the IMS SVC modules. For an IMS HP Load job, IMSESA.RESLIB and any data set that is concatenated to it on the DFSRESLB DD statement must be authorized through the Authorized Program Facility (APF). If you do not specify IMSESA.RESLIB in the STEPLIB DD statement or a library that is concatenated to the STEPLIB DD statement is not APF-authorized, the DFSRESLB DD statement is needed.

For more information, see IMS System Definition.

DFSVSAMP
Describes the data set that contains the buffer pool information that is required by the IMS DL/I buffer handler. This statement is optional. For more information about the control statement format, see IMS Database Administration.
Note: When the DFSVSAMP DD card is omitted, the DL/I Buffer Pool is not allocated. It is necessary in the case of the HALDB initial load.
SYSPRINT DD
Defines the statistics output data set. This statement is required.
SYSOUT DD
Defines the data set for the output message of sort function. If the DD statement is not coded, it is dynamically allocated to the SYSOUT stream of the output class that is specified by the MSGCLASS parameter on the JOB statement. This statement is optional.
FRRIN DD
Defines a required data set that contains control statements that specify the functions of IMS HP Load. To use the Load API, one of the following control statements is required:
  • LAPIPCB=
  • LAPIPCBNO=
  • LAPIPDBD=

Control statements USERHDER=, USERHDERX=, and SEQERROR= are ignored in the Load API processing.

HPSRTRAC DD
Defines an optional output data set to which trace data is written. This data set contains 133-bytes fixed-length records.
For details, see TRACE control statement.
SORTWKnn DD
These DD statements are for the intermediate storage data sets used by DFSORT. If SORT=YES is specified, you can define these data sets and adjust the size of work space that is used for the sort process. You can specify multiple data sets for it, nn showing its serial number. This specification is optional. If you do not specify the statement, DFSORT allocates the data set dynamically with the sizes that are estimated based on the size of RAA. If the size of RAA is extremely large or extremely small, specify the SORTWKnn DD explicitly.

For more information about how to code SORTWKnn DD statements, see the DFSORT Application Programming Guide.

JCL example

The following figure shows a JCL example for the Load API.

Figure 1. JCL example to use the Load API
//LOADAPI  EXEC PGM=DFSRRC00,PARM='DLI,loadpgm,loadpsb,REGION=4096K
//STEPLIB  DD DISP=SHR,DSN=HPS.SHPSLMD0
//         DD DISP=SHR,DSN=IMS.SDFSRESL
//         DD DISP=SHR,DSN=HPS.APPLLIB
//DFSRESLB DD DISP=SHR,DSN=IMS.SDFSRESL
//IMS      DD DISP=SHR,DSN=PSBLIB
//         DD DISP=SHR,DSN=DBDLIB
//PROCLIB  DD DSN=PROCLIB,DISP=SHR
//IEFRDER  DD DSN=&&IMSLOG,DISP=(,DELETE,DELETE),
//             UNIT=SYSDA,SPACE=(TRK,(1,1)),
//             DCB=(RECFM=VB,BLKSIZE=4096,
//             LRECL=4092,BUFNO=2)
//SYSUDUMP DD DUMMY
//IMSMON   DD DUMMY
//SYSPRINT DD SYSOUT=*
//FRRIN    DD  *
  LAPIPCB=TGTPCB
  SORT=YES
/*