Previous Topic

Next Topic

Book Contents

Book Index

Sample Usage

**********************************************************************  00000100

*                                                                    *  00000200

*                                                                    *  00000300

*                            CTTAPIEX                                *  00000400

*                                                                    *  00000500

*                                                                    *  00000600

*   FUNCTION: SAMPLE PROGRAM TO DEMONSTRATE ACCESS TO THE Control-T  *  00000700

*             MEDIA DATA BASE (MDB) USING THE CTT API.               *  00000800

*                                                                    *  00000900

*   OUTPUT:   THE SAMPLE PRODUCES A REPORT OF ALL THE ACTIVE VOLUMES *  00001000

*             AND ITS DATASETS. THE DATASETS ORDER IN THE REPORT IS  *  00001100

*             ACCORDING TO THE DATASETS LABEL IN THE CHAIN.          *  00001200

*                                                                    *  00001300

*   LOGIC:    AT FIRST, THE PROGRAM STARTS THE API. THEN IT PERFORMS *  00001400

*             QUERY ON THE DATABASE AND RECEIVES THE FIRST RECORD.   *  00001500

*             AFTERWARD IT PERFORMS QUERYNXT FOR EACH RECORD UNTIL   *  00001600

*             IT RECEIVES RC=4. AT THE END, THE PROGRAM CLOSES THE   *  00001700

*             API.                                                   *  00001800

*                                                                    *  00001900

*   TO COMPILE, LINK AND RUN THE PROGRAM:                            *  00002000

*                                                                    *  00002100

*   //CTTAPIEX JOB ...                                               *  00002200

*   //ASM     EXEC CTTASM                                            *  00002500

*   //C.SYSIN   DD DISP=SHR,DSN=IOA.SAMPLE(CTTAPIEX)<<<----- CHANGE  *  00002600

*   //L.AIOALOAD DD  DISP=SHR,DSN=IOA.AIOALOAD      <<<----- CHANGE  *  00002700

*   //L.SYSLMOD  DD  DISP=SHR,DSN=YOUR.LOAD.LIBRARY <<<----- CHANGE  *  00002800

*   //L.SYSIN   DD *                                                 *  00002900

*     MODE RMODE(24),AMODE(31)                                       *  00003000

*     ENTRY CTTAPIEX                                                 *  00003100

*     NAME CTTAPIEX(R)                                               *  00003200

*   //*                                                              *  00003300

*   //RUN EXEC PGM=CTTAPIEX,COND=(0,NE),REGION=60M                   *  00003400

*   //STEPLIB  DD DISP=SHR,DSN=YOUR.LOAD.LIBRARY    <<<----- CHANGE  *  00003500

*   //         DD DISP=SHR,DSN=IOA.LOAD             <<<----- CHANGE  *  00003600

*   //DAALOCIN DD DISP=SHR,DSN=IOA.PARM(ALCCTT)     <<<----- CHANGE  *  00003700

*   //DARPTOUT DD SYSOUT=*                                           *  00004200

*   //                                                               *  00004400

*                                                                    *  00004500

**********************************************************************  00004600

*------------------------V.9.0.00------------------------------------*  00004700

* WT0761 18.08.02 CTT API                                        -YM-*  00004800

**********************************************************************  00004900

         MACRO                                                          00005000

&NAME    MYPUT &DCB,&REC                                                00005100

&NAME    LA    R15,*+6               ADDRESS FOLLOWING BASSM            00005200

         BASSM R14,R15               CHANGE AMODE                       00005300

         PUT   &DCB,&REC             PUT THE DESIRED RECORD             00005400

         LA    R15,*+10              ENDING ADDRESS                     00005500

         O     R15,=X'80000000'                                         00005600

         BSM   0,R15                                                    00005700

         MEND                                                           00005800

         CTTIAPI               INPUT DSECT PARAMETERS                   00005900

         CTTOAPI               OUTPUT DSECT PARAMETERS                  00006000

CTTAPIEX CSECT                                                          00006100

CTTAPIEX AMODE 31                                                       00006200

CTTAPIEX RMODE 24                                                       00006300

         BEGIN EQUR=YES                                                 00006400

         OPEN  (RPTOUT,OUTPUT)     OPEN VOLUME REPORT OUTPUT FILE       00006600

         LTR   R15,R15             SUCCESSFUL ?                         00006700

         BNZ   OUTERROR            NO - TERMINATE                       00006800

         MYPUT RPTOUT,HEADER1      PRINT REPORT HEADER                  00006900

         MYPUT RPTOUT,HEADER2      PRINT REPORT HEADER                  00007000

*                                                                       00007100

* START THE API ENVIRONMENT.                                            00007200

* THE RELEVANT PARAMETERS FOR START ARE AS THE FOLLOWING:               00007300

* 1) FUNCTION START                                                     00007400

* 2) RC WHICH IS ALSO PROVIDED IN R15                                   00007500

* 3) REASON                                                             00007600

* 4) UTILITY RC WHICH CONTAINS THE RC THAT RETURNED FROM THE            00007700

*    THE CALLED PROGRAM.                                                00007800

* 5) REALENV=(Y/N) - SPECIFY IF API WILL USE THE Control-T              00007900

*    REAL ENVIRONMENT INSTEAD OF OPENING THE MEDIA DATABASE FILES.      00008000

*    DEFAULT: N - ALLOCATE AND OPEN THE MEDIA DATABASE FILES.           00008100

*                                                                       00009400

         CTTAPI START,RC=RC,REASON=REASON,MF=(E,APILIST)                00009500

         LTR   R15,R15        WAS START SUCCESSFUL?                     00009700

         BZ    DOQUERY                                                  00009800

         B     RETURN                                                   00009900

*                                                                       00010000

* PERFORM QUERY REQUEST.                                                00010100

* THE RELEVANT PARAMETERS ARE AS THE FOLLOWING:                         00010200

* 1) FUNCTION=QUERY                                                     00010300

* 2) RC IF REQUIRED. IT IS ALSO RETURN IN R15.                          00010400

* 3) REASON                                                             00010500

* 4) URC - UTILITY RC FROM CALLED PROGRAM.                              00010600

* 5) REPLY - REPLY BUFFER ADDRESS IN CTTOAPI FORMAT.                    00010700

* 6) PATH  - SPECIFIES THE TYPE OF RECORDS TO BE EXTRACTED.             00010800

*            VALID VALUES:                                              00010900

*            VOL - VOLUME RECORDS ARE EXTRACTED                         00011100

*            VOL/FDS - VOLUME RECORDS WITH ONLY THEIR                   00011200

*            FIRST DATASET RECORDS ARE EXTRACTED.                       00011300

*            VOL/ADS - VOLUME RECORDS WITH ALL THEIR                    00011400

*            DATASET RECORDS ARE EXTRACTED. DEFAULT.                    00011500

*            DS - DATASET RECORDS ARE EXTRACTED.                        00011600

*            DS/FVOL - DATASET RECORDS WITH ONLY THEIR                  00011700

*            FIRST VOLUME RECORD ARE EXTRACTED.                         00011800

*            DS/AVOL - DATASET RECORDS WITH ALL THEIR                   00011900

*            VOLUME RECORDS ARE EXTRACTED.                              00012000

* 7) WHERE - SPECIFY INCLUDE AND EXCLUDE STATEMENTS LIKE IN OTHERS      00012100

*            Control-T UTILITIES.                                       00012200

*                                                                       00012300

DOQUERY  EQU   *                                                        00012400

         CTTAPI QUERY,REPLY=BUFREP,RC=RC,REASON=REASON,URC=URC,        *00012500

               PATH=PATH,WHERE=WHERE,MF=(E,APILIST)                     00012600

         LTR   R15,R15                                                  00012700

         BZ    LOOPNEXT                                                 00012800

         B     RETURN                                                   00012900

*                                                                       00013000

* PERFORM QUERYNXT - GET THE NEXT RECORD                                00013100

* THE RELEVANT PARAMETERS FOR THE QUERYNXT ARE AS THE FOLLOWING:        00013200

* 1) FUNCTION QUERYNXT                                                  00013300

* 2) REPLY = REPLY BUFFER ADDRESS FORMATTED AS CTTOAPI                  00013400

* 3) RC                                                                 00013500

* 4) REASON                                                             00013600

* 5) URC                                                                00013700

*                                                                       00013800

LOOPNEXT EQU   *                                                        00013900

         L     R8,BUFREP          GET BUFFER ADDRESS                    00014000

         USING CTTO,R8                                                  00014100

         MVC   PRINTREC(L'CTTVOLSR),CTTVOLSR                            00014200

         MVC   PRINTREC+8(L'CTTDDSN),CTTDDSN                            00014300

         MYPUT RPTOUT,PRINTREC                                          00014400

*                                                                       00014500

         CTTAPI QUERYNXT,REPLY=BUFREP,RC=RC,REASON=REASON,URC=URC,     *00014600

               MF=(E,APILIST)                                           00014700

         LTR   R15,R15                                                  00014800

         BZ    LOOPNEXT                                                 00014900

         C     R15,=F'4'          DID WE FINISH QUERY?                  00015000

         BE    GOEND                                                    00015100

         B     RETURN                                                   00015200

*                                                                       00015300

* PERFORM END - DELETE THE API ENVIRONMENT.                             00015400

* THE RELEVANT PARAMETERS FOR THE END ARE AS THE FOLLOWING:             00015500

* 1) FUNCTION END                                                       00015600

* 2) RC                                                                 00015700

* 3) REASON                                                             00015800

* 4) URC - UTILITY RC                                                   00015900

*                                                                       00016000

GOEND    EQU   *                                                        00016100

         CTTAPI END,REASON=REASON,MF=(E,APILIST)                        00016200

         CLOSE (RPTOUT)                                                 00016300

         B     RETURN                                                   00017000

OUTERROR WTO   'UNABLE TO OPEN OUTPUT FILE'                             00018000

         LA    R15,8                                                    00018100

RETURN   EQU   *                                                        00020000

         BRTRN (15)                                                     00039200

APILIST  CTTAPI MF=L                                                    00039300

BUFREP   DC    A(0)                                                     00039400

RC       DS    H                                                        00039600

REASON   DS    H                                                        00039800

URC      DS    H                                                        00039900

TRCLVL   DC    X'10'                                                    00040000

RPLBUF   DS    (CTTOLEN)X                                               00040100

PATH     DC    CL8'VOL/ADS'                                             00040200

WHERE    DC    H'1'                                                     00040300

         DC    CL80'INCLUDE VOLSTAT=ACTIVE'                             00040400

HEADER1  DC    CL80'VOLUME  DATASET'                                    00040500

HEADER2  DC    CL80'-------------------------------------------------'  00040600

PRINTREC DC    CL80' '                                                  00040700

***                                                                     00040800

* DATA Control BLOCKS                                                   00040900

***                                                                     00041000

RPTOUT   DCB   DDNAME=DARPTOUT,MACRF=PM,LRECL=80,RECFM=FB,             *00041100

               DSORG=PS                                                 00042000

         END                                                            00110000

Parent Topic

Control-M/Tape API