XFIOA - Transformed MRO function

      MACRO NAME = DFHXFIOA
      DESCRIPTIVE NAME = CICS TS DFHXFX TRANSFORMED MRO AND IPIC
                                   FUNCTION SHIPPING REQUEST AND
                                   REPLY DSECT
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1982, 2013 
      FUNCTION = THIS MACRO GENERATES THE DSECT USED BY THE FAST PATH
                 MRO FUNCTION SHIPPING TRANSFORMER ( DFHXFX ) TO
                 FORMAT TIOA'S USED TO SEND REQUESTS AND REPLIES FROM
                 ONE MRO REGION TO ANOTHER.
                 THE DSECT IS ALSO USED BY THE IPIC FUNCTION SHIPPING
                 TRANSFORMER (DFHISFS) TO FORMAT THE BUFFERS USED TO
                 SEND REQUESTS AND REPLIES VIA IPIC.
      INPUT = THERE ARE NO PARAMETERS ON THIS MACRO.
      OUTPUT = THE TIOA DSECT.
      EXTERNAL REFERENCES = NONE
    The Pre IDPROP TIOA consists of the following sections:
    TIOAHdr + FHM5 + 'FFFF'x + Request
    Because Request can be > max TIOA size we cannot add an ICRX
    to the end of the TIOA. If ICRX exist must be in 1st TIOA.
    Note that this is only done if both sides understand ICRXs.
    If ICRXs are understood by both sides and exist, TIOA is now:
    TIOAHdr + FMH5 + 'FFFF'x + 'FFFF00'x + offset + ICRX + oldTIOA
    FMH attch processing can then use TIOA with or without ICRX
    by rebasing depending whether or not 'FFFF00'X is present
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 0 DFHXFIOA TIOA DSECT
    THIS PART OF THE DSECT DESCRIBES THE FORMAT OF THE TIOA USED TO
    SEND REQUESTS. IT IS USED BY TRANSFORMERS 1 AND 2 ONLY.
(0) .... ....   XRQDS "*"
(0) FULLWORD 4 (3) TIOA HEADER
(0) .... 11..   XRQTHLEN "*-XRQDS" Length of TIOA Header
(0) .... 11..   XRQSTART "*" START OF REQUEST DATA
              COMMON REQUEST PARAMETERS
(C) CHARACTER 13 XRQFMHAR AREA FOR ATTACH FMH
(19) CHARACTER 2 XRQTAG X'FFFF' MEANS XFX TIOA
(19) ...1 1.11   XRQTLEN "*-XRQDS" Length of TIOA Attach Hdr
(1B) CHARACTER 9 XRQARG0 EIP'S ARG0 ON REQUESTS
(24) HALFWORD 2 XRQDOFF OFFSET OF DATA IN TIOA
(26) HALFWORD 2 XRQPARMS (0) GROUP SPECIFIC PARMS
  ICRX Optional insert (must be full number of words)
(1B) CHARACTER 3 XRQICRXH X'FFFF00' means ICRX insert
(1E) HALFWORD 2 XRQICRXO TIOA offset to fake TIOA
(20) HALFWORD 2 XRQICRXL Length of ICRX
(22) CHARACTER 1 XRQICRXD (0) Data area for ICRX
(22) .... .111   XRQILEN "*-XRQICRXH" Length of ICRX Header
  ODR optional message insert (Note- must be full number of words)
(1B) CHARACTER 3 XRQODRMH X'FFFFEE' means ODR msg insert
(1E) HALFWORD 2 XRQODRMO TIOA offset to fake TIOA
(20) HALFWORD 2 XRQODRML Length of ODR msg insert
(22) CHARACTER 1 XRQODRMD (0) Data area for ODR msg insert
(22) .... .111   XRQFLEN "*-XRQODRMH" Length of ODR insert header
  Adapter optional message insert (Note- must be full no. of words)
(1B) CHARACTER 3 XRQADPTH X'FFFFDD' means adapter insert
(1E) HALFWORD 2 XRQADPTO TIOA offset to fake TIOA
(20) HALFWORD 2 XRQADPTL Length of adapter msg insert
(22) CHARACTER 1 XRQADPTD (0) Data area for adapter msg insert
(22) .... .111   XRQALEN "*-XRQADPTH" Length of adapter insert header
  ACD optional message insert (Note- must be full number of words)
  ACD is used for Initial application context for a task
(1B) CHARACTER 3 XRQACDMH X'FFFFCC' means ACD msg
(1E) HALFWORD 2 XRQACDMO TIOA offset to fake TIOA
(20) HALFWORD 2 XRQACDML Length of ACD msg insert
(22) CHARACTER 1 XRQACDMD (0) Data area for ACD msg insert
(22) .... .111   XRQCLEN "*-XRQACDMH" Length of ACD insert header
  CAC optional message insert (Note- must be full number of words)
  CAC is used for Current application context for a task
  When a tasks current application context is the same as the
  tasks initial application context, we still send the message
  insert, but instead of sending the full context twice, we
  indicate via a flag that the initial context should be used
(1B) CHARACTER 3 XRQCACMH X'FFFFBB' means CAC msg
(1E) HALFWORD 2 XRQCACMO TIOA offset to fake TIOA
(20) HALFWORD 2 XRQCACML Length of CAC msg insert
(22) CHARACTER 1 XRQCACMD (0) Data area for CAC msg insert
(22) .... .111   XRQDLEN "*-XRQCACMH" Length of CAC insert header
(22) BITSTRING 1 XRQCACFL CAC flags
(22) 1... ....   CURRENT_IS_INITIAL "X'80'" Use initial ctxt as current
          FILE CONTROL REQUEST PARAMETERS
(26) CHARACTER 8 XRQFCDSN DATA SET NAME
(2E) HALFWORD 2 XRQFCDLN DATA LENGTH
(30) HALFWORD 2 XRQFCKLN RIDFLD LENGTH
(32) CHARACTER 2 XRQFCRQD REQUEST ID
(34) HALFWORD 2 XRQFCKOF OFFSET OF KEY IN TIOA
(36) CHARACTER 1 XRQFCKDA (0) KEY FOLLOWED BY DATA
(36) ..1. 1.1.   XRQFCLEN "*-XRQSTART" LEN OF FIXED PART
(36) ...1 1.11   XRQFCLNI "*-XRQARG0" LEN OF FIXED PART FOR IPIC
        TRANSIENT DATA REQUEST PARAMETERS
(26) CHARACTER 4 XRQTDQNM QUEUE NAME
(2A) HALFWORD 2 XRQTDDLN DATA LENGTH
(2C) CHARACTER 1 XRQTDDA (0) DATA AREA FOR WRITES
(2C) ..1. ....   XRQTDLEN "*-XRQSTART" LEN OF FIXED PART
(2C) ...1 ...1   XRQTDLNI "*-XRQARG0" LEN OF FIXED PART FOR IPIC
        TEMPORARY STORAGE REQUEST PARAMETERS
(26) CHARACTER 8 XRQTSQNM QUEUE NAME (8 BYTES ONLY)
(2E) HALFWORD 2 XRQTSDLN DATA LENGTH
(30) HALFWORD 2 XRQTSITM ITEM NUMBER
(32) CHARACTER 1 XRQTSDA (0) DATA AREA FOR WRITES
(32) CHARACTER 1 XRQTSEND (0) END OF FIRST PART OF TSRQ AREA
  AN ADDITIONAL PARAMETER HAS BEEN ADDED AND SINCE THE ABOVE PARAMETER
  LIST IS FIXED LENGTH AND IS FOLLOWED BY DATA IT HAS HAD TO BE ADDED
  AFTER THE DATA. IT IS ADDRESSED BY XRQTSDA +XRQTSDLN (DATA ADDRESS +
  DATA LENGTH FOR WRITEQ TS OTHERWISE AT XRQTSQ16.)
(32) CHARACTER 16 XRQTSQ16 (0) 16 BYTE TS QUEUE NAME
(32) CHARACTER 8 XRQTSQ8A TS QUEUE NAME PART 1
(3A) CHARACTER 8 XRQTSQ8B TS QUEUE NAME PART 2
(3A) ..11 .11.   XRQTSLEN "*-XRQSTART" TOTAL LENGTH OF FIXED PART
          INTERVAL CONTROL REQUEST PARAMETERS
(26) CHARACTER 4 XRQICTR TRANSID
(2A) CHARACTER 4 XRQICTE TERMID
(2E) CHARACTER 4 XRQICRTR RTRANSID
(32) CHARACTER 4 XRQICRTE RTERMID
(36) CHARACTER 4 XRQICIOT INTERVAL OR TIME
(3A) CHARACTER 8 XRQICQUE QUEUE
(42) CHARACTER 8 XRQICRQD REQID
(4A) HALFWORD 2 XRQICFLN FROM LENGTH
(4C) CHARACTER 1 XRQICFDA (0) FROM DATA
(4C) .1.. ....   XRQICLEN "*-XRQSTART" LEN OF FIXED PART
  AN ADDITIONAL PARAMETER HAS BEEN ADDED AND SINCE THE ABOVE PARAMETER
  LIST IS FIXED LENGTH AND IS FOLLOWED BY DATA IT HAS HAD TO BE ADDED
  AFTER THE DATA. IT IS ADDRESSED BY ADDR(XRQICFDA)+XRQICFLN +
  (address of FROM data + length of FROM data)
(0) CHARACTER 8 XRQICUID USERID
(8) CHARACTER 8 XRQICSYN Applid of System
(10) CHARACTER 8 XRQICTRN Terminal netname
   CHANNEL data has been added. Since this may overflow into second
   and further TIOAs, the beginning of the channel data must be the
   very last thing in the first TIOA.
   Field XRQICCTO gives the offset to the start of the CHANNEL data
   from the beginning of XRQICCTO.
   CHANNEL data is addressed by ADDR(XRQICCTO) + XRQICCTO
   Any new fields added in subsequent releases must be added AFTER
   XRQICCTO and before XRQCHAND. DFHXFX assumes that any fields
   added between XRQQICTO and XRQCHAND will always be present even if
   they are not used.
(18) BITSTRING 2 XRQICCTO Offset to CHANNEL data
(1A) CHARACTER 1 XRQCHAND (0) Channel data
        IPIC TEMPORARY STORAGE REQUEST PARAMETERS
(26) CHARACTER 16 XRQTSQNI 16 BYTE TS QUEUE NAME
(38) FULLWORD 4 XRQTSDLI DATA LENGTH
(3C) FULLWORD 4 XRQTSITI ITEM NUMBER
(40) CHARACTER 1 XRQTSDAI (0) DATA AREA FOR WRITES
(40) ..1. .1.1   XRQTSLNI "*-XRQARG0" TOTAL LENGTH OF IPIC FIXED PART
    THIS PART OF THE DSECT DESCRIBES THE FORMAT OF THE TIOA USED TO
    SEND REPLIES. IT IS USED BY TRANSFORMERS 3 AND 4 ONLY.
(40) .... ....   XRPDS "*"
(0) FULLWORD 4 (3) TIOA HEADER
(0) .... 11..   XRPSTART "*" START OF REPLY DATA
             COMMON REPLY PARAMETERS
(C) CHARACTER 6 XRPEIBRC EIP'S RETURN CODE
(12) HALFWORD 2 XRPDOFF OFFSET OF DATA IN TIOA
(14) HALFWORD 2 XRPPARMS (0) GROUP SPECIFIC PARMS
           FILE CONTROL REPLY PARAMETERS
(14) HALFWORD 2 XRPFCDLN DATA LENGTH
(16) HALFWORD 2 XRPFCKLN RIDFLD LENGTH
(18) HALFWORD 2 XRPFCNRC (0) NUM OF DELETED RECORDS
(18) HALFWORD 2 XRPFCUDL UNTRUNCATED DATA LENGTH
(1A) HALFWORD 2 XRPFCMRL MAX REC LEN FOR V FORMAT
(1C) HALFWORD 2 XRPFCKOF OFFSET OF KEY IN TIOA
(1C) ...1 111.   XRPFCKOF53 "*-XRPDS" VALUE OF XRPFCKOF IN CICS 5.3 AND EARLIER
(1E) BITSTRING 1 XRPFC_REPLY_FLAG1
(1E) 1... ....   XRPFC_TERMINATE_ STRING "X'80'"
(1F) BITSTRING 1 XRPFC_REPLY_FLAG2
(20) FULLWORD 4 XRPFC_VERSION
(20) .... ...1   XRPFC_VERSION_1 "1"
(24) BITSTRING 1 XRPFC_RESPONSE
(25) BITSTRING 1 XRPFC_REASON
(26) BITSTRING 1 XRPFC_LENGTH_ERR_CODE
(27) BITSTRING 1 XRPFC_DUPLICATE_KEY
(26) CHARACTER 4 XRPFC_ACCMETH_RC
(26) ..1. 1.1.   XRPFCKOF61 "*-XRPDS" VALUE OF XRPFCKOF IN CICS 6.1
(2A) CHARACTER 1 XRPFCKDA (0) KEY FOLLOWED BY DATA
(2A) ...1 111.   XRPFCLEN "*-XRPSTART" LEN OF FIXED PART
           TRANSIENT DATA REPLY PARAMETERS
(14) HALFWORD 2 XRPTDDLN DATA LENGTH
(16) HALFWORD 2 XRPTDUDL UNTRUNCATED DATA LENGTH
(18) CHARACTER 1 XRPTDDA (0) DATA AREA FOR READS
(18) .... 11..   XRPTDLEN "*-XRPSTART" LEN OF FIXED PART
          TEMPORARY STORAGE REPLY PARAMETERS
(14) HALFWORD 2 XRPTSNIT NUMITEMS
(16) HALFWORD 2 XRPTSITM (0) ITEM NUMBER WRITTEN
(16) HALFWORD 2 XRPTSDLN RETURNED DATA LENGTH
(18) HALFWORD 2 XRPTSUDL UNTRUNCATED DATA LENGTH
(1A) CHARACTER 1 XRPTSDA (0) READ DATA
(1A) .... 111.   XRPTSLEN "*-XRPSTART" LEN OF FIXED PART
         INTERVAL CONTROL REPLY PARAMETERS
(14) CHARACTER 8 XRPICRQD REQID ASSGND BY MIR SYS
(14) ...1 ....   XRPICLEN "*-XRPSTART" LEN OF FIXED PART
          IPIC TEMPORARY STORAGE REPLY PARAMETERS
(14) FULLWORD 4 XRPTSNII NUMITEMS
(18) FULLWORD 4 XRPTSITI (0) ITEM NUMBER WRITTEN
(18) FULLWORD 4 XRPTSDLI RETURNED DATA LENGTH
(1C) FULLWORD 4 XRPTSULI UNTRUNCATED DATA LENGTH
(20) CHARACTER 1 XRPTSDAI (0) READ DATA
(20) ...1 .1..   XRPTSLNI "*-XRPSTART" LEN OF FIXED PART