Overview of the XPI

The user exit programming interface provides global user exit programs with access to some CICS® services. It consists of a set of macro function calls that you can use in your user exit programs. It provides opportunities to extend CICS functions beyond the facilities provided in the standard CICS system, but it must be used with care. Any exit programs you write that use the interface must be written following the guidance in this section, and they must be carefully tested to ensure that they cannot cause system errors.

The user exit programs must be in assembler language; the XPI is not provided for other languages. You should also note that programs containing XPI calls must be written to 31-bit standards, and must be reentrant.

You must be in primary-space translation mode when you invoke the XPI. (For information about translation modes, see the IBM® ESA/370 Principles of Operation manual.)

Important

  1. You cannot use all of the XPI calls at every global user exit point. You will find an indication of when these calls cannot be used both with the description of each function call, and in the lists of exit points in Global user exit programs.

    XPI calls are used to invoke CICS services; using them in the wrong exits causes unpredictable errors in your CICS system.

  2. There is a restriction on using the XPI early during initialization. Do not start exit programs that use the XPI functions INQUIRE_MONITOR_DATA, MONITOR, TRANSACTION_DUMP, and WRITE_JOURNAL_DATA until the second phase of the PLTPI. For further information about the PLTPI, refer to Writing initialization and shutdown programs.
  3. These XPI functions are likely to cause the task executing the user exit program to lose control to another task while the XPI function is being executed. Therefore the use of XPI functions must be very carefully considered, as interrupting the flow of CICS functions could cause problems, such as lockouts, to occur.

Related concepts
Global user exit XPI examples, showing the use of storage
Overview -- what is a global user exit?
Introduction to the task-related user exit mechanism (the adapter)
Related tasks
Making an XPI call
Writing global user exit programs
Writing a task-related user exit program
Related reference
The XPI functions
List of global user exit points
[[ Contents Previous Page | Next Page Index ]]