Choosing between the EXEC CICS and the CALL interface

You can use both the CALL interface (all six commands) and the EXEC CICS LINK command in the same program, to perform separate requests. As a general rule, it is unlikely that you would want to do this in a production program.

EXCI sample programs illustrates the various language versions of the CICS®-supplied sample client program.

Each form of the external CICS interface has its particular benefits.
  • For low-frequency or single DPL requests, you are recommended to use the EXEC CICS LINK command.

    It is easier to code, and therefore less prone to programming errors.

    Note that each invocation of an EXEC CICS LINK command causes the external CICS interface to perform all the functions of the CALL interface, which results in unnecessary overhead.

    Note also that this overhead is greatly increased if you use the EXEC CICS LINK command to communicate with a CICS server region in a different LPAR. In this case each invocation of the EXEC CICS LINK command generates a great deal of XCF activity because of the IRP logon, connect, disconnect and logoff which is required. You might find that you experience severe degradation of elapsed time between EXEC CICS LINK commands issued to a CICS server region in a separate LPAR, compared to the elapsed time of the same commands issued to a CICS server region in the same LPAR.

  • For multiple or frequent DPL requests from the same client program, you are recommended to use the EXCI CALL interface.

    This is more efficient, because you need only perform the Initialize_User and Allocate_Pipe commands once, at or near the beginning of your program, and the Deallocate_Pipe once on completion of all DPL activity. In between these functions, you can open and close the pipe as necessary, and while the pipe is opened, you can issue as many DPL calls as you want.