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