home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / emulate / systems / pc370 / mac / si500api.mlc < prev    next >
Text File  |  1987-12-30  |  5KB  |  145 lines

  1.          TITLE 'SI500API.ALC - SI SYSTEM LINK FROM CICS TO CADET VIA API'
  2. *
  3. * PGM-ID.      SI500API.ALC
  4. * AUTHOR.      DON HIGGINS.
  5. * DATE.        11/03/87
  6. * REMAKRS.     THIS IS A PC/370 ASSEMBLY LANGUAGE PROGRAM DESIGNED TO RUN
  7. *              ON A PC WITH PC 3270 EMULATION USING THE APPLICATION
  8. *              PROGRAM INTERFACE.  THE PROGRAM SIMULATES 3270 TRANSACTIONS
  9. *              TO OBTAIN CICS APPLICTION SCREENS AND STORE THEM ON A PC
  10. *              DISK IN SEPARATE FILES FOR ACCESS BY PC NETWORK APPLICATIONS.
  11. * REFERENCE.   IBM PC 3270 EMULATION PROGRAM APPLICATION PROGRAM INTERFACE
  12. *              AND HOST REFERENCE, #SC23-0892.
  13. * MAINTENANCE.
  14. *
  15. * 11/04/87 DSH 1.0  CHANGE FILE NAME TO CADET STD. WITH DRIVE AND DIR
  16. * 11/05/87 DSH 1.0  CHANGE DRIVE TO N: AND TIME TO 180 SECONDS
  17. * 11/10/87 DSH 1.0  ADD LOGIC TO STORE FILES IN TIME SEQUENCE AS WELL
  18. *                   AS IN THE MOST CURRENT FILE.
  19. * 12/29/87 DSH 1.1  ADD LOGIC TO ALSO WRITE TAAU SUMMARY SCREENS
  20. * 12/30/87 DSH 1.1  ADD TAAU,ALL,CANCEL AFTER EACH TAAU,ALL,99
  21. *
  22. SI500API CSECT
  23.          USING *,R12
  24.          LR    R12,R15
  25.          LA    R13,SAVEAREA
  26.          WTO   'SI500API CICS TO PC CADET FILE TRANSFER API VER 1.1'
  27.          WTO   ' '
  28.          CALL  APISTART          ACTIVATE 3270 SESSION
  29. LOOP     EQU   *
  30.          CALL  DAT               PRINT DATE AND TIME
  31.          LA    R1,CLEARKEY
  32.          CALL  APIAID            ENTER CLEAR KEY
  33.          LA    R1,=C"SINQ"
  34.          LA    R2,4
  35.          CALL  APITRAN           ENTER TAAU TRANSACTION
  36.          LA    R1,PF1
  37.          CALL  APIAID            ENTER PF KEY
  38.          LA    R1,SCREEN
  39.          CALL  APIREAD           READ SCREEN
  40.          LA    R1,=C'SIT01S01'
  41.          BAL   R14,BLDFILE       SAVE SCREEN IN PC FILE
  42.          LA    R1,PF2
  43.          CALL  APIAID            ENTER PF KEY
  44.          LA    R1,SCREEN
  45.          CALL  APIREAD           READ SCREEN
  46.          LA    R1,=C'SIT02S01'
  47.          BAL   R14,BLDFILE       SAVE SCREEN IN PC FILE
  48.          LA    R1,PF3
  49.          CALL  APIAID            ENTER PF KEY
  50.          LA    R1,SCREEN
  51.          CALL  APIREAD           READ SCREEN
  52.          LA    R1,=C'SIT03S01'
  53.          BAL   R14,BLDFILE       SAVE SCREEN IN PC FILE
  54.          LA    R1,PF4
  55.          CALL  APIAID            ENTER PF KEY
  56.          LA    R1,SCREEN
  57.          CALL  APIREAD           READ SCREEN
  58.          LA    R1,=C'SIT04S01'
  59.          BAL   R14,BLDFILE       SAVE SCREEN IN PC FILE
  60.          LA    R1,CLEARKEY
  61.          CALL  APIAID            ENTER CLEAR KEY
  62.          LA    R1,=C"TAAU,ALL,03"
  63.          LA    R2,11
  64.          CALL  APITRAN           ENTER TAAU TRANSACTION
  65.          LA    R1,SCREEN
  66.          CALL  APIREAD           READ SCREEN
  67.          LA    R1,=C'TAT01S01'
  68.          BAL   R14,BLDFILE       SAVE SCREEN IN PC FILE
  69.          LA    R1,ENTERKEY
  70.          CALL  APIAID            ENTER ENTER KEY
  71.          LA    R1,SCREEN
  72.          CALL  APIREAD           READ SCREEN
  73.          LA    R1,=C'TAT02S01'
  74.          BAL   R14,BLDFILE       SAVE SCREEN IN PC FILE
  75.          LA    R1,CLEARKEY
  76.          CALL  APIAID            ENTER CLEAR KEY
  77.          LA    R1,=C"TAAU,ALL,CANCEL"
  78.          LA    R2,15
  79.          CALL  APITRAN           ENTER TAAU CANCEL TRANSACTION
  80. *
  81. * WAIT FOR AN INTERVAL AND THEN REPEAT LOOP
  82. *
  83.          WTO   'WAITING FOR 3 MINUTES'
  84.          LA    R1,180            (PRODUCTION VERSION SHOULD BE 180)
  85.          CALL  APIWAIT           WAIT FOR SPECIFIED # OF SECONDS
  86.          B     LOOP
  87. *
  88. * BLDFILE - WRITE SCREEN TO PC FILE
  89. *
  90. BLDFILE  EQU   *
  91.          ST    R14,BLDSAV14
  92.          L     R15,PCFILE+(DCBDSN-IHADCB) GET ADDR OF DSN FROM DCB
  93.          MVC   DSNOFF(8,R15),0(R1) MOVE 8 CHARACTER FILE NAME TO DCBDSN
  94.          WTO   'WRITING CICS SCREEN TO CADET PC FILE'
  95.          SVC   TRACE
  96.          DC    C'BLD '
  97.          CLI   SCREEN,C" "  IF SCREEN DOES NOT START WITH ASCII
  98.          BL    APIERR       ABORT
  99.          OPEN  PCFILE
  100.          PUT   PCFILE,SCREEN  WRITE SCREEN TO DISK FILE
  101.          CLOSE PCFILE
  102.          SVC   TIME    R0 = HH, MM, SS, 100TH SEC
  103.          SRL   R0,24
  104.          CVD   R0,PWORK
  105.          MVC   DHR,=X'40212020'
  106.          ED    DHR,PWORK+6
  107.          L     R15,PCFILE+(DCBDSN-IHADCB) GET ADDR OF DSN FROM DCB
  108.          MVI   DSNOFF+5(R15),C'H'
  109.          MVC   DSNOFF+6(2,R15),DHR+2
  110.          OPEN  PCFILE
  111.          PUT   PCFILE,SCREEN  WRITE SCREEN TO DISK FILE
  112.          CLOSE PCFILE
  113.          L     R14,BLDSAV14
  114.          BR    R14
  115. *
  116. *  ENTER DEBUG ON ERROR FOR NOW
  117. *
  118. APIERR   EQU   *
  119.          SVC   TRACE
  120.          DC    C'BUG '
  121.          SVC   EXIT
  122. BLDSAV14 DC    F'0'
  123. *
  124. * COMMON DATA
  125. *
  126. SAVEAREA DC    18F'0'
  127. PWORK    DC    D'0'
  128. DHR      DC    C' Z99'
  129. PCFILE   DCB   DSORG=S,MACRF=P,RECFM=F,LRECL=1920,
  130.                DDNAME=N:\ENERGY\SIT01SXX.(T)
  131. DSNOFF   EQU   10 OFFSET TO PRIMARY DSNAME IMMEDIATELY ABOVE
  132.          DC    C'*** SCREEN ***'
  133. SCREEN   DS    1920C             24 X 80 ASCII SCREEN
  134.          DC    C'*** END OF SCREEN ***'
  135.          COPY  CPY\EQUREGS
  136.          COPY  CPY\EQUSVCS
  137.          COPY  CPY\IHADCB
  138. PF1      EQU   X'07' PROGRAM FUNCTION KEY 1 SCAN CODE (SEE A-2)
  139. PF2      EQU   X'0F'
  140. PF3      EQU   X'17'
  141. PF4      EQU   X'1F'
  142. CLEARKEY EQU   X'06' CLEAR KEY
  143. ENTERKEY EQU   X'58' ENTER KEY
  144.          END
  145.