PROGRAM - Non-Natural Program Receiving Control after Termination

#### Search Results

Search

# 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 z/OS) | 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)