Assembler considerations

For Assembler programs that run in an MVS™ batch, TSO, or NetView® environment, you need to be aware of some special considerations.

  • Since the program does not execute in CICS, do not use the DFHEIENT or DFHEIRET macros. Instead, use the CICS translator options NOEPILOG, NOPROLOG, and NOSYSEIB.
  • You must explicitly code the DFHEISTG and DFHEIEND macros to provide the required work areas for EXEC CPSM commands. Your program is responsible for acquiring storage for the DFHEISTG area and setting up any necessary base registers before making any EXEC CPSM calls. This storage can be acquired dynamically using local GETMAIN services or, if the program is nonreentrant, the storage can be defined directly in the program area. Reentrant programs are recommended if there is any possibility of the program being used concurrently in the same address space.
  • You must make the appropriate CICS macro library available in the SYSLIB concatenation for the Assembler step. The DFHEISTG, DFHEIEND, and DFHSCALL macros are fetched from this library.
  • Add a storage declaration of 64 fullwords in length with a label of DFHEIPL. This is required as a result of dependency on the DFHSCALL macro. The CICSPlex SM batch sample API program EYUAAPI3 that is located in the SEYUSAMP library provides such an example.