#TREQ syntax is presented alphabetically:
#TREQ syntax for list requests is presented in the next section.
Syntax
►►─┬─────────┬─ #TREQ ALLOC ──────────────────────────────────────────────────► └─ label ─┘ ►─── ,UIOCBA=user-io-control-block-pointer ──────────────────────────────────► ►─┬──────────────────┬───────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬─┘ ├─ E ───┤ └─ L ───┘ ►─┬─────────────────────────────────────┬────────────────────────────────────► │ ┌─────── , ────────┐ │ └──,OPTNS= ─(──▼─┬─┬─ ANY ◄ ─┬──┬─┴─)─┘ │ ├─ CONN ──┤ │ │ └─ IMM ──┘ │ └─┬─ WAIT ◄ ─┬─┘ └─ NOWAIT ─┘ ►─┬─────────────────────────────────────────────┬────────────────────────────►◄ └─ ,LTERMID=logical-terminal-element-pointer ─┘
Parameters
Establishes a session and allocates an SNA conversation between your program and an SNA logical unit.
Note: For more information about using the #TREQ ALLOC statement, see Systems Network Architecture Considerations (SNA).
Syntax
►►─┬─────────┬─ #TREQ CHECK ──────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬───────────────────────────────────────────────────┬──────────────────────► └─ ,INLEN= ─┬─ (0) ◄ ─────────────────────────────┬─┘ └─ input-data-actual-length-register ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,COND= ─┬── NO ◄ ────────────┬─┘ ├── ALL ─────────────┤ │ ┌──── , ─────┐ │ └─(─▼─┬─ ATTN ─┬─┴─)─┘ ├─ DISC ─┤ ├─ INVP ─┤ ├─ LOGL ─┤ ├─ PERM ─┤ └─ TRUN ─┘ ►─┬────────────────────────────────┬─────────────────────────────────────────► └─ ,ATTNXIT=attention-key-label ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,DISCXIT=terminal-disconnected-label ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► └─ ,LOGLXIT=logical-output-error-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,PERMXIT=permanent-i/o-error-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,TRUNXIT=truncate-input-data-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
#TREQ CHECK Delays task processing until a previously requested asynchronous I/O operation is completed. The DC/UCF system places the task in an inactive state if the I/O operation is incomplete. When the I/O operation is complete, the task resumes processing according to its established dispatching priority.
Syntax
►►─┬─────────┬─ #TREQ DISC ───────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────►◄ └─ ,LTEADDR=lte-address-register ─┘
Parameters
(SNA conversations only); terminates an SNA session between your program and another logical unit.
Syntax
►►─┬─────────┬─ #TREQ GET ────────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► └─ ,INAREA=input-data-location-pointer ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,MAXIN=input-data-max-length-register ─┘ ►─┬───────────────────────────────────────────────────┬──────────────────────► └─ ,INLEN= ─┬─ (0) ◄ ─────────────────────────────┬─┘ └─ input-data-actual-length-register ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,LTEADDR=lte-address-register ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► │ ┌─────── , ─────────┐ │ └─ ,OPTNS= ──(──▼─┬─── BUFFER ───┬─┴─)─┘ ├─┬─ INFMHY ─┬──┤ │ └─ INFMHN ─┘ │ ├─┬─ LL ──────┬─┤ │ └─ NOCHASM ─┘ │ ├─── LOCATE ────┤ ├─── MODIFIED ──┤ ├─── POSITION ──┤ ├─── UPLOW ─────┤ └─── UPPER ─────┘ ►─┬────────────────────────────┬─────────────────────────────────────────────► └─ ,FROMPOS=screen-position ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,COND= ─┬── NO ◄ ─────────────┬┘ ├── ALL ──────────────┤ │ ┌─── , ─────┐ │ └(─┬─▼── DISC ─┬─┴─)──┘ ├──── INVP ─┤ ├──── PERM ─┤ └──── TRUN ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,DISCXIT=terminal-disconnected-label ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,PERMXIT=permanent-i/o-error-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,TRUNXIT=truncate-input-data-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
Requests synchronous transfer of data from a device to program storage when the terminal operator signals completion of data entry by pressing ENTER or a special function key.
Syntax
►►─┬─────────┬─ #TREQ PUT ────────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,OUTAREA=output-data-location-pointer ─┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,OUTLEN= ─┬─ output-data-length-register ─┬─┘ └─ log-data-length-register ────┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► │ ┌─────── , ─────────┐ │ └─ ,OPTNS= ──(──▼─┬─── CHNCONT ───┬─┴─)─┘ ├─── CONFIRM ───┤ ├─── CONFIRMED ─┤ ├─── EOT ───────┤ ├─── ERASUNPR ──┤ ├─── ERROR ─────┤ ├─── FREEBUF────┤ ├─── INVITE ────┤ ├─── NEWPAGE ───┤ ├─── NOCR ──────┤ ├─┬─ OUTFMHY ─┬─┤ │ └─ OUTFMHN ─┘ │ ├─── SAVE ──────┤ ├─── SIGNAL ────┤ └─── TRANSPAR ──┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,LTEADDR=lte-address-register ─┘ ►─┬──────────────────────────────────┬───────────────────────────────────────► └─ ,SENSE=sna-sense-code-register ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,LOGDATA=log-data-address-register ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► ├─ ,DESTID=destination-id-pointer ───────┤ ├─ ,USERID=user-id-pointer ──────────────┤ └─ ,LTERMID=logical-terminal-id-pointer ─┘ ►─┬──────────────────────────────────┬───────────────────────────────────────► └─ ,COND= ─┬── NO ◄ ──────────────┬┘ ├── ALL ───────────────┤ │ ┌─── , ────┐ │ └─(─┬─▼── ATTN ─┴┬─)──┘ ├──── DISC ───┤ ├──── INVP ───┤ ├──── LOGL ───┤ ├──── PERM ───┤ └──── UNDF ───┘ ►─┬────────────────────────────────┬─────────────────────────────────────────► └─ ,ATTNXIT=attention-key-label ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,DISCXIT=terminal-disconnected-label ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► └─ ,LOGLXIT=logical-output-error-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,PERMXIT=permanent-i/o-error-label ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,UNDFXIT=invalid-destid-ltermid-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
Requests synchronous transfer of data from program storage to a terminal or device.
Syntax
►►─┬─────────┬─ #TREQ PUTGET ─────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,OUTAREA=output-data-location-pointer ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,OUTLEN=output-data-length-register ──┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,INAREA=input-data-location-pointer ──┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,MAXIN=input-data-max-length-register ─┘ ►─┬──────────────────────────────────────────────────┬───────────────────────► └─ ,INLEN= ─┬─ (0) ◄ ─────────────────────────────┬┘ └─ input-data-actual-length-register ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,LTEADDR=lte-address-register ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► │ ┌────── , ──────────┐ │ └─ ,OPTNS= ──(──▼─┬─── CHNCONT ───┬─┴─)─┘ ├─── CONFIRM ───┤ ├─── ERASUNPR ──┤ ├─── FREEBUF ───┤ ├─┬─ INFMHY ─┬──┤ │ └─ INFMHN ─┘ │ ├─── LAST ──────┤ ├─┬─ LL ──────┬─┤ │ └─ NOCHASM ─┘ │ ├─── LOCATE ────┤ ├─── NEWPAGE ───┤ ├─── NOCR ──────┤ ├─┬─ OUTFMHY ─┬─┤ │ └─ OUTFMHN ─┘ │ ├─── UPLOW ─────┤ └─── UPPER ─────┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,COND= ─┬── NO ◄ ────────────┬─┘ ├── ALL ─────────────┤ │ ┌──── , ─────┐ │ └─(─▼─┬─ ATTN ─┬─┴─)─┘ ├─ DISC ─┤ ├─ INVP ─┤ ├─ LOGL ─┤ ├─ PERM ─┤ ├─ TRUN ─┤ └─ UNDF ─┘ ►─┬────────────────────────────────┬─────────────────────────────────────────► └─ ,ATTNXIT=attention-key-label ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,DISCXIT=terminal-disconnected-label ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► └─ ,LOGLXIT=logical-output-error-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,PERMXIT=permanent-i/o-error-label ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,TRUNXIT=truncate-input-data-label ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,UNDFXIT=invalid-destid-ltermid-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
Requests a synchronous data transfer from program storage to a terminal, then back to the program when the terminal operator indicates completion of data entry.
Syntax
►►─┬─────────┬─ #TREQ READ ───────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► └─ ,INAREA=input-data-location-pointer ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,MAXIN=input-data-max-length-register ─┘ ►─┬───────────────────────────────────────────────────┬──────────────────────► └─ ,INLEN= ─┬─ (0) ◄ ─────────────────────────────┬─┘ └─ input-data-actual-length-register ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,LTEADDR=lte-address-register ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► │ ┌─────── , ─────────┐ │ └─ ,OPTNS= ──(──▼─┬─── BUFFER ────┬─┴──)──┘ ├─── INFMHY ────┤ ├─┬─ INFMHN ──┬─┤ │ └─ INVITE ──┘ │ ├─┬─ LL ──────┬─┤ │ └─ NOCHASM ─┘ │ ├─── LOCATE ────┤ ├─── MODIFIED ──┤ ├─── POSITION ──┤ ├─── UPLOW ─────┤ └─── UPPER ─────┘ ►─┬────────────────────────────┬─────────────────────────────────────────────► └─ ,FROMPOS=screen-position ─┘ ►─┬─────────────────────┬────────────────────────────────────────────────────► └─ ,COND= ─┬─ NO ◄ ─┬─┘ └─ INVP ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
Requests asynchronous transfer of data from a terminal or device to program storage when the terminal operator signals completion of the data entry by pressing ENTER or a special function key.
#TREQ UIOCB
Syntax
►►─┬─────────┬─ #TREQ UIOCB ──────────────────────────────────────────────────► └─ label ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,UIOCBA=user-i/o-control-block-pointer ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────►◄ └─ ,LTEADDR=lte-address-register ─┘
Parameters
Locates a user I/O communications block used to maintain the status of an SNA conversation and of the data being passed between logical units.
Syntax
►►─┬─────────┬─ #TREQ WRITE ──────────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,OUTAREA=output-data-location-pointer ─┘ ►─┬─────────────────────────────────────────────┬────────────────────────────► └─ ,OUTLEN= ─┬─ output-data-length-register ─┬┘ └─ log-data-length-register ────┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,LTEADDR=lte-address-register ─┘ ►─┬───────────────────────────────────────┬──────────────────────────────────► │ ┌─────── , ─────────┐ │ └─ ,OPTNS= ──(──▼─┬─── ABEND ───┬─┴─)─┘ ├─── CHNCONT ───┤ ├─── CONFIRM ───┤ ├─── CONFIRMED ─┤ ├─── EOT ───────┤ ├─── ERASUNPR ──┤ ├─── ERROR ─────┤ ├─── FREEBUF ───┤ ├─── INVITE ────┤ ├─── LAST ───┤ ├─── NEWPAGE ───┤ ├─── NOCR ──────┤ ├─┬─ OUTFMHY ─┬─┤ │ └─ OUTFMHN ─┘ │ ├─── SAVE ─────┤ ├─── SIGNAL ────┤ └─── TRANSPAR ──┘ ►─┬─────────────────────────┬────────────────────────────────────────────────► └─ ,SENSE=sna-sense-code ─┘ ►─┬──────────────────────────────────────┬───────────────────────────────────► └─ ,LOGDATA=log-data-address-register ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► ├─ ,DESTID=destination-id-pointer ───────┤ ├─ ,USERID=user-id-pointer ──────────────┤ └─ ,LTERMID=logical-terminal-id-pointer ─┘ ►─┬───────────────────────────────┬──────────────────────────────────────────► └─ ,COND= ─┬── NO ◄ ───────────┬┘ ├── ALL ────────────┤ │ ┌───── , ───┐ │ └─(─▼─┬─ INVP ─┬┴─)─┘ └─ UNDF ─┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,UNDFXIT=invalid-destid-ltermid-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
Requests an asynchronous data transfer from program storage to a terminal or device.
Syntax
►►─┬─────────┬─ #TREQ WRITREAD ───────────────────────────────────────────────► └─ label ─┘ ►─┬─────────────────┬────────────────────────────────────────────────────────► └─ ,MF= ─┬─ R ◄ ─┬┘ └─ E ───┘ ►─┬──────────────────────────────────────────────┬───────────────────────────► └─ ,TRB= ─┬─ SYSPLIST ◄ ─────────────────────┬─┘ └─ terminal-request-block-pointer ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,OUTAREA=output-data-location-pointer ─┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,OUTLEN=output-data-length-register ──┘ ►─┬────────────────────────────────────────┬─────────────────────────────────► └─ ,INAREA=input-data-location-pointer ──┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► └─ ,MAXIN=input-data-max-length-register ─┘ ►─┬──────────────────────────────────────────────────┬───────────────────────► └─ ,INLEN= ─┬─ (0) ◄ ─────────────────────────────┬┘ └─ input-data-actual-length-register ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ ,LTEADDR=lte-address-register ─┘ ►─┬─────────────────────────────────────────┬────────────────────────────────► │ ┌─────── , ─────────┐ │ └─ ,OPTNS= ──(──▼─┬─── CHNCONT ───┬─┴─)───┘ ├─── CONFIRM ───┤ ├─── ERASUNPR ──┤ ├─── FREEBUF ───┤ ├─┬─ INFMHY ─┬──┤ │ └─ INFMHN ─┘ │ ├─── INVITE ────┤ ├─┬─ LL ──────┬─┤ │ └─ NOCHASM ─┘ │ ├─── LOCATE ────┤ ├─── NEWPAGE ───┤ ├─── NOCR ──────┤ ├─┬─ OUTFMHY ─┬─┤ │ └─ OUTFMHN ─┘ │ ├─── UPLOW ─────┤ └─── UPPER ─────┘ ►─┬───────────────────────────┬──────────────────────────────────────────────► └─ ,COND= ─┬─ NO ◄ ───────┬─┘ └─ INVP ───────┘ ►─┬──────────────────────────────────────────┬───────────────────────────────► └─ ,INVPXIT=invalid-trb-information-label ─┘ ►─┬──────────────────────┬───────────────────────────────────────────────────►◄ └─ ,ERROR=error-label ─┘
Parameters
Requests an asynchronous data transfer from program storage to a terminal or device, then back to program storage when the terminal operator indicates completion of data entry.
Syntax rules for the #TREQ statements are shown below. One complete set of syntax rules is provided; the explanation for each parameter indicates the applicable #TREQ statements. #TREQ options necessary to comply with SNA protocols are also indicated.
Note: For more information about SNA programming considerations, see Systems Network Architecture Considerations (SNA).
The discussion of syntax applies to regular and execute commands, with the following exceptions:
Parameters
Specifies the category of #TREQ.
(Default); specifies a regular #TREQ statement.
Specifies an execute #TREQ statement.
Specifies the five-fullword storage area in which the system will build the TRB (MF=R) or has built the TRB (MF=E).
(Default for regular requests only); is the symbolic name of the storage area in which the system will build the TRB.
Either a register that contains the address of the area or the symbolic name of the area in which the system will build or has built the TRB. For execute requests, this entry explicitly defines the area by identifying label, provided in the list #TREQ that generated the TRB.
(PUT, WRITE, PUTGET, and WRITREAD only) specifies the storage area that contains data to be output. OUTAREA need not be defined if the OUTLEN parameter, described below, is 0.
Either a register that contains the address of the area or the symbolic name of the area.
(PUT, WRITE, PUTGET and WRITREAD only); specifies the length, in bytes, of the data stream to be transmitted.
Specifies the length of data being sent to a terminal. Output-data-length is either a register that contains the length or an absolute expression of the length of data sent in a normal exchange.
A register that contains the length or an absolute expression of the length of data to be sent along with error information in an SNA conversation.
(GET, READ, PUTGET, and WRITREAD only); specifies the storage area into which the data will be read. When INAREA is specified, the LOCATE option, described under the OPTNS parameter below, should not be requested.
Either a register that points to the area or the symbolic name of the area.
(GET, READ, PUTGET, and WRITREAD only); specifies the maximum length in bytes of the data area defined by INAREA that is reserved for the input data stream. When MAXIN is specified, the LOCATE option, described under the OPTNS parameter below, should not be requested.
Either a register that contains the length of the data area or an absolute expression.
(GET, PUTGET, or CHECK following an asynchronous input request); specifies the location to which the system returns the actual length of the input data stream. If the input data stream has been truncated, the original length of the data stream before truncation is returned.
(Default); is the register to which the system returns the actual length of the input data stream.
A register or the symbolic name of a halfword or fullword user-defined field to which the system will return the actual length of the input data stream.
(ALLOC and UIOCB only); specifies the location of the storage area that contains the user I/O control block (UIOCB) used for the conversation.
Either a register containing the address or the symbolic name of the area.
Note: For more information about the user I/O control block, see Systems Network Architecture Considerations (SNA).
(SNA only); specifies the address of the logical terminal element (LTE) of the remote task in the conversation.
Either a register containing the address or the symbolic name of the area.
Specifies several options applicable to the input or output operation. Multiple values must be enclosed in parentheses and separated by commas.
The BUFFER, MODIFIED, and POSITION options specify special purpose read operations for 3270 devices. They should not be confused with normal READ/GET requests that read modified fields when the operator presses the ENTER key or a special function key.
Notifies the remote system that the task is terminating abnormally and that the conversation has ended.
Specifies the type of session to be established:
1. A session that is immediately available and currently unused
2. A session that is disconnected; that is, the session has not yet been established
3. A session that is busy; that is, the session is established and is allocated to another task
If neither an immediately available nor a disconnected session is available, the system waits for a busy session to become available.
(GET and READ with 3270 devices only) Indicates that the data will be transmitted to program storage automatically. BUFFER requests that the system execute an immediate READ BUFFER command; this reads the entire contents of the 3270 terminal buffer into the program storage specified by INAREA and MAXIN.
(SNA non-LU6.2 PUT, PUTGET, WRITE, and WRITREAD only) Specifies that the user task is providing a chain of outbound messages, and that the current #TREQ output request is not the last message in the chain. Omitting OPTNS=CHNCONT after it has been specified once indicates that the current message is the final chain element.
(SNA PUT, PUTGET, WRITE, and WRITREAD only) Sends a confirmation request to a remote SNA logical unit. For example, when your program specifies #TREQ WRITE,OPTNS=CONFIRM, the system requests that the remote logical unit confirm that the request has been sent.
(SNA WRITE and PUT only) Sends a positive response to a confirmation request.
(PUT or WRITE to 3741 or 3780 bisynchronous batch terminals only) Specifies that there is no more data to follow.
(PUT, PUTGET, WRITE, and WRITREAD with 3270 devices only) Causes the system to activate the erase-all-unprotected mechanism. Because no data is transferred for an ERASUNPR request, use of this option implies that OUTLEN=0; no output data need be defined with the OUTAREA parameter described above.
(SNA WRITE and PUT only) Allows a task to send a negative response to a remote logical unit, or to reject a confirmation request that was found unacceptable. Do not use the ERROR option if the CONFIRMED option is specified.
(PUT, PUTGET, WRITE, and WRITREAD only) Frees the storage area that contains the output data stream. The buffer area being freed must have been acquired by a #GETSTG statement or the LOCATE option of a previously issued input request.
If FREEBUF is not specified, the system does not release the output buffers associated with the output request until the issuing task terminates. When the task is terminated, all storage acquired by a #GETSTG or a LOCATE will be released.
(SNA non-LU6.2 GET, READ, PUTGET and WRITREAD only) Specifies whether a function management header (FMH) is passed to the program:
(SNA WRITE, PUT, WRITREAD, and PUTGET) Allows a task to specify a change of direction from the send to the receive state.
(SNA WRITE and PUT only) Ends a conversation between two logical units.
(SNA GET, PUTGET, READ, WRITREAD only) Specifies the format of the data to be input to the program:
(GET, PUTGET, READ, and WRITREAD only) Allocates a buffer area for the data being read into the program, rather than a user-specified area. The DC/UCF system allocates the buffer when the read operation is completed. Register 1 contains the address of the buffer that will contain the input data on completion of the input operation. The issuing program is responsible for using a #FREESTG to free the buffer area.
When this option is requested, do not specify INAREA and MAXIN.
(GET and READ with 3270 devices only) Indicates that the data will be transmitted to program storage automatically, without waiting for a signal of completion of data entry from the terminal operator. MODIFIED requests that the system read all modified fields in the 3270 terminal buffer into the program storage specified by INAREA and MAXIN.
(PUT, PUTGET, WRITE, and WRITREAD with SYSINOUT or 3270 devices only) Requests that the system activate the page-eject (SYSINOUT) or erase-write (3270) mechanism to erase the contents of a screen. If NEWPAGE is not specified, the #TREQ request will write over any existing screen display without first erasing it.
(PUT, PUTGET, WRITE, and WRITREAD with teletype terminals only) Specifies that carriage-control and line-feed characters should not be automatically appended to an output data stream.
(SNA non-LU6.2 PUT, PUTGET, WRITE, and WRITREAD only) Specifies whether a function management header (FMH) has been included in the beginning of the write buffer:
(GET and READ with 3270 devices only), used in conjunction with the BUFFER or MODIFIED options, indicates that the FROMPOS parameter, described below, will specify the position at which the read buffer contents will begin.
(GET, PUTGET, READ, and WRITREAD only); Directs the system to translate all letters in an input data stream into uppercase characters.
(PUT and WRITE non-write-direct-to-terminal only) Directs the system to preserve the output from the #TREQ request in the event that an unsolicited write-direct-to-terminal data stream is received at the issuing terminal while the #TREQ data stream is being displayed. This option overrides the task SAVE/NOSAVE option specified during system generation.
(SNA WRITE and PUT only) Requests a change of direction from the receive to the send state. SIGNAL is used with the SENSE parameter, discussed below.
(PUT or WRITE to 3741 or 3780 bisynchronous batch terminals only) Specifies that the output may contain line control characters and must be written with a transparent write operation.
(GET, PUTGET, READ, and WRITREAD only) Specifies that no uppercase translation of characters in an input data stream is performed.
(GET, PUTGET, READ, and WRITREAD only) Directs the system to translate all letters in an input data stream into uppercase characters.
(SNA ALLOC only) Specifies whether the allocation request is synchronous or asynchronous:
(SNA WRITE and PUT only); specifies a sense code that describes errors that the system encounters in conversation processing.
Either a register containing the sense code or a 4-byte hexadecimal value enclosed in quotation marks. Sense codes supported by the system are listed in Systems Network Architecture Considerations (SNA).
(ALLOC only); identifies the logical terminal element (LTE) of a remote logical unit in an SNA conversation, or a write-direct-to-terminal destination for a non-SNA #TREQ request.
Either a register pointing to the area containing the LTE or the name of a user-supplied variable data field that holds the address.
(SNA LU6.2 WRITE only); specifies the address of a data buffer containing data that will be sent along with error information to the remote task.
Either a register containing the address of the data buffer or a user-defined variable field. When LOGDATA is specified, you must code the OUTLEN parameter to indicate the length of the data being sent.
(#TREQ GET and READ requests with 3270 devices; BUFFER or MODIFIED options only); specifies the 2-character EBCDIC buffer address at which the read will start.
Either the symbolic name of a user-defined fixed binary field that contains the buffer address or the address itself enclosed in quotation marks.
(PUT and WRITE only); specifies the destination of a write-direct-to-terminal request.
Specifies a write-direct-to-terminal request (blast) to one of the following destinations defined during system generation:
A register that points to the destination id, the symbolic name of a user-defined field that contains the destination id, or the id itself enclosed in quotation marks.
Each destination should refer to terminal devices of the same type to ensure compatibility with program-supplied device control information. If a #TREQ blast request is routed to an incompatible device type, the system will reject the request and return control to the issuing program.
Specifies a blast request to a specific signed-on user. The DC/UCF system will send the #TREQ data stream specified in the OUTAREA parameter to a specific signed-on user.
A register that points to the user id, the symbolic name of a user-defined field that contains the user id, or the id itself enclosed in quotation marks.
Specifies a blast request to a specific in-service terminal. The DC/UCF system will send the #TREQ data stream specified in the OUTAREA parameter to a specific in-service terminal.
A register that points to the logical terminal id, the symbolic name of a user-defined field that contains the logical terminal id, or the id itself enclosed in quotation marks.
Specifies whether the #TREQ is conditional and under what conditions control should be returned to the issuing program:
(Default); specifies that the request is not conditional.
Specifies that the request is conditional. Control is returned if the request cannot be serviced for any of the reasons listed under condition.
Can be any of the following options. Multiple options must be enclosed in parentheses and separated by commas. Condition options are as follows:
The following parameters represent routines to which control is returned as a result of one of the preceding conditions:
Specifies the symbolic name of the routine to which control should be returned if the output is interrupted by the terminal operator.
Specifies the symbolic name of the routine to which control should be returned if the terminal is disconnected or the terminal goes out of service.
Specifies the symbolic name of the routine to which control should be returned if the #TREQ cannot be serviced because of an invalid parameter in the TRB.
Specifies the symbolic name of the routine to which control should be returned if a logical error is detected in the output data stream.
Specifies the symbolic name of the routine to which control should be returned if a permanent I/O error occurs.
Specifies the symbolic name of the routine to which control should be returned if input data is truncated due to insufficient storage in the INAREA buffer.
Specifies the symbolic name of the routine to which control should be returned if an undefined DESTID or LTERMID is specified in a #TREQ PUT or WRITE blast request.
Specifies the symbolic name of the routine to which control should be returned if a condition specified in the COND parameter occurs for which no other exit routine was coded.
Examples
The following examples illustrate how to use the #TREQ statement.
The following #TREQ ALLOC statement allocates a session between your LU and a remote LU that is identified in the user I/O control block. OPTNS=ANY specifies that the system will attempt to assign a currently unused session first; if one is not available it will attempt to assign a session that has not yet been established. If neither of these session types is possible, the system will wait for a busy session to become available. OPTNS=WAIT indicates synchronous processing. COND=ALL specifies that control is returned to the program request cannot be serviced due to any terminating conditions.
#TREQ ALLOC,UIOCBA=(R3),OPTNS=(ANY,WAIT),COND=ALL
The following #TREQ DISC statement terminates a session between your LU and the remote LU identified by the LTE address contained in register 8.
#TREQ DISC,LTEADDR=(R8)
The following #TREQ GET statement transfers data from a terminal to program variable storage after the terminal operator presses the ENTER key. #TREQ GET indicates synchronous data transfer. SYSPLIST is the symbolic name of the storage area in which the system builds the TRB. Input read from the terminal is moved to INPROG02; the maximum length of the input data is 40 bytes.
#TREQ GET,MF=R,TRB=SYSPLIST,INAREA=INPROG02,MAXIN=40
The following #TREQ PUT statement issues a write-direct-to-terminal request. The blast request transfers the 50 byte output data stream in OUTPGM9 directly to all users in the currently signed-on users in DEST09.
#TREQ PUT,TRB=SYSPLIST,OUTAREA=OUTPGM9,OUTLEN=50,DESTID=DEST09
The following #TREQ PUTGET statement is being used in a non-LU6.2 SNA conversation between the system task and a remote 3600 device. The remote LU is identified by the LTE address in LU3603 because your task may be having more than one conversation at a time. The data you are sending is held in the output buffer OUT09, and can be up to 60 bytes long. If the data returned by the remote LU exceeds the MAXIN specification (60 bytes), the system buffers the data so that it will be available to your next read request. OUTFMHN requests the system not to add any function management headers to the output data stream. INFMHN requests that the system remove any incoming FMH from the data before it is passed to your task.
#TREQ PUTGET,OUTAREA=OUT09,OUTLEN=60,INAREA=IN09,MAXIN=60, *
LTEADDR=LU3603,OPTNS=(OUTFMHN,INFMHN)
The following execute #TREQ READ statement reads the contents of the buffer INAREA. The MODIFIED option specifies that modified data is transmitted to program storage automatically, without waiting until the terminal operator has signaled completion of data entry. The NEWPAGE option requests that the system erase the contents of the screen before the new data is read in. Control is returned to the RTNINVP routine if there is an invalid parameter in the TRB.
#TREQ READ,MF=E,TRB=SYSPLIST,INAREA=INAREA,OPTNS=(MODIFIED,NEWPAGE), *
COND=INVP,INVPXIT=RTNINVP
The following #TREQ WRITE statement requests that the system initiate the erase-all-unprotected mechanism for output. No data is transferred with this request (OUTLEN=0); no output data has to be defined in OUTAREA.
#TREQ WRITE,OUTAREA=OUTPGM9,OPTNS=(ERASUNPR)
The following #TREQ WRITREAD statement sends the output data stream in the buffer OUTPGM08 to the terminal. FREEBUF releases the contents of OUTPGM08 after the WRITREAD request has been completed. OUTPGM08 must have been previously acquired by a #GETSTG statement or the LOCATE option of a previously issued input request. Data is sent from the terminal to the INPGM08 buffer.
#TREQ WRITREAD,TRB=SYSPLIST,OUTAREA=OUTPGM08,OUTLEN=60, *
INAREA=INPGM08,INLEN=60,OPTNS=FREEBUF
The following #TREQ UIOCB statement assigns a user I/O control block to an SNA conversation started by a remote task. The address of the UIOCB is in register 8.
#TREQ UIOCB,UIOCBA=(R8)
Status Codes
Upon successful completion of certain #TREQ requests, three registers contain information about the outcome of the request:
By default, the #TREQ request is unconditional; any runtime error will result in an abend of the issuing task. The issuing program can request return of control with the COND parameter to avoid an abend.
After completion of the #TREQ, the value in register 15 indicates the outcome of the operation. The following is a list of the Register 15 values and the corresponding meaning:
The request has been serviced successfully.
For a GET, PUTGET, or CHECK request, the input area specified for the return of data to the issuing program is too small; the returned data has been truncated to fit the available space.
For a GET, PUTGET, or CHECK request, the output has been interrupted; the terminal operator has pressed ATTENTION or BREAK.
For a GET, PUTGET, or CHECK request, a logical error (for example, an invalid control character) has been encountered in the output data stream.
For a GET, PUT, PUTGET, or CHECK request, a permanent I/O error has occurred during processing.
For a GET, PUT, PUTGET, or CHECK request, the dial-up line for the terminal has been disconnected.
For a GET, PUT, PUTGET, or CHECK request, the terminal associated with the issuing task is out of service.
For a GET, PUTGET, or CHECK request, the terminal is closed, or was never opened.
The TRB contains an invalid field, indicating a possible error in the program parameters.
For a PUT or WRITE request, the requested logical terminal id or list of logical terminals or users identified by LTERMID, USERID, or DESTID cannot be found.
|
Copyright © 2014 CA.
All rights reserved.
|
|