Support for IMS Aliases

The <IMSC> subtag in the <Auxiliary> section of the Legacy.xml file contains definitions for the standard CBLTDLI, PLITDLI, CEETDLI, AERTDLI, and AIBTDLI programs . You can also use it to define aliases for non-standard IMS batch interfaces.

If the order of parameters in the alias program is the same as the order of parameters in the standard program, simply enter the alias name in the <Detect> and <APIEntry> tags, as follows:

<IMSC>
  <Cobol>
    <Detect>
      <item> 'CBLTDLI' </item>
      <item> 'MYCBLTDLI' </item>
    </Detect>
    ...
    <Process>
      <APIEntry name='IMS call'>
        <match stmt="CALL">
          <name value="CBLTDLI"/>
          <name value="MYCBLTDLI"/>
        </match>
    ...
    </Process>
  </Cobol>
</IMSC>

If the order of parameters in the alias program differs from the order in the standard program, you also need to specify a full API entry, using the:

<match>
Use this tag to specify the alias name and method of invocation.
<flow>
Use this tag to characterize the program control flow.
<ims-call>
Use this tag to specify the call parameters.

Use the definitions for CBLTDLI or PLITDLI as examples.

Attributes of <ims-call> are:

count
Specifies the index of the parameter that contains the argument count.
opcode
Specifies the index of the parameter that contains the operation code.
pcb
Specifies the index of the parameter that contains the Program Control Block (PCB) pointer.
arg-base
Specifies the index of the first data parameter, usually io-area.
Note: Alternative parameter order is allowed only for the params-num, function-code, and pcb parameters. All other parameters, io-area and ssa must appear in the same order as they do in the standard IMS call, at the end of the parameter list.