Your program converses with other SNA network resources through #TREQ statements, in conjunction with the user I/O control block (UIOCB). CA IDMS/DC supports only basic-mode access to other SNA devices; line-mode and mapping-mode are not currently supported.
#TREQ Command
You use the #TREQ command to:
Syntax and syntax rules for the #TREQ statement are discussed in #TREQ.
User Control Block
The user I/O control block (UIOCB) contains LU-LU session information:
Establishing Sessions
Sessions in the CA IDMS/DC environment can be established in three ways:
When you issue a #TREQ ALLOC statement to allocate a conversation, before CA IDMS/DC can select a session for you, you must establish the UIOCB and initialize UIOCB fields with session attributes, such as which LU you want to talk to.
You also use the UIOCB to establish conversation attributes, for example, the maximum sync level that you will need (LU6.2 only).
After the conversation has begun, you use the UIOCB to obtain information about the conversation. For example, session and conversation information in the UIOCB is updated following #TREQ ALLOC or #TREQ UIOCB statements, and return codes, sense codes, data-information fields, and VTAM-information fields are updated following read requests.
Sample User Control Block
The following figure illustrates a sample user I/O control block (UIOCB).
For the layout of the UIOCB, refer to the DSECT Reference Guide.
UOICB DS OF ************************************************************************ ** ** ** UIOCB USER I/O COMMUNICATIONS BLOCK ** ** ** ** ## - LU6.2 ONLY ** ** $$ - FOR FUTURE USE ** ************************************************************************ UIOLTEA DS A ADDR OF LOGICAL TERMINAL ELEMENT (CONVERSATION IDENTIFIER) **** SESSION ATTRIBUTES ********* UIOBIND DS A ADDRESS OF BIND PARAMETERS UIOLLU DS CL8 LOCAL LU NAME (OWN_LU_NAME) UIORLU DS CL8 REMOTE LU NAME (PARTNER_LU_NAME) UIOMODE DS CL8 MODEENT NAME (MODE_NAME) UIOSYNC DS X ## SYNC_LEVEL UIOSYNCN EQU X'00' SYNC_LEVEL = NONE UIOSYNCC EQU X'01' SYNC_LEVEL = CONFIRM UIOSYNCS EQU X'02' SYNC_LEVEL = SYNCPOINT UIOCONV DS X ## CONVERSATION TYPE UIOCONVB EQU X'00' CONVERSATION TYPE = BASIC UIOCONVM EQU X'01' CONVERSATION TYPE = MAPPED UIOMAPN DS CL24 $$ LU6.2 MAP NAME UIOTASK DS CL8 REMOTE TASK TO BE ALLOCATED (TPN) UIOUSER DS CL8 ## USER ID TO BE PASSED WITH ALLOCATE UIOPASS DS CL8 ## PASSWORD TO BE SENT WITH ALLOCATE UIOPROFL DS CL8 ## PROFILE ID TO BE SENT W/ ALLOCATE UIOINRU DS H MAX RU SIZE ON INPUT UIOUTRU DS H MAX RU SIZE ON OUTPUT UIORSV DS 4H RESERVED **** WHAT RECEIVED *************** UIODAT #FLAG X'80' DATA UIOERR #FLAG X'40' ## ERROR (SEND_ERROR RECEIVED) UIOLST #FLAG X'20' DEALLOCATE (SEND LAST RECEIVED) UIOCD #FLAG X'10' CHANGE DIRECTION (TIME TO SEND) UIOCFM #FLAG X'08' CONFIRM (CONFIRMATION REQUESTED) UIOSIG #FLAG X'04' SIGNAL (REQUEST_TO_SEND RECEIVED) UIOSPT #FLAG X'02' $$ SYNCPOINT (TAKE_SYNCPOINT) UIOROL #FLAG X'01' $$ SYNCPOINT ROLLBACK REQUIRED UIOWREC DS X WHAT_RECEIVED ************************************************************************ UIOFMH #FLAG X'80' DATA CONTAINS FMH UIODTC #FLAG X'40' DATA_COMPLETE (OFF = INCOMPLETE) UIODATF DS X DATA TYPE FLAG ********* ERROR INFORMATION FIELDS ************************************* UIOURA DS 0X UIOUCOM DS XL1 CA IDMS/DC ERROR CODE UIOCOMPG EQU 0 GOOD COMPLETION - I/O SUCCESSFUL UIOCOMPA EQU 8 TERMINAL OPERATOR HIT ATTN OR BREAK DURING OUTPUT UIOCOMPL EQU 12 LOGICAL ERRORS - INVALID COMMAND SEQUENCE UIOCOMPP EQU 16 PERMANENT I/O ERROR COMMAND SEQUENCE UIOCOMPD EQU 20 SESSION WAS DISCONNECTED OR INTERVENTION REQ. UIOCOMPO EQU 24 SESSION IS OUT-OF-SERVICE UIOCOMPC EQU 28 SESSION IS CLOSED (OPEN DIDN'T WORK) UIOCOMPI EQU 32 INVALID TRB PARAMETER LIST UIOUCM2 DS XL1 SECONDARY DC ERR-CODE UIOLGNR EQU X'01' ERR - LOGON ROUTINE UIOPROF EQU X'02' ERR - PRIOR OPEN FAILURE UIORTEX EQU X'03' ERR - RETRIES EXHAUSTED (MAX ERRS EXCEEDED) UIONEGR EQU X'04' ERR - NEGATIVE RESP TO SEND DATA UIOSRPF EQU X'05' ERR - SEND RESPONSE FAILED UIONUIO EQU X'06' ERR - NO UIOCB ADDRESS AVAILABLE UIOUNKI EQU X'07' ERR - UNKNOWN INPUT RECEIVED UIOBBFL EQU X'08' ERR - BRACKET BID FAILURE UIOWQUR EQU X'09' ERR - WAITING ON QUIESCE RELEASE UIOSTSN EQU X'0A' ERR - MSG RESYNC FAILURE (ON SEND CHAIN) UIOSTSR EQU X'0B' ERR - MSG RESYNC FAILURE REPETITIVELY UIOPLEC EQU X'0C' ERR - PIPELINE EXCEEDED MAX EXCP RESPONSES UIOPLRD EQU X'0D' ERR - PIPELINE READ RQST IS NOT SUPPORTED UIOUCD EQU X'0E' ERR - UNIDENTIFIED NORMAL FLOW CMD RECEIVED UIORCAF EQU X'0F' ERR - RESET TO CONT-ANY FAILED UIOLUSR EQU X'10' ERR - UNKNOWN LUSTAT RECEIVED UIOCNNA EQU X'11' ERR - CHAINED-INPUT NOT ALLOWED ON THIS PTE TYPE UIOUNXC EQU X'12' ERR - UNEXPECTED COMMAND RECEIVED UIOCNCR EQU X'13' ERR - CANCEL COMMAND RECEIVED UIOCHRC EQU X'14' ERR - CHASE COMMAND RECEIVED UIORCVF EQU X'15' ERR - RECEIVE FAILED UIOFMHG EQU X'16' ERR - FMH DEFAULT IN SYSGEN CAN'T BE USED UIOVMMT EQU X'17' ERR - GENCB/MODCB FAILURE UIOSNDF EQU X'18' ERR - SEND CMD FAILURE UIOWBMS EQU X'19' ERR - WRITE BUFFER MISSING UIOFMHS EQU X'1A' ERR - FMH OR FMH-OPTION SPECIFICATION ERROR UIOQECR EQU X'1B' ERR - QEC RECV'D, USER CONTROLS OUTB CHAINING UIOPUNK EQU X'1C' ERR - PTE TYPE UNKNOWN UIOLTNA EQU X'1D' ERR - LAST OPTION DISALLOWED UIOPMXW EQU X'1E' ERR - PIPELINE MAX NBR WRITES (1) EXCEEDED UIOOPNS EQU X'1F' ERR - OPT/RQST NOT SUPPTD THIS PTE OR LU TYPE UIOWSZX EQU X'20' ERR - WRT SIZ GTR PRUSZ, & CHAIN NOT ALLOWED UIOSLUF EQU X'21' ERR - SEND LUS (IN LIEU NEG RESP) FAILED UIORBKF EQU X'22' ERR - RESET BRACKET (SEND EB) FAILURE UIORQRA EQU X'23' ERR - RQR ATTEMPTED UIORBNS EQU X'24' ERR - READ BUFFER NOT SUPPORTED UIOUCNR EQU X'25' ERR - OUTB USER CHANGING - NEG RESPONSE UIONEGC EQU X'26' ERR - NEG RESP TO SEND COMMAND UIONRNR EQU X'27' ERR - NEG RESP, SEND CHAIN, NO RECOVERY POSS UIOLURS EQU X'28' ERR - LU RQST'D SHUTDOWN UIORCCE EQU X'29' ERR - REQUEST CANCELLED, CONVERSTAION ENDED UIOSIGR EQU X'2A' ERR - SIGNAL RECEIVED NOT RECOGNIZED UIOIGDS EQU X'2B' ERR - INVALID LU6.2 GDS ID UIOSCRM EQU X'2C' ERR - SEND CANCELLED, WE ARE IN RECV-MODE UIOZLMR EQU X'2D' ERR - ZERO-LNG MSG RECEIVED UIONMRT EQU X'2E' ERR - INVALID/MISSING REQUEST TYPE UIOALFR EQU X'2F' ERR - ALLOCATE FAILED, SESSION BUSY, RETRY OK UIOALFN EQU X'30' ERR - ALLOCATE FAILED, NO RETRY UIOALFS EQU X'31' ERR - ALLOCATE FAILED, SYNCLEVEL NOT SUPPORTED UIOUNBD EQU X'32' ERR - UNBIND RECEIVED UIOSNDE EQU X'33' ERR - LU6.2 SEND ERROR RECEIVED UIOABND EQU X'34' ERR - LU6.2 SEND ABEND RECEIVED UIOXLIM EQU X'35' ERR - LIMIT ON INPUT EXCEEDED, READ FAILED UIOEBR EQU X'36' END BRACKET RECEIVED - DEALLOCATE NORMAL UIOURTC DS XLI VTAM RTNCD UIOUFDB DS XLI VTAM FDBK2 UIOUSEI DS XLI VTAM SENSE INFO UIOUSMI DS XLI VTAM SENSE MODIFIER UIOUUSI DS XL2 VTAM USER SENSE INFO UIORSV1 DS XL4 RESERVED UIOUSIG DS XL4 SIGNAL DATA - EXPD-FLOW-CMD UIOURAL EQU *-UIOURA LENGTH OF ERROR INFO FIELDS UIORSV2 DS XL27 RESERVED UIODWORK DS XL1 WORK BYTE RESERVED FOR CA IDMS/DC UIOCBL EQU *-UIOCB LENGTH OF UIOCB
|
Copyright © 2014 CA.
All rights reserved.
|
|