IDENT ITASK
ENTRY ITASK
LCC OVERLAY(ITASK,0,0)
SST BEGN,CMBL
SYSCOM B1
*COMMENT INITIAL TASK.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
ITASK TITLE INITIAL TASK.
*** INITIAL TASK
* M. M. CHEN 1977.
* E. D. REDIG. 80/06/20. *TAF* AUTOMATIC RECOVERY.
SPACE 4,15
*** INITIALIZE TASK IS THE INTERFACE BETWEEN THE TRANSACTION
* EXECUTIVE AND USER-S APPLICATION TASK. *ITASK* PROCESSES
* ALL TRANSACTION INPUT TO DETERMINE WHICH TRANSACTION UNIT
* TO CALL TO FURTHER PROCESS THE INPUT, AND STATUS MESSAGES
* CONCERNING THE STATE OF THE TRANSACTION SYSTEM.
*
* BECAUSE TRANSACTION INPUT WILL VARY FROM APPLICATION TO
* APPLICATION, INITIAL TASK WILL HAVE TO VARY TO ADAPT TO
* DIFFERENT INPUT FORMATS AND OPERATIONAL CONDITIONS. THIS
* INITIAL TASK IS PROVIDED TO SERVE AS AN EXAMPLE. EACH
* INSTALLATION WILL NEED ITS OWN INITIAL TASK TO SERVE ITS OWN
* SPECIFIC NEEDS.
MACROS TITLE MACROS
*CALL COMKTAF
*CALL COMKFLD
*CALL COMKIPR
*CALL COMKMAC
BEGN BSS 0 SAVE ORIGIN COUNTER
*CALL COMKCBD
ORG BEGN RESTORE ORIGIN COUNTER
NOREF .1,.2
.1 SET 0
.2 SET 0
TIMCNT SPACE 4
** TIMCNT - DEFINE A TIME ORIGINATING TASK.
*
PURGMAC TIMCNT
TIMCNT MACRO HH,MM,SS,ADDR
VFD 18/ADDR,24/0,6/HH,6/MM,6/SS
ENDM
TRAN SPACE 4,20
** TRAN - DEFINE A TRANSACTION CODE.
*
* THE *TRAN* MACRO SETS UP ENTRIES FOR THE TABLE OF
* TRANSACTION CODES *TRANT*. NOTE - A PARTICULAR
* TRAN ENTRY SETS UP THE TRANT ENTRY FOR THE PRECEDING
* DECLARED TRANSACTION CODE. *ITASK* ASSUMES THAT
* THE *TRANT* TABLE IS SET UP IN DISPLAY ORDER. IT
* USES THE DISPLAY CODE VALUE OF THE TRANSACTION CODE
* ENTERED BY THE USER TO LOCATE THE PROPER ENTRY IN
* *TRANT*.
*
* TRAN CODE
*
* ENTRY CODE = ONE-CHARACTER TRANSACTION CODE.
* TRANS = SYMBOL SPECIFYING THE RELATIVE ADDRESS
* OF SUBTRANSACTION CODES.
*
* EXIT ENTRY MADE INTO THE TABLE OF TRANSACTION
* CODES *TRANT*.
PURGMAC TRAN
TRAN MACRO A
VFD 12/2000B+.1,48/TRANS+.2
.2 SET .2+.1
.1 SET 0
ENDM
STRAN SPACE 4,15
** STRAN - DEFINE A SUBTRANSACTION CODE.
*
* THE *STRAN* MACRO MAKES ENTRIES IN THE TABLE OF
* SUBTRANSACTION CODES *TRANS*. *TRANS* CONTAINS THE
* SUBTRANSACTION CODE AND THE CORRESPONDING NAME OF
* THE TRANSACTION UNIT.
*
* STRAN CODE,TNAME
*
* ENTRY CODE = TWO-CHARACTER SUBTRANSACTION CODE.
* TNAME = NAME OF THE TRANSACTION UNIT TO BE CALLED.
*
* EXIT ENTRY MADE INTO THE TABLE OF SUBTRANSACTION
* CODES *TRANS*.
PURGMAC STRAN
STRAN MACRO CODE,TNAME
STRAN RMT
VFD 12/0H_CODE,6/0,42/0L_TNAME
STRAN RMT
.1 SET .1+1 ADVANCE SUB TRANSACTION CODE COUNT
ENDM
BSS CMBL RESERVE SPACE FOR COMMUNICATION BLOCK
TABLES TITLE TRANSACTION TABLES.
TRANT SPACE 4,20
** TRANT - TRANSACTION CODE TABLE.
*
* EACH GROUP OF ENTRIES RELATING TO THE SAME TRANSACTION
* CODE IS PLACED IMMEDIATELY FOLLOWING THE *TRANT* ENTRY
* FOR THAT CODE, ALTHOUGH THE SUBTRANSACTION TABLE IS
* ASSEMBLED ELSEWHERE. THE FOLLOWING IS AN EXAMPLE OF
* THE USE OF THE *TRAN* AND *STRAN* MACROS.
*
* TRANT BSS 0
*
* TRAN A
*
* STRAN 02,TNAME1
*
* STRAN 03,TNAME2
*
* WHERE, *A* IS THE TRANSACTION CODE, *02* AND *03* ARE
* THE SUBTRANSACTION CODES, AND *TNAME1* AND *TNAME2*
* ARE THE RESPECTIVE TRANSACTION UNITS TO BE REQUESTED.
*
* THE DECLARATION OF A TRANSACTION UNIT AND THE ASSOCIATION
* OF ATTRIBUTES WITH IT IS ACCOMPLISHED THROUGH *LIBTASK*
* DIRECTIVES.
TRANT BSS 0
LOC 1
TRAN A
TRAN B
TRAN C
TRAN D
TRAN E
STRAN (X.),XTRAN EXECUTE NAMED TASK
* CAUTION: THE FOLLOWING IS AN EXAMPLE OF A *LIBTASK*
* DIRECTIVE NEEDED FOR THE TRANSACTION UNIT *XTRAN*.
*
* /XTRAN,T1=XTASK
TRAN F
TRAN G
TRAN H
TRAN I
TRAN J
TRAN K
TRAN L
TRAN M
TRAN N
TRAN O
TRAN P
TRAN Q
TRAN R
TRAN S
TRAN T
TRAN U
TRAN V
TRAN W
TRAN X
TRAN Y
TRAN Z
TRAN 0
TRAN 1
TRAN 2
TRAN 3
TRAN 4
TRAN 5
TRAN 6
TRAN 7
TRAN 8
TRAN 9
TRAN +
TRAN -
TRAN *
TRAN /
TRAN )
TRAN (
TRAN $
TRAN =
TRAN 1R
TRAN ,
TRAN .
TRAN #
TRAN [
TRAN ]
TRAN :
TRAN "
TRAN _
TRAN !
TRAN &
TRAN '
TRAN ?
TRAN <
TRAN :
TRAN @
TRAN \
TRAN ^
TRAN ;
TRAN
LOC *O
STAN SPACE 4,10
** SUBTRANSACTION CODE TABLES.
*
TRANS BSS 0
STRAN HERE
TTOT SPACE 4,10
** TABLE OF TIME ORIGINATING TASKS.
* TIMCNT MACROS WOULD BE PUT IN THIS TABLE.
TTOT BSS 0
TTOTL EQU *-TTOT
ITASK TITLE ITASK
ITASK SPACE 4,80
** ITASK - PROCESS TRANSACTION INPUT.
*
* *ITASK* EXTRACTS THE DATA BASE NAME FROM THE COMMUNICATION
* BLOCK AND SEARCHES A DATA BASE NAME TABLE TO DETERMINE WHAT
* INPUT PROCESSING IS NECESSARY.
*
* *ITASK* MAY BE CALLED WITH SYSTEM ORIGIN TRANSACTIONS,
* WITH THE TYPE OF CALL IN WORD *TMSW* OF THE COMMUNICATION
* BLOCK.
*
* ENTRY (TRSQ) = 12/ DB,24/ UA,24/ SEQ
* (TNAM) = 42/ TN,1/S,1/P,1/B,2/ ,1/M,12/WC
* (TMSW) = MESSAGE IF S .EQ. 0.
* = RC IF S .EQ. 1.
*
* DB DATA BASE FOR TERMINAL
* UA USER ARGUMENT FIELD FOR TERMINAL
* SEQ TRANSACTION SEQUENCE NUMBER
* TN TERMINAL NAME
*
* S =1 IF SYSTEM ORIGIN TRANSACTION.
* P =1 IF PARITY ERROR OCCURRED ON TERMINAL INPUT.
* B =1 IF TRANSACTION INPUT CAME FROM BATCH.
* M =1 IF MULTIPLE COMMUNICATION BLOCKS USED.
* WC MESSAGE LENGTH IN WORDS.
*
* RC = 1 IMPLIES SYSTEM TIMED ACTIVATION.
* = 2 IMPLIES IDLE DOWN (K.IDLE).
* = 3 IMPLIES RECOVERY HAS TAKEN PLACE.
* = 4 IMPLIES TERMINAL LOGIN.
* = 5 IMPLIES SYSTEM MESSAGE.
* SYSTEM MESSAGE IS HANDLED BY *SYSMSG* TASK
* NOT BY ITASK.
* = 6 IMPLIES TERMINAL BREAK FROM NAM.
* = 7 IMPLIES TERMINAL CONNECTION BROKEN FROM NAM
* = 8 IMPLIES NETWORK SHUT DOWN -NORMAL.
* = 9 IMPLIES NAM ABORTED.
* = 10 IMPLIES NETWORK SHUT DOWN - FORCED.
* = 11 IMPLIES TERMINAL INACTIVE.
* = 14 IMPLIES LOGICAL ERROR.
* = 15 IMPLIES BLOCK NOT DELIVERED.
* = 16 IMPLIES TERMINAL CHARACTERISTICS.
* = 17 IMPLIES INPUT TOO LARGE.
* = 18 IMPLIES TERMINAL STATUS REQUEST.
*
* SEE COMMON DECK *COMKSTC* FOR SYBOLS AND THEIR VALUES.
*
* FOR CODES 1, 2, 3, 8, 9, AND 10
* THE COMMUNICATION BLOCK HEADER CONTAINS ZERO FOR TERMINAL
* NAME AND USER AREA, THE DATA BASE IS *SY* WITH SECURITY
* CODES OF 7.
*
* FOR CODE 4, THE COMMUNICATION BLOCK HEADER IS SET UP WITH
* THE FOLLOWING INFORMATION FOR THE TERMINAL LOGGED IN.
*
* (TMSW+1) = 23/ ,12/BSZ,1/HW/8/DT,8/PW,8/PL
*
* BSZ = BLOCK SIZE. (IN CHARACTERS, BITS 25-37)
* HW = HARD WIRED LINE. (BIT 24)
* DT = DEVICE TYPE/TERMINAL CLASS. (BIT 16-23)
* PW = PAGE WIDTH OF TERMINAL. (BIT 8-15)
* PL = PAGE LENGTH OF TERMINAL. (BIT 0-7)
*
* FOR CODES 6, 7, AND 11 - 17
* THE COMMUNICATION BLOCK IS SET UP WITH NORMAL SEQUENCE
* NUMBER, TERMINAL NAME OF MALFUNCTION, THE DATA BASE FOR
* THE TERMINAL, READ AND UPDATE SECURITY OF 7 AND THE NETWORK
* SUPERVISORY MESSAGE IS FORMED IN (TMSW+1).
*
* THE FORMATS OF NETWORK SUPERVISORY MESSAGES ARE GIVEN IN
* COMMON DECK *COMKNWF*. THE VALUES FOR THE FIELDS ARE GIVEN
* IN COMMON DECK *COMSNCD*.
*
* USES A - 1, 2, 5, 6, 7.
* B - 3.
* X - 0, 1, 2, 5, 6, 7.
*
* CALLS BIN, CBT, CCS, CTL, CYB.
*
* MACROS CALLTRN, CALLTSK, CEASE, FMSG, JOURNL, SCALL, SEND.
ITASK SB1 1 ENTRY
SA2 TNAM
SA5 A2+B1 SYSTEM TRANSACTION CODE
LX2 59-CBSYS LEFT JUSTIFY SYSTEM ORIGIN
SA1 A2-B1
SX0 X5
NG X2,ITA1 IF SYSTEM ORIGIN TRANSACTION
BX3 X2
LX2 59-CBIDS-59+CBSYS
NG X2,ITA15 IF OPERATOR IDLE DOWN
LX3 59-CBCDS-59+CBSYS
NG X3,ITA16 IF CDCS ABORTED
* IF INPUT FOUND IN TRANSACTION, SUBTRANSACTION TABLES
* SCHEDULE TRANSACTION UNIT SPECIFIED BY TABLES. OTHERWISE
* USE INPUT AS TRANSACTION UNIT TO SCHEDULE.
RJ CYB PROCESS INPUT
NZ X1,ITA8 IF TRANSACTION UNIT FOUND
RJ CCS CHECK CHARACTER STRING
ZR X1,ITA7 IF NO TRANSACTION UNIT TO SCHEDULE
EQ ITA8 SCHEDULE TRANSACTION UNIT
* DETERMINE PROCESSOR FOR SYSTEM ORIGIN TRANSACTION.
ITA1 LX0 -1
SX6 X0-TITAL
SB3 X0
PL X6,ITA14 IF UNKNOWN REASON CODE
JP B3+TITA JUMP THRU TABLE
TITA PL X0,ITA14 IF UNKNOWN REASON CODE
EQ ITA13 IF SYSTEM TIMED ACTIVATION
PL X0,ITA13 IF IDLE
EQ ITA13 IF RECOVERY HAS TAKEN PLACE
PL X0,ITA2 IF TERMINAL LOG IN
EQ ITA13 IF SYSTEM MESSAGE
PL X0,ITA3 IF BREAK
EQ ITA12 IF CONNECTION BROKEN
PL X0,ITA12 IF NETWORK SHUT DOWN - NORMAL
EQ ITA12 IF NETWORK ABORT
PL X0,ITA12 IF NETWORK SHUT DOWN - FORCED
EQ ITA12 IF TERMINAL INACTIVE
PL X0,ITA14 IF UNKNOWN REASON CODE
EQ ITA14 IF UNKNOWN REASON CODE
PL X0,ITA4 IF TASK LOGICAL ERROR
EQ ITA5 IF BLOCK NOT DELIVERED
PL X0,ITA12 IF TERMINAL CHARACTERISTICS
EQ ITA6 IF INPUT TOO LARGE
PL X0,ITA12 IF TERMINAL STATUS REQUEST
EQ ITA14 IF UNKNOWN REASON CODE
TITAL EQU *-TITA LENGTH OF *ITASK* JUMP TABLE
* PROCESS TERMINAL LOG IN.
ITA2 SEND ITAF SEND *READY.*
SA1 TRSQ FIRST WORD OF COMMUNICATION BLOCK
RJ CBT CHECK FOR BINARY TERMINAL
ZR X6,ITA13 IF NOT BINARY TERMINAL
SA6 ITAE
SX7 ITAD BINARY INPUT REQUEST MESSAGE
EQ ITA10 SEND MESSAGE AND CEASE
* PROCESS TERMINAL BREAK.
* APPLICATION MAY WISH TO ACTIVE RECOVERY TASK.
ITA3 SX7 1 *BREAK RECEIVED.* MESSAGE CODE
EQ ITA18 CALLTSK TO SEND MESSAGE
* PROCESS TASK LOGICAL ERROR.
* APPLICATION MAY WISH TO DUMP THE TASK.
ITA4 SX7 ITAH *TASK LOGICAL ERROR.* MESSAGE
EQ ITA11 SEND AND JOURNAL MESSAGE THEN CEASE
* PROCESS BLOCK NOT DELIVERED.
* APPLICATION MAY WISH TO ACTIVE RECOVERY TASK.
ITA5 SX7 ITAI *BLOCK LOST.* MESSAGE
EQ ITA11 SEND AND JOURNAL MESSAGE THEN CEASE
* PROCESS INPUT TOO LARGE.
ITA6 SX7 0 *INPUT TOO LARGE.* MESSAGE CODE
EQ ITA18 CALLTSK TO SEND MESSAGE
* PROCESS NO TRANSACTION UNIT TO SCHEDULE.
ITA7 SX7 2 ILLEGAL TRANSACTION UNIT MESSAGE CODE
EQ ITA18 CALLTSK TO SEND MESSAGE
* SCHEDULE A TRANSACTION UNIT AND CEASE.
ITA8 BX7 X1
SA7 ITAA TRANSACTION UNIT NAME
RJ CTL CHECK TIME LIST
NZ X2,ITA9 IF TIME TO SCHEDULE TRANSACTION UNIT
CALLTRN ITAA SCHEDULE TRANSACTION UNIT AND CEASE
ITA9 CALLTSK ITAA SCHEDULE THE TIMED TASK
SA1 CTLA TRANSACTION UNIT TO SCHEDULE
EQ ITA8 SCHEDULE TRANSACTION UNIT
ITA10 SEND X7 SEND MESSAGE
EQ ITA13 CEASE
ITA11 SEND X7 SEND MESSAGE
* PROCESS CONNECTION BROKEN, NETWORK ABORT, NETWORK
* SHUTDOWN, TERMINAL INACTIVE, STOP AND START ON
* DOWNLINE CONNECTION. JOURNAL MESSAGE.
ITA12 JOURNL ITAC JOURNAL MESSAGE
CEASE -1 EXIT WITHOUT UNLOCKING TERMINAL
ITA13 CEASE EXIT WITHOUT SCHEDULING TRANSACTION UNIT
* PROCESS UNKNOWN REASON CODE.
ITA14 SCALL TMSG,(ITAB) SEND MESSAGE TO DAYFILE
CEASE 2 ABNORMAL CEASE WITH DUMP
* TAF IS IDLING DOWN, ONLY ACCEPT *EX.LOGT*
* AS INPUT.
ITA15 SX7 ITAL *TAF IDLING DOWN.*
EQ ITA17 SEND MESSAGE AND CEASE
* CDCS ABORTED, ONLY ACCEPT *EX.LOGT*
* AS INPUT.
ITA16 SX7 ITAM *CDCS ABORTED PLEASE WAIT*
* CHECK FOR *EX.LOGT*.
ITA17 SA1 ITAN
IX2 X1-X5 PROCESS INPUT
MX1 42
BX2 X1*X2
NZ X2,ITA10 IF NOT *EX.LOGT*
RJ CYB
ITA18 SA7 TMSW
SA1 ITAO
BX7 X1
SA7 ITAA
CALLTSK ITAA,CEASE
EQ ITA8 PROCESS *EX.LOGT*
ITAA BSSZ 2 TRANSACTION UNIT LIST FOR *CALLTRN*
ITAB DATA C* UNKNOWN REASON CODE.*
ITAC VFD 6/0,18/0,18/2,18/TRSQ
ITAD VFD 12/0,18/ITAE,12/0,18/ITAEL SEND CONTROL WORD
ITAE CON 0
ITAEL EQU *-ITAE
ITAF FMSG READY.
ITAH FMSG (TASK LOGICAL ERROR.)
ITAI FMSG (BLOCK LOST.)
ITAL FMSG (TAF IDLING DOWN.)
ITAM FMSG (CDCS ABORTED PLEASE WAIT.)
ITAN VFD 60/0LEX.LOGT
ITAO VFD 60/0LSTASK
CYB TITLE CYBERLOAN/NIXDORF INPUT PROCESSING.
CYB SPACE 4,20
** CYB - CYBERLOAN INPUT PROCESSING.
*
* THE FIRST THREE CHARACTERS OF INPUT ARE USED
* TO DETERMINE WHICH TRANSACTION UNIT TO CALL.
*
* ENTRY (X5) = FIRST WORD OF DATA MESSAGE.
*
* EXIT (X1) = TRANSACTION UNIT TO SCHEDULE.
* = 0, IF NO TRANSACTION UNIT TO SCHEDULE.
*
* USES A - 1, 2, 7.
* B - 2, 3.
* X - 0, 1, 2, 5, 7.
*
* CALLS BIN.
CYB SUBR ENTRY/EXIT
* THE FIRST CHARACTER OF INPUT DETERMINES THE
* SUBTRANSACTION TABLE.
MX2 -6
LX5 6
BX2 -X2*X5 TRANSACTION CODE
MX0 12
SA2 X2+TRANT INDEX TO SUB TRANSACTION CODES
BX7 X0*X5 SUB TRANSACTION CODES
UX2,B3 X2
SB2 X2 START OF SUB TRANSACTION CODES
* CHARACTERS 2 AND 3 DETERMINE THE TRANSACTION UNIT
* TO SCHEDULE FROM THE SUBTRANSACTION TABLE.
RJ BIN SEARCH SUB TRANSACTION CODE TABLE
ZR X3,CYB1 IF ILLEGAL SUB-TRANSACTION CODE
LX1 18
MX7 42
BX1 X7*X1 TRANSACTION UNIT NAME TO SCHEDULE
EQ CYBX RETURN
CYB1 SX1 X3 NO TRANSACTION UNIT TO SCHEDULE
LX5 -6 REPOSITION TERMINAL INPUT
EQ CYBX RETURN
BIN SPACE 4,15
** BIN - BINARY SEARCH TABLE.
*
* ENTRY (X0) = MASK.
* (X7) = CRITERION.
* (B2) = START OF TABLE.
* (B3) = LENGTH OF TABLE.
*
* EXIT (X3) = 0 IF MATCH NOT FOUND.
* (X1) = ENTRY IF MATCH.
*
* USES A - 1.
* B - 2, 3.
* X - 1, 2, 3, 6.
BIN SUBR ENTRY/EXIT
SX3 B3+
SB3 B2+B3
SB3 B3-B1
ZR X3,BINX IF THERE ARE NO ELEMENTS TO SEARCH
BIN1 SX3 B3-B2
AX3 1
SA1 X3+B2 TABLE ENTRY
NO
BX2 X0*X1
IX6 X2-X7
NG X6,BIN2 IF RAISE LOWER LIMIT
ZR X6,BIN3 IF FOUND ENTRY
SB3 A1-1 LOWER UPPER LIMIT
GE B3,B2,BIN1 IF NOT END OF TABLE
SX3 0
EQ BINX RETURN - NO MATCH FOUND
BIN2 SB2 A1+B1
LE B2,B3,BIN1 IF NOT END OF TABLE
BX3 X3-X3
EQ BINX RETURN - NO MATCH FOUND
BIN3 SX3 1
EQ BINX RETURN - MATCH FOUND
ITASK SPACE 4,15
** CCS - CHECK CHARACTER STRING FOR TRANSACTION UNIT NAME.
*
* THE FIRST ONE TO SEVEN ALPHANUMERIC CHARACTERS OF INPUT
* ARE USED TO DETERMINE WHICH TRANSACTION UNIT TO SCHEDULE.
*
* ENTRY (X5) = FIRST WORD OF TERMINAL INPUT.
*
* EXIT (X1) = TRANSACTION UNIT TO SCHEDULE.
* = 0, IF NO TRANSACTION UNIT TO SCHEDULE.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* B - 2, 3.
CCS SUBR ENTRY/EXIT
MX2 48 EIGHT CHARACTER MASK
SB2 6
BX6 X6-X6 CLEAR TRANSACTION UNIT NAME
SX0 1R+
BX5 X5*X2 MASK OFF CHARACTER STRING
MX3 -6 ONE CHARACTER MASK
SB3 60
LX5 6 POSITION TERMINAL INPUT
BX1 X6
CCS1 BX4 -X3*X5 GET A CHARACTER
ZR X4,CCS2 IF END OF TRANSACTION UNIT NAME
IX2 X4-X0
PL X2,CCS3 IF NOT ALPHANUMERIC
LX6 6
SB3 B3-B2
BX6 X6+X4 TRANSFER A CHARACTER
LX5 6
EQ CCS1 LOOP FOR NEXT CHARACTER
CCS2 SB2 12
EQ B2,B3,CCSX IF TOO MANY CHARACTERS
CCS3 ZR X6,CCSX IF ZERO LENGTH TRANSACTION UNIT NAME
LX6 X6,B3 POSITION TRNASACTION UNIT NAME
BX1 X6
EQ CCSX RETURN
CTL SPACE 4,20
** CTL - CHECK TIMED TRANSACTION UNIT LIST.
*
* THIS ROUTINE CHECKS TIME DEPENDENT TRANSACTION UNITS.
* IF IT IS TIME TO SCHEDULE A TRANSACTION UNIT THEN (X2) =
* THE ADDRESS OF THE TRANSACTION UNIT, OTHERWISE (X2) = 0.
*
* APPLICATIONS MAY WISH TO GENERATE TIME DEPENDENT TRANS-
* ACTION TABLES BY MACRO *TIMCNT* AND CHANGE THIS ROUTINE
* TO SEARCH FOR THE PROPER TRANSACTION UNIT TO SCHEDULE.
* DEFAULT VALUE FOR *TAF* IS NO TIMED TRANSACTION UNIT.
*
* ENTRY NONE.
*
* EXIT (X2) = FWA OF TRANSACTION UNIT TO SCHEDULE.
* (X2) = 0 IF NOT TIME TO SCHEDULE TIMED TRANSACTION.
*
* USES X - 2.
CTL SUBR ENTRY/EXIT
SX2 0
EQ CTLX RETURN
CTLA BSS 1 NEXT TIMED TRANSACTION UNIT TO SCHEDULE
SPACE 4
* COMMON DECKS.
LIST X
*CALL COMKCBT
*CALL COMKSTC
END ITASK