Retrieving AR/CTL job information
AR/CTL
provides the ARCINFO0 application program interface (API) to retrieve job-related information. When
AR/CTL
is present in your environment (IMS or non IMS), you can use the ARCINFO0 API to return
AR/CTL
job information.
To execute the API, add a call to ARCINFO0 in your application program.
The ARCINFO0 API can return the following job information:
- Job name
- Step name
- Procedure step name
- Application program name
- IMS subsystem identifier
- PSB name
- Db2 subsystem name
- Db2 plan name
The table Parameter list and block members for Assembler program lists HLQ.ARCSAMP members that are available for inclusion in your Assembler program Assemble and Link.
Parameter list and block members for Assembler program
Member | Description |
---|---|
$ARCINFL | ARCINFO0 Assembler parameter list |
$ARCINFA | ARCINFO0 Assembler parameter block |
The following figure provides an example of the Assembler calling sequence for program ARCINFO0.
ARCINFO0 Assembler calling sequence
* LOAD ACRINFO0 00050001
* 00070001
MVC INFW_NAME,=CL8'ARCINFO0' * MOVE NAME ENTRY POINT 00140001
LOAD EPLOC=INFW_NAME, * A(NAME ENTRY POINT) X00150001
DCB=0, * A(DCB) X00160001
ERRET=CALE0000, * A(ERROR ROUTINE) X00161001
LSEARCH=NO, * LIMITED SEARCH X00170001
SF=(E, * EXECUTE FROM X00180001
INFW_LOAD) * A(PARAMETER LIST) 00190001
* 00200001
* ZERO ACRINFO0 PARAMETER LIST 00210001
* 00220001
LA R0,$ARCINFL * LOAD A($ARCINFL) 00230001
L R1,=AL4($ARCINFL_LEN) * LOAD LENGTH $ARCINFL 00240001
XR R14,14 * ZERO A(SOURCE) 00250001
XR R15,15 * ZERO LENGTH SOURCE 00251001
ICM R15,B'1000',=XL1'00' * INSERT PAD CHARACTER 00252001
MVCL R0,R14 * ZERO $ARCINFL 00260001
* 00270001
* ZERO ACRINFO0 PARAMETER BLOCK 00280001
* 00290001
LA R0,$ARCINFP * LOAD A($ARCINFP) 00300001
L R1,=AL4($ARCINPL_LEN) * LOAD LENGTH $ARCINFP 00310001
XR R14,14 * ZERO A(SOURCE) 00320001
XR R15,15 * ZERO LENGTH SOURCE 00330001
ICM R15,B'1000',=XL1'00' * INSERT PAD CHARACTER 00340001
MVCL R0,R14 * ZERO $ARCINFP 00350001
* 00360001
* INITIALIZE ARCINFO0 PARAMETER LIST 00370001
* 00380001
L R0,INFW@$ARCINFP * LOAD A($ARCINFP) 00390001
ST R0,INFL@$ARCINFP * STORE A($ARCINFP) 00400001
* 00410001
* INITIALIZE ARCINFO0 PARAMETER BLOCK 00420001
* 00430001
MVC INFP_ID,=CL8'$ARCINFP' * MOVE IDENTIFIER 00440001
* 00450001
* CALL ARCINFO0 00460001
* 00470001
LA R1,$ARCINFL * LOAD A($ARCINFL) 00480001
L R15,INFW@ARCINFO0 * LOAD A(ARCINFO0) 00481001
BASR R14,R15 * CALL ARCINFO0 00490001
The table Parameter block member for COBOL program lists an HLQ.ARCSAMP member that is available for inclusion in your COBOL program.
Parameter block member for COBOL program
Member | Description |
---|---|
ARCINFOC | ARCINFO0 COBOL parameter block |
The following figure provides an example of the COBOL calling sequence for program ARCINFO0.
ARCINFO0 COBOL calling sequence
01 ARCINFO0 PICTURE IS X(8)
VALUE IS 'ARCINFO0'.
COPY ARCINFOC.
PROCEDURE DIVISION.
MOVE '$ARCINFP'
TO INFP-IDENTIFIER.
CALL ARCINFO0
USING ARCINFO0-PARAMETER-BLOCK.
The following figure provides an example of the COBOL parameter block for program ARCINFO0.
ARCINFO0 COBOL parameter block
* * $ARCINFP
* $ARCINFP, ARCINFO0 PARAMETER BLOCK USED TO RETRIEVE AR/CTL * $ARCINFP
* INFORMATION RELATED TO THE CURRENT JOB * $ARCINFP
* * $ARCINFP
* $BMCCHG BPQ9941,MOD ZARC390 IMPLEMENT ARCINFO0 API @1851690 * $ARCINFP
* * $ARCINFP
***************************************************************** $ARCINFP
* $ARCINFP
01 ARCINFO0-PARAMETER-BLOCK. $ARCINFP
* $ARCINFP
* PARAMETER BLOCK IDENTIFIER. VALID VALUE IS $ARCINFP. $ARCINFP
03 INFP-IDENTIFIER PICTURE IS X(8) $ARCINFP
VALUE IS '$ARCINFP'. $ARCINFP
* AR/CTL LEVEL VRMM. $ARCINFP
03 INFP-ARCLEVEL PICTURE IS X(4) $ARCINFP
VALUE IS SPACES. $ARCINFP
* RESERVED AND BINARY ZEROES. $ARCINFP
03 FILLER PICTURE IS X(4) $ARCINFP
VALUE IS LOW-VALUES. $ARCINFP
* SYSTEM IDENTIFIER. $ARCINFP
03 INFP-SYSTEMID PICTURE IS X(4) $ARCINFP
VALUE IS SPACES. $ARCINFP
* JOB IDENTIFIER. $ARCINFP
03 INFP-JOBID PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* USER IDENTIFIER. $ARCINFP
03 INFP-USERID PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* JOB NAME. $ARCINFP
03 INFP-JOBNAME PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* STEP NAME. $ARCINFP
03 INFP-STEPNAME PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* PROCEDURE STEP NAME. $ARCINFP
03 INFP-PROCSTEP PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* APPLICATION PROGRAM NAME. $ARCINFP
03 INFP-PROGRAM PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* IMS SUBSYSTEM IDENTIFIER. $ARCINFP
03 INFP-IMSID PICTURE IS X(4) $ARCINFP
VALUE IS SPACES. $ARCINFP
* AR/CTL IDENTIFIER. $ARCINFP
03 INFP-ARCID REDEFINES INFP_IMSID $ARCINFP
PICTURE IS X(4). $ARCINFP
* IMS PSB NAME. $ARCINFP
03 INFP-PSBNAME PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* AR/CTL ASB NAME. $ARCINFP
03 INFP-ASBNAME REDEFINES INFP-PSBNAME $ARCINFP
PICTURE IS X(8). $ARCINFP
* DB2 SUBSYSTEM NAME. $ARCINFP
03 INFP-DB2SSNM PICTURE IS X(4) $ARCINFP
VALUE IS SPACES. $ARCINFP
* DB2 PLAN NAME. $ARCINFP
03 INFP-PLANNAME PICTURE IS X(8) $ARCINFP
VALUE IS SPACES. $ARCINFP
* RESERVED AND BINARY ZEROES. $ARCINFP
03 FILLER PICTURE IS X(164) $ARCINFP
VALUE IS LOW-VALUES. $ARCINFP