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

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.

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. P=L
LESUB LS The called program is an IBM LE subprogram (IBM only) . 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