cdc:nos2.source:opl871:tarl
Table of Contents
TARL
Table Of Contents
- [00010] TARL - AUTOMATIC RECOVERY LIBRARY.
- [00178] RERUN - RERUN TRANSACTION.
- [00201] RGET - GET DATA FROM RECOVERY FILE.
- [00224] RPUT - PUT DATA ON RECOVERY FILE.
- [00323] RSECURE - RETRIEVE LAST *SECURE* MESSAGE.
- [00346] SRERUN - RERUN A TRANSACTION WITH ALTERNATE USERNAME.
- [00372] SECURE - TRANSACTION IS SECURE.
- [00478] TINVOKE - ASSIGN A NEW SYSTEM IDENTIFIER.
- [00498] PAE - PROCESS ARGUMENT ERROR.
- [00519] IRR - ISSUE RECOVERY REQUEST.
Source Code
- TARL.txt
- IDENT TARL
- ENTRY RERUN
- ENTRY RGET
- ENTRY RPUT
- ENTRY RSECURE
- ENTRY SECURE
- ENTRY SRERUN
- ENTRY TINVOKE
- SYSCOM B1
- TITLE TARL - AUTOMATIC RECOVERY LIBRARY.
- *COMMENT TARL - TAF AUTOMATIC RECOVERY LIBRARY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TARL SPACE 4,10
- ***** TARL - TAF AUTOMATIC RECOVERY LIBRARY.
- *
- * A. E. SCHIPPERS. 80/06/20.
- *
- * TARL IS A LIBRARY OF INTERFACE ROUTINES FOR COBOL5,
- * FORTRAN4 AND FORTRAN5 USER AND SYSTEM TASKS, MAKING
- * RECOVERY REQUESTS TO THE TRANSACTION FACILITY. DECK
- * *TARL* IS PLACED ON THREE DIFFERENT LIBRARIES CALLED
- * *TRANC5*, *TRANF4*, AND *TRANF5*. THE COBOL *ENTER*
- * VERB AND THE FORTRAN *CALL* STATEMENT INTERFACE USER AND
- * SYSTEM TASKS TO THE TRANSACTION FACILITY.
- *
- *IF DEF,TRANC5
- * NOTE THIS IS THE COBOL5 VERSION OF TARL.
- *ENDIF
- *IF DEF,TRANF4
- * NOTE THIS IS THE FORTRAN4 VERSION OF TARL.
- *ENDIF
- *IF DEF,TRANF5
- * NOTE THIS IS THE FORTRAN5 VERSION OF TARL.
- *ENDIF
- *
- *
- *** THE REQUESTS FOR *TAF* AUTOMATIC RECOVERY ARE AS FOLLOWS -
- *
- * TO RERUN A TRANSACTION COMMIT UNIT FOR A TERMINAL -
- * ENTER RERUN USING STATUS [,USERNAM].
- * CALL RERUN (STATUS[,USERNAM]).
- *
- * TO RETRIEVE USER DATA FROM THE *TAF* RECOVERY FILE -
- * ENTER RGET USING MESSAGE, INDEX, STATUS, MESSAGE-LENGTH
- * [, MESSAGE-UNITS].
- * CALL RGET (MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
- * [,MESSAGE-UNITS]).
- *
- * TO PUT USER DATA ON THE TAF RECOVER FILE -
- * ENTER RPUT USING MESSAGE, INDEX, STATUS [,MESSAGE-LENGTH,
- * MESSAGE-UNITS].
- * CALL RPUT (MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
- * [,MESSAGE-UNITS]).
- *
- * TO RETREVE THE SECURE MESSAGE FROM PERMANENT STORAGE -
- * ENTER RSECURE USING MESSAGE, STATUS, MESSAGE-LENGTH,
- * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE.
- * CALL RSECURE (MESSAGE, STATUS, MESSAGE-LENGTH,
- * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE).
- *
- * TO SAVE A SECURE MESSAGE -
- * ENTER SECURE USING MESSAGE, STATUS [, MESSAGE-LENGTH,
- * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE].
- * CALL SECURE (MESSAGE, STATUS, MESSAGE-LENGTH
- * [, MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE]).
- *
- * TO ASSIGN A NEW TRANSACTION SEQUENCE NUMBER -
- * ENTER TINVOKE USING STATUS, NEW-SYS-ID [,OLD-SYS-ID].
- * CALL TINVOKE (STATUS, NEW-SYS-ID [, OLD-SYS-ID]).
- *
- *** THE PARAMETERS FOR *TAF* AUTOMATIC RECOVERY
- * REQUESTS ARE DEFINED BELOW.
- *
- * FORMAT-EFFECTOR PARAMETER TO INDICATE IF
- * FORMAT-EFFECTORS ARE USED.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTERGER.
- *
- * INDEX INDEX FOR RECOVERY RECORD.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- * VALUES ARE THE SAME AS FOR *NAM*.
- *
- * MESSAGE DATA ITEM CONTAINING THE RECOVERY MESSAGE.
- * COBOL - 01 LEVEL ITEM.
- * FORTRAN - HOLLERITH.
- *
- * MESSAGE-LENGTH LENGTH OF MESSAGE IN MESSAGE-UNITS.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- *
- * MESSAGE-UNITS APPLICATION CHARACTER TYPE. THE TYPE IS
- * THE SAME AS FOR *NAM*.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- *
- * NEW-SYS-ID NEW SYSTEM IDENTIFIER.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- *
- * OLD-SYS-ID OLD SYSTEM IDENTIFIER.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- *
- * STATUS STATUS OF REQUEST.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- *
- * TRANSPARENT-MODE INDICATES IF TRANSPARENT MODE WAS USED.
- * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
- * NAME.
- * FORTRAN - INTEGER.
- * THE VALUE IS THE SAME AS FOR *NAM*.
- *
- * USERNAM 1-7 CHARACTER USER NAME.
- * COBOL - 01 LEVEL DATA ITEM.
- * FORTRAN - HOLLERITH.
- *
- * COMMON DECKS CALLED.
- *CALL COMKFLD
- *CALL COMKMAC
- LIST X
- * THE FOLLOWING COMMON DECKS USE *BSS* TO ASSIGN LOCATIONS
- * TO SYMBOLS. THE LIBRARY INTERFACE ROUTINES DO NOT WANT
- * TO ALLOCATE STORAGE FOR THESE SYMBOLS SO THE CURRENT ORIGIN
- * COUNTER IS SAVED BY *BEGN* AND IS RESTORED AFTER THE COMMON
- * DECKS ARE ASSEMBLED.
- BEGN BSS 0 SAVE CURRENT ORIGIN ADDRESS
- *CALL COMKRRD
- ORG BEGN RESTORE ORIGIN COUNTER
- * STORAGE FOR RECOVERY REQUEST PARAMETERS.
- PARML MAX TSEPL,TRGPL,TREPL,TTIPL MAXIMUM LENGTH
- PARM BSS PARML
- BSSZ 1 TERMINATE REQUEST WITH ZERO WORD
- * THE FOLOWING CODE IS CONDITIONALLY PUT ON THE
- * COMPILE FILE AT MODIFICATION TIME. THIS CODE
- * ALSO SETS VALUES FOR CONDITIONAL ASSEMBLY OF SOME
- * CODE LATER IN THIS DECK.
- .1 SET 0
- *IF DEF,TRANC5
- .1 SET .1+1
- .2 SET 0 COBOL5 VERSION
- *ENDIF
- *IF DEF,TRANF4
- .1 SET .1+1
- .2 SET 1 FORTRAN4 VERSION
- *ENDIF
- *IF DEF,TRANF5
- .1 SET .1+1
- .2 SET 2 FORTRAN5 VERSION
- *ENDIF
- .A IFNE .1,1
- * ONE AND ONLY ONE OF THE TLIBXX LIBRARIES MUST BE
- * DEFINED AT MODIFICATION TIME.
- ERR MODIFICATION ERRORS
- .A ENDIF
- RERUN SPACE 4,15
- ** RERUN - RERUN TRANSACTION.
- *
- * ENTRY ENTER RERUN USING STATUS.
- *
- * CALL RERUN(STATUS).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST IS PROCESSED.
- * (A0) = (A0) ON ENTRY.
- *
- * USES X - 1.
- *
- * CALLS IRR.
- VFD 42/0LRERUN,18/RERUN
- RERUN SUBR ENTRY/EXIT
- SX1 RFRE RERUN REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ RERUNX RETURN
- RGET SPACE 4,15
- ** RGET - GET DATA FROM RECOVERY FILE.
- *
- * ENTRY ENTER RGET USING MESSAGE, INDEX, STATUS,
- * MESSAGE-LENGTH [, MESSAGE-UNITS].
- *
- * CALL RGET(MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
- * [,MESSAGE-UNITS]).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST IS PROCESSED.
- * (A0) = (A0) ON ENTRY.
- *
- * USES X - 1.
- *
- * CALLS IRR.
- RGET SUBR ENTRY/EXIT
- SX1 RFRG RGET REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ RGETX RETURN
- RPUT SPACE 4,20
- ** RPUT - PUT DATA ON RECOVERY FILE.
- *
- * ENTRY ENTER RPUT USING MESSAGE, INDEX, STATUS
- * [,MESSAGE-LENGTH, MESSAGE-UNITS].
- *
- * CALL RPUT(MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
- * [,MESSAGE-UNITS]).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST IS PROCESSED.
- * (A0) = (A0) ON ENTRY.
- * TO *PAE* IF NOT ENOUGH PARAMETERS.
- *
- * CALLS IRR.
- *
- * USES A - 1, 2, 6.
- * X - 1, 2, 3, 4, 6.
- * B - 1, 2, 3, 4.
- *
- * CALLS IRR.
- .1 SET 0
- RPUT SUBR ENTRY/EXIT
- SB1 1
- SA2 A1 GET ADDRESS OF MESSAGE
- ZR X2,RPT3 IF END OF PARAMETER LIST
- .B IFEQ .2,0 IF COBOL5 VERSION
- * PROCESS PARAMETER LIST FOR COBOL5.
- .1 SET .1+1
- MX3 -18 GET LENGTH OF MESSAGE
- BX4 X2
- LX4 17-53
- BX6 -X3*X4
- SA6 RPTA SAVE LENGTH OF MESSAGE
- .B ENDIF
- .C IFEQ .2,1 IF FORTRAN4 VERSION
- * PROCESS PARAMETER LIST FOR FORTRAN4.
- .1 SET .1+1
- * NO SPECIAL PROCESSING NEEDED.
- .C ENDIF
- .D IFEQ .2,2 IF FORTRAN5 VERSION
- * PROCESS PARAMETER LIST FOR FORTRAN5.
- .1 SET .1+1
- * NO SPECIAL PROCESSING NEEDED.
- .D ENDIF
- SX6 X2 SAVE FWA OF MESSAGE
- SA6 PARM+RGMA
- * FORMAT STANDARD *TAF* REQUEST CALLING SEQUENCE.
- SB3 TRGPL+PARM LWA+1 OF PARAMETER TABLE
- RPT1 SB4 A6+B1 CURRENT FREE LOCATION IN TABLE
- SA2 A2+B1 GET NEXT PARAMETER
- GT B4,B3,RPT3 IF PARAMETER LIST TOO LARGE
- SX6 X2 SAVE PARAMETER IN PARAMETER TABLE
- SA6 B4
- ZR X2,RPT2 IF END OF PARAMETER LIST
- EQ RPT1 PROCESS NEXT PARAMETER
- RPT2 SB4 B4-PARM NUMBER OF PARAMETERS FOUND
- .E IFEQ .2,0 IF COBOL5 VERSION
- SB2 TRGRL-1 REQUIRED NUMBER OF COBOL5 PARAMETERS
- SA2 A1+RGML
- NZ X2,RPT2.1 IF NOT USER SUPPLIED LENGTH
- SX6 RPTA SAVE COBOL SUPPLIED LENGTH
- SA6 PARM+RGML
- SX6 B0+ ZERO WORD TERMINATOR
- SA6 A6+1
- .E ENDIF
- .F IFEQ .2,1 IF FORTRAN4 VERSION
- SB2 TRGRL REQUIRED NUMBER OF FORTRAN4 PARAMETERS
- .F ENDIF
- .G IFEQ .2,2 IF FORTRAN5 VERSION
- SB2 TRGRL REQUIRED NUMBER OF FORTRAN5 PARAMETERS
- .G ENDIF
- RPT2.1 LT B4,B2,RPT3 IF NOT ENOUGH PARAMETERS
- SA1 PARM INDICATE START OF PARAMETER LIST
- SX1 RFRP *RPUT* REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ RPUTX RETURN
- RPT3 SA1 RPUT READ RETURN ADDRESS
- EQ PAE PROCESS ARGUMENT ERROR
- RPTA BSS 1
- RSECURE SPACE 4,15
- ** RSECURE - RETRIEVE LAST *SECURE* MESSAGE.
- *
- * ENTRY ENTER RSECURE USING MESSAGE, STATUS, MESSAGE-LENGTH,
- * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT MODE.
- *
- * CALL RSECURE(MESSAGE,STATUS,MESSAGE-LENGTH,
- * MESSAGE-UNITS,FORMAT-EFFECTOR,TRANSPARENT-MODE).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST IS PROCESSED.
- * (A0) = (A0) ON ENTRY.
- *
- * USES X - 1.
- *
- * CALLS IRR.
- RSECURE SUBR ENTRY/EXIT
- SX1 RFRS *RSECURE* REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ RSECUREX RETURN
- SRERUN SPACE 4,20
- ** SRERUN - RERUN A TRANSACTION WITH ALTERNATE USERNAME.
- *
- * THIS REQUEST CAN ONLY BE USED BY SYSTEM TASKS.
- *
- * ENTRY ENTER SRERUN USING STATUS[, USERNAM].
- *
- * CALL SRERUN (STATUS[,USERNAM]).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST PROCESSED.
- * (A0) = SAME AS ENTRY.
- *
- * USES X = 1.
- *
- * CALLS IRR.
- VFD 42/0LSRERUN,18/SRERUN
- SRERUN SUBR ENTRY/EXIT
- SX1 RFSR SRERUN REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ SRERUNX RETURN
- SECURE SPACE 4,20
- ** SECURE - TRANSACTION IS SECURE.
- *
- * ENTRY ENTER SECURE USING MESSAGE, STATUS[, MESSAGE-LENGTH,
- * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE].
- *
- * CALL SECURE(MESSAGE,STATUS,MESSAGE-LENGTH
- * [,MESSAGE-UNITS,FORMAT-EFFECTOR,TRANSPARENT-MODE]).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST IS PROCESSED.
- * (A0) = (A0) ON ENTRY.
- * TO *PAE* IF PARAMETER ERROR.
- *
- * USES A - 2, 6.
- * X - 2, 6.
- * B - 1, 3, 4.
- *
- * CALLS IRR.
- .1 SET 0
- SECURE SUBR ENTRY/EXIT
- SB1 1
- SA2 A1
- ZR X2,SEC3 IF END OF PARAMETER LIST
- .H IFEQ .2,0 IF COBOL5 VERSION
- * PROCESS PARAMETER LIST FOR COBOL5.
- .1 SET .1+1
- MX3 -18 GET LENGTH OF MESSAGE
- BX4 X2
- LX4 17-53
- BX6 -X3*X4
- SA6 SECA SAVE LENGTH OF MESSAGE
- SX6 SECA SAVE ADDRESS OF LENGTH
- SA6 PARM+SEML
- .H ENDIF
- .I IFEQ .2,1 IF FORTRAN4 VERSION
- * PROCESS PARAMETER LIST FOR FORTRAN4.
- .1 SET .1+1
- * NO SPECIAL PROCESSING NEEDED.
- .I ENDIF
- .J IFEQ .2,2 IF FORTRAN5 VERSION
- * PROCESS PARAMETER LIST FOR FORTRAN5.
- .1 SET .1+1
- * NO SPECIAL PROCESSING NEEDED.
- .J ENDIF
- SX6 X2 SAVE FWA OF MESSAGE
- SA6 PARM+SEMA
- SA2 A2+B1 GET STATUS
- ZR X2,SEC3 IF END OF PARAMETER LIST
- SX6 X2 SAVE FWA OF STATUS
- SA2 A2+B1
- SA6 PARM+SEST
- SB3 TSEPL+PARM LWA+1 OF PARAMETER TABLE
- .K IFEQ .2,0 IF COBOL5 VERSION
- SB4 A6+1
- NZ X2,SEC.1 IF NOT END OF PARAMETER LIST
- SX6 SECA SAVE COBOL SUPPLIED LENGTH
- SA6 PARM+SEML
- BX6 X6-X6 STORE ZERO WORD TERMINATIOR
- SA6 A6+B1
- EQ SEC2 ISSUE REQUEST
- .K ENDIF
- .L IFEQ .2,1 IF FORTRAN4 VERSION
- ZR X2,SEC3 IF END OF PARAMETER LIST
- .L ENDIF
- .M IFEQ .2,2 IF FORTRAN5 VERSION
- ZR X2,SEC3 IF END OF PARAMETER LIST
- .M ENDIF
- SEC.1 SX6 X2
- SA6 PARM+SEML SAVE FWA OF MESSAGE LENGTH
- * FORMAT STANDARD *TAF* REQUEST CALLING SEQUENCE.
- SB4 A6+B1 ADDRESS OF REST OF PARAMETER TABLE
- SEC1 SA2 A2+B1 GET NEXT ITEM
- SX6 X2 STORE PARAMETER IN TABLE
- GT B4,B3,SEC3 IF PARAMETER LIST TOO LARGE
- SA6 B4
- ZR X2,SEC2 IF END OF PARAMETER LIST
- SB4 B4+B1
- EQ SEC1 PROCESS NEXT PARAMETER
- SEC2 SA1 PARM ADDRESS OF PARMAETER TABLE
- SX1 RFSE *SECURE* REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ SECUREX RETURN
- SEC3 SA1 SECURE READ RETURN ADDRESS
- EQ PAE PROCESS ARGUMENT ERROR
- SECA BSS 1
- TINVOKE SPACE 4,20
- ** TINVOKE - ASSIGN A NEW SYSTEM IDENTIFIER.
- *
- * ENTRY ENTER TINVOKE USING STATUS, NEW-SYS-ID[, OLD-SYS-ID].
- *
- * CALL TINVOKE(STATUS,NEW-SYS-ID[,OLD-SYS-ID]).
- *
- * (A1) = FWA OF PARAMETER LIST.
- *
- * EXIT REQUEST IS PROCESSED.
- * (A0) = (A0) ON ENTRY.
- *
- * USES X - 1.
- * CALLS IRR.
- TINVOKE SUBR ENTRY/EXIT
- SX1 RFTI *TINVOKE* REQUEST
- RJ IRR ISSUE RECOVERY REQUEST
- EQ TINVOKEX RETURN
- PAE SPACE 4,15
- ** PAE - PROCESS ARGUMENT ERROR.
- *
- * ENTRY (X1) = CALLING ADDRESS.
- *
- * EXIT PROGRAM WILL ABORT.
- *
- * USES A - 2, 6.
- * X - 1, 2, 6.
- *
- * MACROS ARGERR.
- PAE MX6 -30
- LX1 29-59
- SA2 X1-1 READ TRACE BACK WORD
- BX6 -X6*X2
- SA6 PAEA
- ARGERR A6 EXIT TO EXECUTIVE
- PAEA BSSZ 1
- IRR SPACE 4,15
- ** IRR - ISSUE RECOVERY REQUEST.
- *
- * ENTRY (A1) = FWA OF REQUEST PARAMETER LIST.
- * (X1) = FUNCTION CODE.
- *
- * EXIT (A1) = FWA OF RETURN PARAMETER LIST.
- *
- * USES X - 1, 6, 7.
- * B - 1.
- *
- * CALLS SYS=.
- IRR SUBR ENTRY/EXIT
- SB1 1
- SX6 3RREC PREPARE RECOVERY REQUEST
- SX7 A1 PARAMETER LIST ADDRESS
- LX6 59-17
- BX6 X7+X6
- LX1 35-17 REQUEST CODE
- BX6 X6+X1
- RJ =XSYS= ISSUE REQUEST
- EQ IRRX RETURN
- END
cdc/nos2.source/opl871/tarl.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator