PGP - Properties for External Programs

#### Search Results

Search

# PGP - Properties for External Programs

This Natural profile parameter can be used to predefine the properties for external programs. It corresponds to the `NTPGP` macro in the Natural parameter module.

Possible settings | See PGP Parameter Syntax.
Default setting | `OFF` | No properties are defined for external programs.
Dynamic specification | yes | The profile parameter `PGP` can only be specified dynamically. In the Natural parameter module, the macro `NTPGP` must be used.
Specification within session | yes | Temporary `SET CONTROL 'P=value'` for each call of the external program.

Notes:

1. When calling an external program with the Natural `CALL` statement, there are already several options available by means of a preceding `SET CONTROL` statement (for example, `SET CONTROL 'P=S'`) to request certain programming interface properties for the subsequent `CALL`. With `NTPGP` or `PGP` it is possible to predefine these program properties in the Natural parameter module or dynamically rather than in the Natural application program, which could be error prone
2. To provide `PGP` definitions for different programs, `PGP` or `NTPGP` must be specified multiple times.
3. The terminal command `%P=` applies only to the next call of an external program, and the call options are reset unconditionally on return from the call, whereas the profile parameter `PGP` sets the call option for an external program permanently.
4. If different properties are defined for the same program, by means of profile parameter `PGP` or by a `SET CONTROL 'P=value'` statement, these properties will be merged for this program.

- PGP Parameter Syntax

- NTPGP Macro Syntax

- Examples of PGP Parameter

- Examples of NTPGP Macros

## PGP Parameter Syntax

With the dynamic `PGP` parameter, you first specify the program name, and then one or more properties for this program.

PGP=(program-name,property-1,property-2,...)

Or:

PGP=OFF

Notes:

1. The value `OFF` resets all properties for the program previously defined.
2. To provide `PGP` definitions for different programs, the profile parameter `PGP` must be specified multiple times (separated by a comma or a blank).

Syntax Element | Explanation
--- | ---
`program-name` | The name of the external program which shall have the subsequent properties. Generic names are supported by an ending asterisk. Example: `'TESTP*'`. Note The apostrophes must be used for dynamic specification.
`property-1` `property-2` `...` | The various property values are described in the table below. There is a long and a short form for each property. Note As dynamic parameter specification, a property can be reset by a preceding `NO`, for example, `NOS` to reset property `S`.
`OFF` | `PGP=OFF` resets all program property definitions.

#### Property Values

Property | Short | Explanation | SET CONTROL
--- | --- | --- | ---
`STDL` | `S` | Standard linkage under CICS | `P=S`
`STDLC` | `SC` | Standard linkage simulates `EXEC CICS LINK`. | `P=SC`
`STDLQ` | `SQ` | Standard linkage on QR TCB under CICS. This property only applies if Natural CICS Interface is used and if the Natural CICS Interface version installed at your site supports this property. This property does not apply if an external subprogram is defined to Natural with the `CSTATIC` or `RCA` profile parameter. This property also applies to LE subprograms. For information about how Natural supports IBM Language Environment (LE) subprograms, see LE Subprograms in the Operations documentation. | `P=SQ`
`ROLL` | `V` | Rollout for call in thread environments. | `P=V`
`COMA` | `C` | Pass values in CICS COMMAREA. | `P=C`
`CONT` | `CC` | Pass parameter values in CICS container. | `P=CC`
`LEMAIN` | `L` | The called program is an IBM LE main program. For information about how Natural supports IBM Language Environment (LE) subprograms, see LE Subprograms in the Operations documentation. | `P=L`
`LESUB` | `LS` | The called program is an IBM LE subprogram (IBM only) . For information about how Natural supports IBM Language Environment (LE) subprograms, see LE Subprograms in the Operations documentation. | `P=LS`
`IMSPCB` | `I` | Pass the IBM IMS TM PCB address. | `P=I`
`DIGR` | `D` | The called program is a DIGNUS remote subprogram. | `P=D`
`DIGL` | `DL` | The called program is a DIGNUS local subprogram. | `P=DL`
`SUOW` | `U` | SUOW, separate CICS unit of work. | `P=U`
`SUOWB` | `UT` | Separate CICS unit of work tolerate backout. | `P=UT`
`OFF` |  | Clear all properties previously defined (dynamic parameter specification only). |

## NTPGP Macro Syntax

With the `NTPGP` macro in the Natural parameter module, you first specify the name of the external program and then one or more properties for this program.

             NTPGP program-name,property-1,property-2,...

Notes:

1. The syntax elements of the macro `NTPGP` correspond to that of profile parameter `PGP`, see Syntax Elements and Property Values.
2. The value `OFF` cannot be set with the macro `NTPGP`.
3. To provide property definitions for different programs, the macro `NTPGP` must be specified multiple times.

## Examples of PGP Parameter

    PGP=(TESTPGM1,S)
    PGP=(’ABX*’,L,NOS)
    PGP=(MYPROG7,OFF,L,STDL)

## Examples of NTPGP Macros

             NTPGP TESTPGM1,S
             NTPGP ABX*,L
             NTPGP MYPROG,L,STDL

### On this page

- PGP Parameter Syntax
- NTPGP Macro Syntax
- Examples of PGP Parameter
- Examples of NTPGP Macros