home *** CD-ROM | disk | FTP | other *** search
- TITLE 'SI500API.ALC - SI SYSTEM LINK FROM CICS TO CADET VIA API'
- *
- * PGM-ID. SI500API.ALC
- * AUTHOR. DON HIGGINS.
- * DATE. 11/03/87
- * REMAKRS. THIS IS A PC/370 ASSEMBLY LANGUAGE PROGRAM DESIGNED TO RUN
- * ON A PC WITH PC 3270 EMULATION USING THE APPLICATION
- * PROGRAM INTERFACE. THE PROGRAM SIMULATES 3270 TRANSACTIONS
- * TO OBTAIN CICS APPLICTION SCREENS AND STORE THEM ON A PC
- * DISK IN SEPARATE FILES FOR ACCESS BY PC NETWORK APPLICATIONS.
- * REFERENCE. IBM PC 3270 EMULATION PROGRAM APPLICATION PROGRAM INTERFACE
- * AND HOST REFERENCE, #SC23-0892.
- * MAINTENANCE.
- *
- * 11/04/87 DSH 1.0 CHANGE FILE NAME TO CADET STD. WITH DRIVE AND DIR
- * 11/05/87 DSH 1.0 CHANGE DRIVE TO N: AND TIME TO 180 SECONDS
- * 11/10/87 DSH 1.0 ADD LOGIC TO STORE FILES IN TIME SEQUENCE AS WELL
- * AS IN THE MOST CURRENT FILE.
- * 12/29/87 DSH 1.1 ADD LOGIC TO ALSO WRITE TAAU SUMMARY SCREENS
- * 12/30/87 DSH 1.1 ADD TAAU,ALL,CANCEL AFTER EACH TAAU,ALL,99
- *
- SI500API CSECT
- USING *,R12
- LR R12,R15
- LA R13,SAVEAREA
- WTO 'SI500API CICS TO PC CADET FILE TRANSFER API VER 1.1'
- WTO ' '
- CALL APISTART ACTIVATE 3270 SESSION
- LOOP EQU *
- CALL DAT PRINT DATE AND TIME
- LA R1,CLEARKEY
- CALL APIAID ENTER CLEAR KEY
- LA R1,=C"SINQ"
- LA R2,4
- CALL APITRAN ENTER TAAU TRANSACTION
- LA R1,PF1
- CALL APIAID ENTER PF KEY
- LA R1,SCREEN
- CALL APIREAD READ SCREEN
- LA R1,=C'SIT01S01'
- BAL R14,BLDFILE SAVE SCREEN IN PC FILE
- LA R1,PF2
- CALL APIAID ENTER PF KEY
- LA R1,SCREEN
- CALL APIREAD READ SCREEN
- LA R1,=C'SIT02S01'
- BAL R14,BLDFILE SAVE SCREEN IN PC FILE
- LA R1,PF3
- CALL APIAID ENTER PF KEY
- LA R1,SCREEN
- CALL APIREAD READ SCREEN
- LA R1,=C'SIT03S01'
- BAL R14,BLDFILE SAVE SCREEN IN PC FILE
- LA R1,PF4
- CALL APIAID ENTER PF KEY
- LA R1,SCREEN
- CALL APIREAD READ SCREEN
- LA R1,=C'SIT04S01'
- BAL R14,BLDFILE SAVE SCREEN IN PC FILE
- LA R1,CLEARKEY
- CALL APIAID ENTER CLEAR KEY
- LA R1,=C"TAAU,ALL,03"
- LA R2,11
- CALL APITRAN ENTER TAAU TRANSACTION
- LA R1,SCREEN
- CALL APIREAD READ SCREEN
- LA R1,=C'TAT01S01'
- BAL R14,BLDFILE SAVE SCREEN IN PC FILE
- LA R1,ENTERKEY
- CALL APIAID ENTER ENTER KEY
- LA R1,SCREEN
- CALL APIREAD READ SCREEN
- LA R1,=C'TAT02S01'
- BAL R14,BLDFILE SAVE SCREEN IN PC FILE
- LA R1,CLEARKEY
- CALL APIAID ENTER CLEAR KEY
- LA R1,=C"TAAU,ALL,CANCEL"
- LA R2,15
- CALL APITRAN ENTER TAAU CANCEL TRANSACTION
- *
- * WAIT FOR AN INTERVAL AND THEN REPEAT LOOP
- *
- WTO 'WAITING FOR 3 MINUTES'
- LA R1,180 (PRODUCTION VERSION SHOULD BE 180)
- CALL APIWAIT WAIT FOR SPECIFIED # OF SECONDS
- B LOOP
- *
- * BLDFILE - WRITE SCREEN TO PC FILE
- *
- BLDFILE EQU *
- ST R14,BLDSAV14
- L R15,PCFILE+(DCBDSN-IHADCB) GET ADDR OF DSN FROM DCB
- MVC DSNOFF(8,R15),0(R1) MOVE 8 CHARACTER FILE NAME TO DCBDSN
- WTO 'WRITING CICS SCREEN TO CADET PC FILE'
- SVC TRACE
- DC C'BLD '
- CLI SCREEN,C" " IF SCREEN DOES NOT START WITH ASCII
- BL APIERR ABORT
- OPEN PCFILE
- PUT PCFILE,SCREEN WRITE SCREEN TO DISK FILE
- CLOSE PCFILE
- SVC TIME R0 = HH, MM, SS, 100TH SEC
- SRL R0,24
- CVD R0,PWORK
- MVC DHR,=X'40212020'
- ED DHR,PWORK+6
- L R15,PCFILE+(DCBDSN-IHADCB) GET ADDR OF DSN FROM DCB
- MVI DSNOFF+5(R15),C'H'
- MVC DSNOFF+6(2,R15),DHR+2
- OPEN PCFILE
- PUT PCFILE,SCREEN WRITE SCREEN TO DISK FILE
- CLOSE PCFILE
- L R14,BLDSAV14
- BR R14
- *
- * ENTER DEBUG ON ERROR FOR NOW
- *
- APIERR EQU *
- SVC TRACE
- DC C'BUG '
- SVC EXIT
- BLDSAV14 DC F'0'
- *
- * COMMON DATA
- *
- SAVEAREA DC 18F'0'
- PWORK DC D'0'
- DHR DC C' Z99'
- PCFILE DCB DSORG=S,MACRF=P,RECFM=F,LRECL=1920,
- DDNAME=N:\ENERGY\SIT01SXX.(T)
- DSNOFF EQU 10 OFFSET TO PRIMARY DSNAME IMMEDIATELY ABOVE
- DC C'*** SCREEN ***'
- SCREEN DS 1920C 24 X 80 ASCII SCREEN
- DC C'*** END OF SCREEN ***'
- COPY CPY\EQUREGS
- COPY CPY\EQUSVCS
- COPY CPY\IHADCB
- PF1 EQU X'07' PROGRAM FUNCTION KEY 1 SCAN CODE (SEE A-2)
- PF2 EQU X'0F'
- PF3 EQU X'17'
- PF4 EQU X'1F'
- CLEARKEY EQU X'06' CLEAR KEY
- ENTERKEY EQU X'58' ENTER KEY
- END