Organizing the CICS ONC RPC converter

Stabilized feature: CICS® support for Open Network Computing Remote Procedure Call (ONC RPC) is stabilized. Consider exposing and orchestrating applications as API services by using z/OS Connect Enterprise Edition or CICS web services, or by writing web applications in Java or Node.js. See also Stabilization notices and discontinued functions.

You can write converters for any CICS-supported compiler. If you choose a language other than C or COBOL, you must write your own header files to define the CICS ONC RPC data structures and constants.

A converter is passed a communication area that contains a parameter that specifies which of the three functions Getlengths, Decode, or Encode is required, and parameters for the particular function, as described in the reference: Getlengths, Decode, and Encode.

The following C header files (in the SDFHC370 target library) and COBOL copybooks (in the SDFHCOB target library) are provided to help with writing the converter:
  • DFHRPUCH for C (DFHRPUCO for COBOL)—contains definitions of the constants that are used in the interface between CICS ONC RPC and the converter.
  • DFHRPCDH for C (DFHRPCDO for COBOL)—defines the format of the communication area that is presented to the converter. The communication area is in two parts. The format of the first part is independent of the function that the converter is being asked to perform, and it contains:
    • The eye-catcher for the requested function
    • The function code for the requested function
    • A response to be supplied by the converter
    • A reason code to be supplied by the converter

    The format of the rest of the communication area depends on the converter function requested.

You need a header file produced by RPCGEN only if you used RPCL to define the data structures, and you are writing Decode or Encode. If you are writing your converter in a language other than C, you need to rewrite the header file in your chosen language, since RPCGEN produces its output only in C.

You need definitions of the CICS structures that you use, and the definition of the CICS program communication area.