cdc:nos2.source:opl871:rtask
Table of Contents
RTASK
Table Of Contents
- [00010] RECOVER TERMINAL TASK.
- [00088] RECOVER TERMINAL TASK.
- [00367] SND - SEND MESSAGE.
Source Code
- RTASK.txt
- IDENT RTASK
- SST BEGN,CMBL
- LCC OVERLAY(RTASK,0,0)
- ENTRY RTASK
- SYSCOM B1
- RTASK TITLE RTASK - RECOVER TERMINAL TASK.
- *COMMENT RTASK - RECOVER TERMINAL TASK.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- RTASK SPACE 4,10
- *** RTASK - RECOVER TERMINAL TASK.
- *
- * E. D. REDIG. 80/05/07.
- RTASK SPACE 4,40
- *** THE TASK *RTASK* IS A CONTROL DATA SYSTEMS SUPPLIED
- * RECOVERY TASK THAT SHOULD HANDLE MOST TRANSACTION
- * APPLICATION NEEDS. HOWEVER, SOME CUSTOMERS MAY WISH
- * TO MODIFY *RTASK* TO MEET THEIR SPECIAL REQUIREMENTS.
- *
- * TERMINAL DISCONNECTS, *NAM* ABORTS, *TAF* ABORTS, AND
- * SYSTEM CRASHES WILL MEAN THAT THE TERMINAL MUST GO
- * THROUGH THE LOGIN PROCEDURES WITH *TAF*. UPON TERMINAL
- * LOGIN *RTASK* WOULD BE CALLED. *RTASK* THEN DOES THE
- * FOLLOWING.
- *
- * 1. IF A RECOVERABLE TRANSACTION IS NO LONGER RERUNNABLE,
- * *RTASK* TELLS THE TERMINAL OPERATOR THAT RECOVERY HAS
- * OCCURRED, THAT THE RECOVERABLE TRANSACTION WILL NOT
- * BE RERUN AUTOMATICALLY, TO ENTER THE NEXT INPUT, AND
- * CEASES. THIS SITUATION OCCURS WHEN AN INPUT/OUTPUT
- * ERROR OCCURRED ON THE *TAF* RECOVERY FILE.
- *
- * 2. IF THE TRANSACTION UNIT IS NOT RECOVERABLE, *RTASK*
- * SENDS *READY* TO INDICATE THE TERMINAL OPERATOR
- * SHOULD ENTER THE NEXT COMMAND, AND CEASES.
- *
- * 3. IF THE TRANSACTION COMMIT UNIT IS SECURE AND THE DATA
- * BASE COMMIT UNIT IS COMMITTED, *RTASK* SENDS THE TERM-
- * INAL CONFIRMATION MESSAGE, AND CEASES. THE TERMINAL
- * CONFIRMATION MESSAGE IS STORED ON THE *TAF* RECOVERY
- * FILE AS A RESULT OF THE SECURE REQUEST.
- *
- * 4. *RTASK* CALLS *CTASK*. *CTASK* REQUESTS A NEW TRANS-
- * ACTION SEQUENCE NUMBER AND RETURNS THE BEGIN-COMMIT
- * HISTORY TO *TAF CRM*. *CTASK* THEN MAKES A RERUN
- * REQUEST. THE RERUN REQUEST TURNS OFF THE RECOVERY
- * STATUS AND RETRIEVES TERMINAL INPUT FROM THE *TAF*
- * RECOVERY FILE. THE TRANSACTION WILL BE RUN USING THE
- * NEW SEQUENCE NUMBER. *ITASK* WILL LATER PROCESS THE
- * INPUT AS IF THE INPUT HAD COME FROM THE TERMINAL.
- *** COMMON DECKS.
- *CALL COMCMAC
- *CALL COMKTAF
- *CALL COMKFLD
- *CALL COMKIPR
- *CALL COMKMAC
- BEGN BSS 0 SAVE ORIGIN COUNTER
- *CALL COMKCBD
- LIST X
- *CALL COMKTRF
- LIST -X
- *CALL COMKTSC
- ORG BEGN RESTORE ORIGIN COUNTER
- RTASK SPACE 4,15
- *** COMMUNICATION BLOCK HEADER WORDS AND MESSAGES.
- *
- *T TMSW 60/ CASE
- *T, TMSW+1 60/ RECOVERY FLAG (RF)
- *T, TMSW+2 60/ OLDID
- *T, TMSW+3 60/ NEWID
- *T, TMSW+5 60/ *RERUN* STATUS (RS)
- *
- * CASE = 1, RECOVER INTERACTIVE USER.
- * RF BIT 59 = 1, IF *CRM* AUTOMATIC RECOVERY USED.
- * BIT 0 = 1, IF *TAF* AUTOMATIC RECOVERY USED.
- * OLDID = PREVIOUS *CRM* IDENTIFIER.
- * NEWID = CURRENT *CRM* IDENTIFIER.
- * RS = 0, IF *SRERUN* SUCCESSFUL.
- * = 1, IF *SRERUN* NOT SUCCESSFUL.
- * = -1, IF DATA BASE FILE DOWN.
- BSS CMBL RESERVE SPACE FOR COMMUNICATION BLOCK
- RTASK SPACE 4,20
- ** RTASK - RECOVER TERMINAL TASK.
- *
- * ENTRY (TMSW+1) = RECOVERY FLAG.
- *
- * EXIT TERMINAL RECOVERY MESSAGE.
- * (TMSW) = RECOVER INTERACTIVE USER CASE.
- * (TMSW+1) = RECOVERY FLAG.
- * (TMSW+2) = OLDID.
- * (TMSW+3) = NEWID.
- *
- * ERROR TO *RTA3* IF ERROR AND NORMAL CEASE.
- * TO *RTA5* IF ERROR AND ABNORMAL CEASE.
- *
- * USES X - 1, 2, 3, 4, 5, 6, 7.
- * A - 1, 2, 3, 5, 6, 7.
- * B - 1.
- *
- * MACROS BLDABH, CALLTRN, CEASE, FMSG, MOVE, SCALL, WAIT,
- * WAITINP.
- RTASK SB1 1
- * ISSUE *TSTAT* REQUEST TO OBTAIN STATUS OF TRANSACTION.
- SCALL TSTAT,(RTAA,RTAB,RTAC,RTAD,RTAE,RTAF,RTAG,RTAH,RTAI,RTA
- ,J,RTAK,RTAL,RTAM) ISSUE *TSTAT* REQUEST
- SA2 RTAA GET STATUS OF REQUEST
- SX5 RTAAC
- SX4 X2-TSRU RECOVERY UNAVAILABLE
- ZR X4,RTA2 IF RECOVERY UNAVAILABLE
- SX5 RTAAA
- SX4 X2-TSNE NO ERRORS STATUS
- NZ X4,RTA5 IF ERRORS IN *TSTAT*
- SA2 RTAC GET TRANSACTION STEP
- SX5 RTAAC
- SA3 RTAE GET TRANSACTION TYPE
- SX4 X3-TYIT TERMINAL USER TYPE
- NZ X4,RTA14 IF NOT TERMINAL USER
- ZR X2,RTA2 IF TERMINAL TRANSACTION NON-RECOVERABLE
- SX4 X2-CSTA
- ZR X4,RTA2 IF TRANSACTION ABORT STEP
- SX5 RTAAB
- SX4 X2-CSTN NO LONGER RERUNNABLE STEP
- ZR X4,RTA2 IF STEP NO LONGER RERUNNABLE
- * TRANSACTION WILL BE RERUN OR PUSHED THROUGH TO
- * COMPLETION BY SENDING THE *SECURE* MESSAGE.
- SX6 TYIT SET RECOVER INTERACTIVE USER CASE
- SA2 RTAK GET *OLDID*
- SA3 RTAM GET *NEWID*
- SA6 TMSW STORE CASE IN COMMUNICATION BLOCK
- BX6 X2
- BX7 X3
- SA6 TMSW+2 STORE *OLDID* IN COMMUNICATION BLOCK
- SA7 TMSW+3 STORE *NEWID* IN COMMUNICATION BLOCK
- SX7 MAXWS*10 MAXIMUM MESSAGE LENGTH
- SX6 4 SET MESSAGE UNITS TO DISPLAY
- SA7 RTAP STORE MAXIMUM MESSAGE LENGTH
- SA6 RTAQ STORE MESSAGE UNITS
- * ISSUE *RSECURE* REQUEST TO OBTAIN *SECURE* MESSAGE.
- * IF NO *SECURE* MESSAGE, RERUN TRANSACTION.
- SCALL RSECURE,(RTAN,RTAO,RTAP,RTAQ,RTAR,RTAS)
- SA2 RTAO GET STATUS OF REQUEST
- SX4 X2-TSNM NO MESSAGE STATUS
- ZR X4,RTA4 IF NO MESSAGE FROM *RSECURE*
- SX4 X2-TSNE NO ERRORS STATUS
- SX5 RTAAA
- NZ X4,RTA5 IF ERRORS IN *RSECURE*
- SA2 RTAI
- NZ X2,RTA4 IF *CDCS* USED
- SA2 RTAG
- ZR X2,RTA1 IF *CRM* NOT USED
- * IF *CRM* CURRENT BEGIN-COMMIT ID IS SUCCESSFUL, *SEND*
- * *SECURE* MESSAGE ELSE CALL *CTASK* TO RERUN THE TRANSACTION.
- SA2 RTAM
- NZ X2,RTA4 IF *NEWID* NOT ZERO
- * ISSUE *BLDABH* REQUEST TO BUILD APPLICATION BLOCK HEADER.
- RTA1 SCALL BLDABH,(RTAT,RTAQ,RTAU,RTAR,RTAV,RTAS)
- * ISSUE *SEND* REQUEST TO SEND THE SECURE MESSAGE AND CEASE.
- SCALL SEND,(RTAN,RTAP,RTAW,RTAX)
- RTA2 RJ SND SEND MESSAGE
- RTA3 CEASE EXIT TASK WITH CEASE
- RTA3.1 CEASE -1 CEASE BUT TERMINAL WILL REMAIN LOCKED
- * CALL *CTASK* TO RERUN THE TRANSACTION.
- RTA4 SX5 RTAAE
- RJ SND SEND MESSAGE
- CALLRTN RTAZ CALL *CTASK*
- SA2 TMSW+5 GET *RERUN* STATUS
- ZR X2,RTA3.1 IF TRANSACTION WAS RERUNNABLE
- NG X2,RTA6 IF DATA BASE FILE DOWN
- SX5 RTAAF
- RTA5 RJ SND SEND MESSAGE
- CEASE 2 ABNORMAL CEASE WITH DUMP
- * RECOVERY NOT POSSIBLE NOW BECAUSE DATA BASE FILE IS
- * DOWN. SEND MENU OF OPTIONS TO TAKE.
- RTA6 SX6 B0+ MESSAGE COUNT
- SA6 RTSA
- RTA7 SA2 RTSA GET MESSAGE COUNT
- SA5 TRTA+X2 GET MESSAGE ADDRESS
- SX6 X2-TRTAL
- PL X6,RTA8 IF END OF TABLE
- SX6 X2+B1 INCREMENT MESSAGE COUNT
- SA6 A2
- RJ SND SEND MESSAGE
- EQ RTA7 GET NEXT MESSAGE
- * SAVE C.B. MESSAGE AREA AND THEN REQUEST OPTION.
- RTA8 MOVE 4,TMSW,RTSC SAVE C.B. MESSAGE AREA
- RTA9 SX6 300
- SA6 RTSG
- WAITINP RTSG
- SA1 TMSW
- SX3 X1-1
- ZR X3,RTA11 IF TERMINAL TIMEOUT
- RJ SFN SPACE FILL NAME
- SA2 RTSD
- BX3 X2-X6
- ZR X3,RTA10 IF WAIT AND TRY AGAIN
- SA2 RTSE
- BX3 X2-X6
- ZR X3,RTA12 IF LOG OFF
- SA2 A2+B1
- BX3 X2-X6
- ZR X3,RTA13 IF ENTER NEXT TRANSACTION
- SX5 RTAAT
- RJ SND SEND MESSAGE
- EQ RTA9 REQUEST OPTION
- * TAF WILL WAIT 5 MINUTES BEFORE ATTEMPTING RERUN
- * OF TRANSACTION.
- RTA10 SX5 RTAAU
- RJ SND SEND MESSAGE
- WAIT RTSB WAIT FOR 5 MINUTES
- MOVE 4,RTSC,TMSW RESTORE C.B. MESSAGE AREA
- EQ RTA4 RERUN TRANSACTION
- * TERMINAL TIMEOUT, OPTION B ASSUMED.
- RTA11 SX5 RTAAS
- RJ SND SEND MESSAGE
- * LOG OFF WITH THE PREVIOUS RECOVERABLE INFORMATION
- * REMAINING INTACT.
- RTA12 SX5 RTAAV
- RJ SND SEND MESSAGE
- LOGT B1 LOG TERMINAL OUT
- EQ RTA3 CEASE
- * ALLOW ENTRY OF NEXT TRANSACTION. THE PREVIOUS
- * RECOVERABLE INFORMATION WILL BE LOST.
- RTA13 SX5 RTAAW
- RJ SND SEND MESSAGE
- EQ RTA3 CEASE
- * LOG INTERACTIVE TERMINAL USER OFF WITH THE PREVIOUS
- * RECOVERABLE INFORMATION REMAINING INTACT.
- RTA14 SX4 X2-CSNR
- ZR X4,RTA3 IF NON-RECOVERABLE TRANSACTION
- SX4 X2-CSCE
- ZR X4,RTA3 IF CEASE/JOB END
- SX5 RTAAX
- RJ SND SEND MESSAGE
- LOGT B1 LOG TERMINAL OUT
- EQ RTA3 CEASE
- * *TSTAT* REQUEST PARAMETERS.
- RTAA CON 0 STATUS OF *TSTAT* REQUEST
- RTAB DATA 4HSTEP KEYWORD *STEP*
- RTAC CON 0 TRANSACTION STEP
- RTAD DATA 4HTRAN KEYWORD *TRAN*
- RTAE CON 0 TRANSACTION TYPE
- RTAF DATA 3HCRM KEYWORD *CRM*
- RTAG CON 0 *CRM* TRANSACTION USAGE
- RTAH DATA 4HCDCS KEYWORD *CDCS*
- RTAI CON 0 *CDCS* TRANSACTION USAGE
- RTAJ DATA 5HOLDID KEYWORD *OLDID*
- RTAK CON 0 PREVIOUS *CRM* IDENTIFIER
- RTAL DATA 5HNEWID KEYWORD *NEWID*
- RTAM CON 0 CURRENT *CRM* IDENTIFIER
- * *RSECURE* REQUEST PARAMETERS.
- RTAN BSS MAXWS MESSAGE BUFFER
- RTAO CON 0 STATUS OF *RSECURE* REQUEST
- RTAP CON 0 MESSAGE LENGTH
- RTAQ CON 0 MESSAGE UNITS
- RTAR CON 0 FORMAT EFFECTOR
- RTAS CON 0 TRANSPARENT MODE
- * *BLDABH* REQUEST PARAMETERS.
- RTAT DATA 3LACT APPLICATION CHARACTER TYPE
- RTAU DATA 3LNFE FORMAT EFFECTORS
- RTAV DATA 3LXPT TRANSPARENT MODE
- * *SEND* REQUEST PARAMETERS.
- RTAW CON 0 SEND TO ORIGINATING TERMINAL
- RTAX CON 1 CEASE FLAG
- RTAZ DATA 5LCTASK CALL TO *CTASK*
- CON 0
- RTSA CON 0 MESSAGE COUNT
- RTSB CON 300 *WAIT* TIME IN SECONDS
- RTSC BSSZ 4 C.B. STORAGE BUFFER
- RTSD CON 1HA
- RTSE CON 1HB
- RTSF CON 1HC
- RTSG CON 0 *WAITINP* TIME IN SECONDS
- * SEND MESSAGES.
- RTAAA FMSG (TASK LOGICAL ERROR.)
- RTAAB FMSG (RECOVERY, TRANSACTION NOT RERUNNABLE, ENTER NEXT TRANS
- ,ACTION.)
- RTAAC FMSG (READY.)
- RTAAE FMSG (RECOVERY, RERUNNING TRANSACTION.)
- RTAAF FMSG (TAF TRANSACTION NOT RERUNNABLE.)
- RTAAG FMSG (RECOVERY NOT POSSIBLE NOW BECAUSE DATA BASE FILE IS DO
- ,WN.)
- RTAAH FMSG (SELECT DESIRED OPTION FROM FOLLOWING LIST BY ENTERING
- ,LETTER.)
- RTAAI FMSG ( )
- RTAAJ FMSG (A = WAIT 5 MINUTES AND TRY AGAIN. TAF WILL WAIT 5 MIN
- ,UTES)
- RTAAK FMSG ( BEFORE ATTEMPTING RERUN OF TRANSACTION.)
- RTAAL FMSG ( )
- RTAAM FMSG (B = LOG OFF. THE PREVIOUS RECOVERABLE INFORMATION WIL
- ,L)
- RTAAN FMSG ( REMAIN INTACT, LOG IN AT A LATER TIME TO ATTEMPT R
- ,ERUN.)
- RTAAO FMSG ( )
- RTAAP FMSG (C = ALLOW ENTRY OF NEXT TRANSACTION. THE PREVIOUS REC
- ,OVERABLE)
- RTAAQ FMSG ( INFORMATION WILL BE LOST.)
- RTAAR FMSG (?)
- RTAAS FMSG (TERMINAL TIMEOUT, OPTION B ASSUMED.)
- RTAAT FMSG (VALID OPTIONS ARE A, B OR C.)
- RTAAU FMSG (WAITING.)
- RTAAV FMSG (TRANSACTION SESSION ENDED.)
- RTAAW FMSG (ENTER NEXT TRANSACTION.)
- RTAAX FMSG (TERMINAL NOT AVAILABLE.)
- TRTA CON RTAAG
- CON RTAAH
- CON RTAAI
- CON RTAAJ
- CON RTAAK
- CON RTAAL
- CON RTAAM
- CON RTAAN
- CON RTAAO
- CON RTAAP
- CON RTAAQ
- CON RTAAR
- TRTAL EQU *-TRTA LENGTH OF MESSAGE TABLE
- SND SPACE 4,10
- ** SND - SEND MESSAGE.
- *
- * ENTRY (X5) = ADDRESS OF MESSAGE.
- *
- * MACROS SEND.
- SND SUBR ENTRY/EXIT
- SEND X5 SEND MESSAGE
- EQ SNDX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCMVE
- *CALL COMCSFN
- END RTASK
cdc/nos2.source/opl871/rtask.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator