IDENT RCTASK
LCC OVERLAY(RCTASK,0,0)
SST BEGN,CMBL
ENTRY RCTASK
SYSCOM B1
TITLE RCTASK - RECOVER *CDCS* TRANSACTIONS.
*COMMENT RCTASK - RECOVER *CDCS* TRANSACTIONS.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
RCTASK SPACE 4,10
*** RCTASK - RECOVER *CDCS* TRANSACTIONS.
*
* E. D. REDIG. 81/06/19.
RCTASK SPACE 4,20
*** *RCTASK* RECOVERS RERUNNABLE CDCS TRANSACTIONS
* AND MUST BE INSTALLED ON THE SYSTEM LIBRARY.
*
* *RCTASK* READS THE ENTIRE *CRF* BY ISSUING *TSTAT*
* REQUESTS TO OBTAIN INFORMATION ABOUT EACH USER AND
* PROCESSES THIS INFORMATION AS FOLLOWS.
*
* 1. IF *CDCS* MAY NOT BE USED BY THIS TRANSACTION,
* THEN READ THE NEXT *CRF* ENTRY.
*
* 2. IF THE TRANSACTION STEP IS NOT *CDCS* DOWN, THEN
* READ THE NEXT *CRF* ENTRY.
*
* 3. IF THE TRANSACTION TYPE IS *BTRAN*, THEN GO TO
* STEP 5.
*
* 4. IF THE TERMINAL USER IS NOT ACTIVE, THEN READ THE
* NEXT *CRF* ENTRY.
*
* 5. ISSUE *SRERUN* TO RERUN THE CDCS TRANSACTION AND
* READ THE NEXT *CRF* ENTRY.
RCTASK SPACE 4,15
*** DAYFILE MESSAGES ISSUED.
*
* ABNORMAL COMPLETION.
*
* * RCTASK - TAF AUTOMATIC RECOVERY NOT INSTALLED.*
* THE KEYWORD SPECIFIED IN A *TSTAT* REQUEST
* REQUIRES TAF AUTOMATIC RECOVERY.
*
* * RCTASK - TASK LOGICAL ERROR.*
* A LOGICAL ERROR OCCURRED THAT WAS NOT EXPECTED.
*
* * RCTASK - USER NOT DEFINED IN NETWORK FILE.*
* THE USER IS NOT DEFINED IN THE NETWORK FILE ON
* AN *SRERUN* OR *TSTAT* REQUEST.
RCTASK SPACE 4,10
*** COMMON DECKS.
*CALL COMCMAC
*CALL COMKTAF
*CALL COMKFLD
*CALL COMKIPR
*CALL COMKMAC
* SAVE ORIGIN COUNTER TO REMOVE COMMON DECK STORAGE IN
* *COMKCBD* AND *COMKTSC*.
BEGN BSS 0 SAVE ORIGIN COUNTER
*CALL COMKCBD
LIST X
*CALL COMKTRF
LIST -X
*CALL COMKTSC
ORG BEGN RESTORE ORIGIN COUNTER
RCTASK SPACE 4,10
*** COMMUNICATION BLOCK.
BSS CMBL
RCTASK SPACE 4,15
*** RCTASK - RECOVER *CDCS* TRANSACTIONS.
*
* ENTRY BOI OF *CRF*.
*
* EXIT RERUNNABLE *CDCS* TRANSACTIONS RECOVERED.
*
* ERROR TO *RCT4*, IF ERROR ENCOUNTERED.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 4, 6, 7.
* B - 1.
*
* MACROS CEASE, SCALL, SEND.
RCTASK SB1 1 ENTRY
SA2 TNAM
SA3 RCTBL DAYFILE MESSAGE
SA1 RCTT
LX2 59-CBSYS
BX6 X1
PL X2,RCT4 IF NOT SYSTEM ORIGIN TRANSACTION
SA6 RCTO INITIALIZE *NEXT* FOR *TSTAT*
* ISSUE *TSTAT* REQUEST TO OBTAIN STATUS OF TRANSACTION.
RCT1 SCALL TSTAT,(RCTM,RCTN,RCTO,RCTP,RCTQ,RCTR,RCTS,RCTU,RCTV)
SA1 RCTM
SA3 RCTAL DAYFILE MESSAGE
SX2 X1-TSRU
ZR X2,RCT4 IF RECOVERY UNAVAILABLE
SX2 X1-TSEN
ZR X2,RCT5 IF END OF *NEXT* PROCESSING
SA3 RCTCL DAYFILE MESSAGE
SX2 X1-TSUU
ZR X2,RCT4 IF USER UNKNOWN
SA3 RCTBL DAYFILE MESSAGE
SX2 X1-TSNE
NZ X2,RCT4 IF ERRORS IN *TSTAT*
SA1 RCTS GET *CDCS* USAGE
ZR X1,RCT1 IF *CDCS* NOT USED BY TRANSACTION
SA1 RCTQ GET TRANSACTION STEP
SX2 X1-CSCD
NZ X2,RCT1 IF *CDCS* NOT DOWN
* SET UP *SEND* REQUEST PARAMETERS.
SA1 RCTI
SA2 RCTJ
BX6 X1
BX7 X2
SA6 RCTH
SA1 RCTO
MX3 TRUNN
BX6 X3*X1
SA6 A6+B1 USER NAME
BX2 X6
SA7 A6+B1
BX6 X6-X6
SA6 A7+B1 STATUS OF USER NAME
BX7 X2
SA7 RCTL
SA1 RCTV GET TRANSACTION TYPE
SX2 X1-TYBT
ZR X2,RCT2 IF *BTRAN* TRANSACTION
* SEND MESSAGE TO TERMINAL TO CHECK IF ACTIVE.
SEND RCTH
SA1 RCTH+3 GET STATUS OF USER NAME
SX2 RCTD CONNECTION ENDED MESSAGE
LX1 18
SX1 X1+ SUPERVISORY MESSAGE FROM NAM
IX1 X1-X2
ZR X1,RCT1 IF TERMINAL NOT ACTIVE
* ISSUE *SRERUN* REQUEST TO RERUN TRANSACTION USING USER NAME.
RCT2 SCALL SRERUN,(RCTK,RCTL)
SA1 RCTK GET STATUS OF REQUEST
SX2 X1-TSNO
ZR X2,RCT1 IF TRANSACTION NOT RERUNNABLE
SA3 RCTCL
SX2 X1-TSUU
ZR X2,RCT4 IF USER UNKNOWN
SA3 RCTBL
SX2 X1-TSNE
ZR X2,RCT1 IF NO ERRORS IN *SRERUN*
* IF AN ERROR OCCURS ON *SRERUN* THEN SEND ERROR MESSAGE
* TO ORIGINATING TERMINAL OR TAF-S DAYFILE AND CONTINUE
* PROCESSING.
SA1 RCTV GET TRANSACTION TYPE
SX2 X1-TYBT
ZR X2,RCT3 IF *BTRAN* TRANSACTION
MX2 -48
BX6 -X2*X3 MESSAGE ADDRESS AND NUMBER OF WORDS
SA1 RCTJ
MX4 1 TERMINAL FLAG
BX6 X6+X4
SA6 RCTH WORD ONE OF *SEND* PARAMETERS
MX2 48
LX3 12
SA4 RCTL
BX6 X2*X1 APPLICATION BLOCK AND CHARACTER TYPE
BX3 -X2*X3 TEXT LENGTH COUNT
BX7 X4 USER NAME
SA7 A6+B1 WORD TWO OF *SEND* PARAMETERS
BX6 X6+X3
BX7 X7-X7
SA6 A7+B1 WORD THREE OF *SEND* PARAMETERS
SA7 A6+B1 WORD FOUR OF *SEND* PARAMETERS
SEND RCTH SEND MESSAGE TO ORIGINATING TERMINAL
EQ RCT1 READ NEXT ENTRY FROM *CRF*
RCT3 AX3 30
SX4 X3 MESSAGE ADDRESS
AX3 18 MESSAGE LENGTH
BX6 X3
SA6 RCTW
SCALL TMSG,(X4,RCTW) SEND MESSAGE TO DAYFILE
EQ RCT1 READ NEXT ENTRY FROM *CRF*
* A SYSTEM ERROR OCCURRED AND AN ERROR MESSAGE WILL BE PUT
* IN TAF-S DAYFILE, THEN *RCTASK* WILL CEASE WITH A DUMP.
RCT4 AX3 30
SX4 X3 MESSAGE ADDRESS
AX3 18 MESSAGE LENGTH
BX6 X3
SA6 RCTW
SCALL TMSG,(X4,RCTW) SEND MESSAGE TO DAYFILE
CEASE 2 ABNORMAL CEASE WITH DUMP
RCT5 CEASE EXIT TASK WITH CEASE
* DAYFILE MESSAGES.
RCTA DATA C* RCTASK - TAF AUTOMATIC RECOVERY NOT INSTALLED.*
RCTAL VFD 12/**10-RCTA*10,18/RCTA,30/*-RCTA
RCTB DATA C* RCTASK - TASK LOGICAL ERROR.*
RCTBL VFD 12/**10-RCTB*10,18/RCTB,30/*-RCTB
RCTC DATA C* RCTASK - USER NOT DEFINED IN NETWORK FILE.*
RCTCL VFD 12/**10-RCTC*10,18/RCTC,30/*-RCTC
RCTD EQU 306030B CONNECTION ENDED SUPERVISORY MESSAGE
RCTE DATA C* BEGIN TRANSACTION RERUN.*
RCTF EQU *-RCTE
RCTG EQU RCTF*10
* *SEND* REQUEST PARAMETERS.
RCTH BSSZ 4
RCTI VFD 1/1,3/0,1/1,7/0,18/RCTE,12/0,18/RCTF
RCTJ VFD 6/2,30/0,4/4,8/0,12/RCTG
* *SRERUN* REQUEST PARAMETERS.
RCTK CON 0 STATUS OF REQUEST
RCTL CON 0 USER NAME
* *TSTAT* REQUEST PARAMETERS.
RCTM CON 0 STATUS OF *TSTAT* REQUEST
RCTN DATA 4HNEXT
RCTO CON 0 NEXT USER FROM *CRF*
RCTP DATA 4HSTEP
RCTQ CON 0 TRANSACTION STEP
RCTR DATA 4HCDCS
RCTS CON 0 *CDCS* USAGE
RCTT DATA 1H BLANK WORD
RCTU DATA 4HTRAN
RCTV CON 0 TRANSACTION TYPE
RCTW CON 0 MESSAGE LENGTH
END RCTASK