Is it possible to syntax check CA APAS control cards before to using them in the CA APAS control card input stream, DBGIN, in an ADABAS MPM session?

Document ID : KB000053429
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

The document explains how to use the CA APAS batch utility program APASENSU to check CA APAS control cards prior to using them in DBGIN thus avoiding possible aborted MPM sessions, or possibly not having all required CA APAS requests started with the MPM, or potentially not computing some data values correctly such as EST-CPU-TIME.

Solution:

APASENSU allows all the CA APAS control statements and requests to be syntax checked including the presence of all the DD statements referenced to be verified. Neither ADABAS itself nor the ADABAS Command Logs are accessed during a syntax check execution.

Use the following steps to modify the APASENSU batch utility JCL, member JCLAPASB in the CA APAS SOURCE library, to perform syntax checking:

  1. Use the AIEDIT macro to change the values of the environment variables in the JCLAPASB member.

  2. For syntax checking the DD statement for DDCLOG must be changed from the actual ADABAS Command Log data set to DUMMY.

  3. Add the appropriate DD statements for the PRINT-TO and/or OUTPUT-FILE ddnames specified in the CA APAS requests being syntax checked.

  4. The control cards to be checked are included as part of the DBGIN DD statement either as inline statements or as DD statements referencing a data set or a member in a PDS.

  5. Submit the JCLAPASB member.

  6. Check the output for messages indicating successful syntax processing of control cards and request statements:

    • DBG00002I date time SYNTAX PROCESSING SUCCESSFULLY COMPLETED

  • If any errors were detected, the APASENSU job ends with a Condition Code of 12, the statements in error are flagged, and the execution terminates with a DBG99001E message:

    • DBG99001E date time ERROR DETECTED IN CA APAS COMMAND STREAM, PROCESSING TERMINATED

JCL example:

//APASENSU EXEC PGM=APASENSU
//STEPLIB DD DSN=HLQ.MLQ.APASRVVV.LOAD,DISP=SHR
//DDCLOG DD DUMMY <=== FOR SYNTAX CHECKING
//DBGPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
//* OUTPUT FOR EXTRACT REQUESTS IN APSDFLT1
//*
//SIGRESP DD SYSOUT=*,DCB=BLKSIZE=147
//EXTLONG DD SYSOUT=*,DCB=BLKSIZE=147
//*
//* OUTPUT FOR ALL SUMMARY REQUESTS GOES TO GENSUM
//*
//GENSUM DD SYSOUT=*,DCB=BLKSIZE=147
//*
//* OUTPUT FOR SUMMDEPT
//*
//SUMMDEPT DD DSN=HLQ.MLQ.SUMMDEPT,DISP=......
//*
//DBGIN DD *
GLOBALS CPU-ID=CPUID          /* CPU IDENTIFIER
      CIPS=15000000           /* EQUALS 15.0 MIPS ON 3090/200
      CPU-FACTOR=1.00         /* USED FOR ESTIMATING CPU TIME
      PAGESIZE=60             /* REPORT ROW HEIGHT
      LINESIZE=132            /* REPORT COLUMN WIDTH
      DBNAME=ADANAME          /* BATCH ONLY - MPM NAME
      DBID=ADADBID            /* BATCH ONLY - MPM NUMBER
;
//    DD DSN=HLQ.MLQ.APASRVVV.SOURCE(APSDFLT1),DISP=SHR
//    DD DSN=HLQ.MLQ.APASRVVV.SOURCE(APSDFLT2),DISP=SHR
*
 DECLARE DEPT(A4 HD = 'DEPT')
   REDEFINES JOBNAME (4,1);
*
SUMMDEPT: SUMMARIZE (SUBTOT=OFF)
      COUNT (PF=NC8)
      SUM(TOTAL-IO) (PF=NC8)
      MAX(HOLD-COUNT) (PF=NC5)
      BY DEPT
      BY USER-ID
      INTERVAL 24 HOURS
      OUTPUT-FILE=SUMMDEPT
;
/*
//