PROGRAM - Non-Natural Program Receiving Control after Termination

This Natural profile parameter specifies a non-Natural back-end program which is to receive control after the termination of the Natural session.

Possible settings 1 - 8 characters Non-Natural back-end program.
numeric value Setting a numeric value, for example PROGRAM=0, indicates "no back-end processing".

Note:
This is particularly relevant when Natural is invoked by a front-end program, because a default may be taken if PROGRAM is blank or not specified; see Front-End Invoked via XCTL in the TP Monitor Interfaces documentation.

MSG This additional option determines that the Natural session termination message is issued before Natural passes control to the back-end program. The following syntax applies:
PROGRAM=(program-name,MSG)

Note:
MSG is not evaluated under IMS TM and Com-plete.

NOMSG This additional option determines that the Natural session termination message is not issued before Natural passes control to the back-end program. The following syntax applies:
PROGRAM=(program-name,NOMSG)
Default setting PROGRAM=(,NOMSG)  
Dynamic specification yes  
Specification within session yes The Natural back-end program can also be specified from within a Natural program by calling the Natural subprogram CMPGMSET, which is provided in the library SYSEXTP.

The additional options MSG and NOMSG cannot be specified from within a Natural program.

Application programming interface USR4001N (for mainframes) See SYSEXT - Natural Application Programming Interfaces in the Utilities documentation.
USR6204N (for all platforms)

Notes:

  1. Data for the program specified with the PROGRAM parameter can be supplied with the TERMINATE statement.
  2. For the conventions of calling non-Natural back-end programs, see Back-End Program Calling Conventions in the Operations documentation.

CICS-Specific Information:

In addition to back-end programs, the Natural CICS interface also supports back-end transactions which may be specified via RET=XXXX or RTI=XXXX or STR=XXXX instead of a program name, with XXXX being a valid CICS transaction ID.

  • RET=XXXX indicates that control has to be passed to CICS together with a return transaction ID by a CICS RETURN TRANSID ('XXXX') command.

  • RTI=XXXX indicates that control has to be passed to CICS with a return transaction ID by a CICS RETURN TRANSID ('XXXX') IMMEDIATE command.

  • STR=XXXX indicates that a new transaction has to be started by a CICS START TRANSID ('XXXX') TERMID (*INIT-ID), before relinquishing control via a CICS RETURN command.

Notes:

  1. Back-end transactions are not supported if you start a Natural session with an EXEC CICS LINK command or a distributed program link (DPL). They are ignored if specified.
  2. Return transactions (RET= or RTI=) are only supported for terminal-oriented sessions. They are ignored if specified for asynchronous sessions.
  3. The complete specification of a back-end transaction must be enclosed in single quotation marks.

Examples:

PROGRAM=MYPGM
PROGRAM=(MYPGM,MSG)
PROGRAM=(,MSG)
PROGRAM=(MYPGM)
PROGRAM='STR=CEMT'
PROGRAM=('STR=CEMT')
PROGRAM=('STR=CEMT',MSG)