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

*                                                                       00030001
* 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

WORKING-STORAGE SECTION.    
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
      *  $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

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*