CHANGE
CHECK
CLOSE
After you have become familiar with the workings of the VTAM macro instructions described in this book, this appendix can be used as a quick reference. It shows the following information about all of the executable macro instructions in this book:
• The control block fields that are set by the application program when (or before) the macro instruction is issued.
• The control block fields and registers that are set by VTAM during macro instruction processing.
Note: All of the control block fields that apply to the macro instruction are shown, but remember that not all fields apply to every possible variation of a macro instruction. Refer to the macro instruction descriptions if you are in doubt.
Throughout this appendix, a pointer (~) indicates that a field contains the address of the given item, and an equal-sign indicates that a field contains the item itself.
You will also note that a horizontal dashed line is used with each macro instruction;
all information above this line concerns information your application program supplies to the macro instruction, and all information shown below this line concerns information that the macro instruction passes back to your application program.
~ RPL: ACB field ~ ACB to which terminal is connected NIB field ~ modified NIB:
CID field
=
CID of terminalUSERFLD field = new data to be returned during subsequent I/O requests
MODE field = BASIC
PROC field = new set of processing options {ECB field ~fu1lword work area}
EXIT field ~ RPL exit-routine OPTCD field
=
(SYNIASY, CAICS) Registers 0 and 15=
return codesRPL: RTNCD field
=
recovery action return code FDBK2 field = specific error return code REQ field = request code~ RPL being checked RPL set inactive
Registers 0 and 15 = return codes
~ ACB being closed Register 15 = return code
ACB: OF LAGS field
=
opened or not-opened indicator ERROR field = specific error return codeAppendix A: Control Block Field Usage 167
CLSDST ~ RPL: ACB field ~ ACB
<
disconnected(NIB field ~ NIB: NAME field = symbolic name of tenninal to be}
{ ARG field = CID of tenninal to be disconnected
AAREA field ~ symbolic name of receiving application program AREA field ~ logon message
RECLEN field
=
length of logon message { ECB field ~ fullword work area}EXIT field ~ RPL exit-routine
OPTCD field
=
(pASS I RELEASE , SYNIASY) Registers 0 and 15 = return codesRPL: RTNCD field = recovery action return code FDBK2 field
=
specific error return code DO ~ RPL: ACB field -+ ACBARG field
=
CID of terminal { ECB field ~ fullword work area}EXIT field ~ RPL exit-rou tine OPTCD field = (SYNIASY, CSICA) AREA field ~ LDO:
If CMD field = COPYLBM or COPYLBT,
ADDR ~ copy control character and sending device's CID (ARG field contains receiving device's CID) LEN
=
3IfCMD field = READ or READBUF, ADDR ~ input data area
LEN = length of data area
If CMD field
=
ERASELBM or ERASELBT, ADDR ~ output dataLEN
=
length of dataIfCMD field
=
WRITE, WRITELBM, WRITELBT, WRTHDR, WRTNRLG, orWRTPRLG,ADDR ~ output data LEN = length of output data Registers 0 and 15 = return codes
RPL: AAREA field ~ last LDO used
USER field ~ data from USERFLD field of NIB RECLEN field = length of data received
FDBK field
=
status information (if CMD field = READ) RTNCD field=
recovery action return codeFDBK2 field = specific error return code REQ field = request code
EXECRPL ~ RPL: All fields appropriate for the request type (indicated in the REQ field) are valid.
GENCB AM = VTAM
BLK operand
=
control block typecontrol block field name operand = value to be set in field COPIES operand
=
number of copies desiredWAREA operand ~ work area where blocks will be built LENGTH operand
=
length of work areaMF operand = list, generate, or execute form parameters
INQUIRE
Register 0
=
error return code (if register 15 indicates unsuccessful completion) Register 0 = length of generated control blocks (if built in dynamically allocatedstorage obtained by VTAM and register 15 indicates successful completion)
Register 1 ~ generated control blocks (if built in dynamically aHocated storage obtained by VTAM and register 15 indicates successful completion) Register 15
=
general return code~ RPL: ACB field ~ ACB
{ECB field ~ fullword work area}
EXIT field ~ RPL exit-routine
OPTCD = (LOGONMSG\DEVCHAR\COUNTS\TERMS\BSCID\APPSTAT\
CIDXLATE\TOPLOGON, SYN\ASY) If OPTCD = LOGONMSG,
NIB field ~ NIB: NAME field
=
symbolic name of terminal AREA field ~ input area for logon messageAREALEN field = length of input area If OPTCD = DEVCHAR,
{NIB field ~ NIB: NAME field = symbolic name of terminal}
ARG field = CID of terminal
AREA field ~ input area for characteristics AREALEN field
=
8If OPTCD = TERMS,
NIB field ~ NIB: NAME field = symbolic name of terminal (or group, as defined by the GROUP definition macro) AREA field ~ work area where NIBs will be built
AREALEN field = length of work area If OPTCD = COUNTS,
AREA field ~ input area for data AREALEN field = 4
If OPTCD = APPSTAT,
NIB field ~ NIB: NAME field = symbolic name of application program If OPTCD = CIDXLATE,
{NIB field ~ NIB: NAME field
=
symbolic name of terminal}ARG field = CID to be translated
AREA field ~ input area for symbolic name AREALEN= 8
If OPTCD = TOPLOGON,
AREA field ~ input area for symbolic name AREALEN = 8
If OPTCD = BSCID,
NIB field ~ NIB: NAME field = symbolic name of UTERM terminal AREA field ~ work area for ID verification sequence
AREALEN field = 20 Registers 0 and 15
=
return codesRPL: RECLEN field = length of data received (ifRTNCD = 0 and FDBK2 = 5, RECLEN = total required length)
FDBK field = status information (if OPTCD = APPST AT) RTNCD field = recovery action return code
FDBK2 field
=
specific error return code REQ field = request codeAppendix A: Control Block Field Usage 169
INTRPRET ~ RPL: ACB field ~ ACB
MODCB
OPEN
OPNDST
{NIB field ~ NIB: NAME field = symbolic name of terminal}
ARG field = CID of terminal AREA field ~ data to be interpreted
RECLEN field = length of data to be interpreted AAREA field ~ work area for interpreted data AAREALN field
=
8{ ECB field ~ fullword work area}
EXIT field ~ RPL exit-routine OPTCD field = SYNIASY Registers 0 and 15 = return codes
RPL: ARECLEN field = length of data received (ifRTNCD = 0 and FDBK2 = 5, ARECLEN = total required length)
RTNCD field = recovery action return code FDBK2 field = specific error return code REQ field = request code
AM=VTAM
control block type operand ~ control block
control block field name operand = new value to be set MF operand = list, generate, or execute form parameters
Register 0 = error return code (if register 15 indicates unsuccessful completion) Register 15 = general return code
~ ACB being opened Register 15 = return code
ACB: OFLAGS field = opened or not-opened indicator ERROR field = specific error status information
~ RPL: ACB field ~ opened ACB to which terminal is to be connected { ECB field ~ fullword work area}
EXIT field ~ RPL exit-routine
OPTCD field = (SPECIANY, SYNIASY, CSICA, QINQ, CONANYI CONALL, ACQUIREIACCEPT)
NIB field ~ NIB:
PROC field = processing options MODE field = BASIC or RECORD
USERFLD field = data to be returned during subsequent I/O requests
IfOPTCD = ACQUIRE,
NAME field = symbolic name of terminal LISTEND field = YES or NO
If OPTCD = ACCEPT and ANY, NAME field not examined LISTEND field = YES If OPTCD = ACCEPT and SPEC,
NAME field = symbolic name of terminal LISTEND field = YES
READ
RECEIVE
Registers 0 and 15 = return codes
RPL: ARG field
=
CID of connected terminal (but ifCONALL in effect and more than one connected, unpredictable)RTNCD field
=
recovery action return code FDBK2 field = specific error return code REQ field = request codeAREA field -+ NIB:
CID field = CID of connected terminal CON field = YES (if terminal connected)
NAME field = symbolic name of connected terminal (when ACCEPT and ANY in effect) DEVCHAR field = device characteristics
-+ RPL: ACB field -+ ACB
ARG field = CID of source terminal AREA field -+ input data area
AREALEN field = length of input data area { ECB field -+ fullword work area}
EXIT field -+ RPL exit-routine
OPTCD field = (SPEC\ANY, SYN\ASY, CS\CA) Registers 0 and 15 = return codes
RPL: ARG field = CID of source terminal (if OPTCD = ANY) RECLEN field = length of input data
USER field
=
data from USERFLD field in NIB FDBK field = status informationRTNCD field = recovery action return code FDBK2 field = specific error return code REQ field = request code
-+ RPL: ACB field -+ ACB to which terminal connected ARG field
=
CID of terminalAREA field -+ input data area
AREALEN field = length of input data area BRANCH field = YES or NO
{ ECB field -+ fullword work area}
EXIT field -+ RPL exit-routine
OPTCD field = (SYN\ASY,CA\CS, SPEC\ANY, TRUNC\KEEP\
NIBTK, Q\NQ)
RTYPE field = (DFSYN\NDFSYN, DFASY\NDFASY, RESP\NRESP) Registers 0 and 15 = return codes
RPL: ARG field
=
CID of terminal completing the RECEIVE RTYPE field=
type of input receivedRECLEN field = length of input data SEQNO field = sequence number of input
RESPOND field = (EX\NEX, FME\NFME, RRN\NRRN) USER field = data from USERFLD field of NIB
REQ field = request code
RTNCD field
=
recovery action return code FDBK2 field = specific error return codeCHNGDIR field
=
REQ\NREQ (if RTYPE=
DF ASY or RESP) CMD\NCMD (if RTYPE=
DFSYN)Appendix A: Control Block Field Usage 171
RESET
BRACKET field
=
(BBINBB, EBINEB) CHAIN field = FIRSTIMIDDLEILASTIONL YSIGDATA field
=
signal value (if CONTROL=
SIGNAL)CONTROL field
=
DATAIQECjRELQIQCICANCELICHASEISHUTDI BIDILUSISIGNALIRTRIRSHUTDISHUTC SSENSEI field=
CPMISTATEIFIIRRIPATHIOSSENSMI field
=
system sense modifier value (or 0) USENSEI field = user sense value (or 0).~ RPL: ACB field -* ACB
ARG field
=
CID of terminal {ECB field -* fullword work area}EXIT field -* RPL exit-routine
OPTCD field = (SYNIASY, CSICA, CONDIUNCONDILOCK) Registers 0 and 15 = return codes
RPL: USER field
=
data from USERFLD field in NIB RTNCD field=
recovery action return code FDBK2 field=
specific error return code REQ field=
request codeRESETSR -* RPL: ACB field -* ACB to which terminal connected ARG field = CID of receiving terminal
{ ECB field -* full word work area}
EXIT field -* RPL exit-routine BRANCH field = YES or NO
RTYPE field = (DFSYNINDFSYN, DF ASYINDFASY, RESPINRESP) OPTCD field = (SYNIASY, CAICS)
Registers 0 and 15
=
return codesRPL: USER field = data from USERFLD field in NIB RTNCD field = recovery action return code FDBK2 field = specific error return code REQ field = request code
SEND -* RPL: ACB field -* ACB to which terminal connected ARG field = CID of receiving terminal
AREA field -* data to be sent
RECLEN field = length of data to be sent
CHNGDIR field = REQINREQ (ifRTYPE = DFASY or RESP) CMDINCMD (if RTYPE = DFSYN)
BRANCH field
=
YES or NO {ECB field -*fullword work area}EXIT field -* RPL exit-routine
RESPOND field = (EXINEX, FMEINFME, RRNINRRN)
RTYPE field = (DFSYNINDFSYN, DF ASYINDFASY, RESPINRESP) CONTROL field = DATAIQECIRELQIQCICANCEL/CHASEISHUTDI
BIDILUS
BRACKET field = (BBINBB, EBINEB) STYPE field = REQ or RESP
If STYPE
=
RESP,SEQNO field = sequence number
If STYPE = RESP and RESPOND = EX, SSENSEO field = CPMISTATEIFIIRR SSENSMO field = system sense modifier value USENSEO field = user sense value
IfSTYPE = REQ and CONTROL = DATA, CHAIN field = FIRSTIMIDDLEILASTIONLY
POST field = SCHEDIRESP (SCHED assumed if normal response not requested)
Registers 0 and 15 = return codes
RPL: USER field = data from USERFLD field of NIB RTNCD field = recovery action return code FDBK2 field = specific error return code REQ field = request code
SEQNO field
=
sequence number RESPOND=
unpredictableIf POST
=
RESP and STYPE=
REQ,CHNGDIR field = (REQINREQ, CMDINCMD)
RESPOND field = (EXINEX, FMEINFME, RRNINRRN) SSENSEI field = CPMISTATEIFIIRRIPATHIO
SSENSMI field
=
system sense modifier value (or 0) USENSEI field = user sense value (or 0)SESSIONC ~ RPL: ACB field ~ ACB to which terminal connected ARG field
=
CID of terminal{
ECB field ~ fullword work area}
EXIT field ~ RPL exit-routine OPTCD field
=
SYNIASYCONTROL field
=
SDTICLEARISTSN If CONTROL=
STSN,IBSQV AL field = inbound sequence number IBSQAC field = S:ETITESTSETIINV ALIDIIGNORE OBSQV AL field = outbound sequence number OBSQAC field = SETITESTSETIINVALIDIIGNORE Registers 0 and 15 = return codes
RPL: USER field = data from USERFLD field of NIB RTNCD field = recovery action return codes FDBK2 field = specific error return code REQ field = request code
SSENSEI field = CPMISTATEIFIIRRIPATHIO SSENSMI field = system sense modifier value (or 0) USENSEI field = user sense value (or 0)
If CONTROL = STSN,
IBSQV AL field = inbound sequence number
IBSQAC field = TESTPOSITESTNEGIRESETIINV ALID OBSQV AL field = outbound sequence number
OBSQAC field = TESTPOSITESTNEGIRESETIINVALID SIMLOGON ~ RPL: ACB field ~ ACB
NIB field ~ NIB:
NAME field = symbolic name of terminal LISTEND field = YES or NO
AREA field ~ logon message
Appendix A: Control Block Field Usage 173
SOliCIT
, · ' t
TESTCB
WRITE
RECLEN field = length of logon message { ECB field -+ fullword work area}
EXIT field -+ RPL exit-routine
OPTCD field = (SYNIASY, QINQ, CONANYICONALL) Registers 0 and 15
=
return codesRPL: RTNCD field = recovery action return code FDBK2 field = specific error return code REQ field = request code
-+ RPL: ACB field -+ ACB
ARG field = CID of source terminal (if OPTCD = SPEC) { ECB field -+ fullword work area}
EXIT field -+ RPL exit-routine
OPTCD field
=
(SPECIANY, SYNIASY, CSICA) Registers 0 and 15=
return codesRPL: USER field = data from USERFLD field of NIB RTNCD field = recovery action return code FDBK2 field = specific error return code REQ field = request code
AM=VTAM
con trol block type operand -+ control block field name operand
=
test valueERET operand -+ error exit-routine
MF operand = list, generate, or execute form parameters
Register 0
=
error return code (if register 15 indicates unsuccessful completion) Register 15 = general return codePSW condition code = test result -+ RPL: ACB field -+ ACB
ARG field = CID of receiving terminal AREA field -+ data to be written
RECLEN field = length of data to be written AAREA field -+ inpu t data area
AAREALN field = length of input data area {
ECB field -+ fullword work area}
EXIT field -+ RPL exit-routine
OPTCD field = (SYNIASY, CSICA, BLKILBMILBT, CONVINCONV, ERASEIEAUINERASE)
Registers 0 and 15
=
return codesRPL: ARECLEN field = length of input data
USER field = data from USERFLD field of NIB FDBK field = status information
RTNCD field