mirror of
https://github.com/moshix/mvs.git
synced 2026-02-03 14:52:54 +00:00
145 lines
5.2 KiB
Plaintext
145 lines
5.2 KiB
Plaintext
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
|
||
|