Previous Topic: @MODE—initializes global SET symbolsNext Topic: @COPY IDMS


@INVOKE

The @INVOKE statement performs the following functions:

The @INVOKE statement and the @MODE statement must precede all other precompiler-directive and DML statements in the program. @INVOKE must be included if the DML precompiler will be used and if the program requests CA IDMS/DB services.

Syntax

►►─── @INVOKE ─┬─────────────────────────────────────────────────────┬────────►
               └─ PROGRAM=program-name ─┬───────────────────────────┬┘
                                        └─ ,VERSION=version-number ─┘

 ►─┬──────────────────────────┬───────────────────────────────────────────────►
   └─ ,SUBSCH=subschema-name ─┘

 ►─┬───────────────────────────────────────────────────┬──────────────────────►
   └─,SCHEMA=schema-name ─┬───────────────────────────┬┘
                          └─ ,VERSION=version-number ─┘
 ►─┬────────────────────────┬─────────────────────────────────────────────────►
   └─ ,MODE= ─┬─ BATCH ─────┤
              ├─ IDMSDC ────┤
              ├─ DCBATCH ───┤
              ├─ CICS ──────┤
              ├─ CICS-EXEC ─┤
              ├─ INTERCOMM ─┤
              └─ SHADOW ────┘

 ►─┬─────────────────────────────────────────────┬────────────────────────────►
   └─,MAP=map-name ─┬───────────────────────────┬┘
                    └─ ,VERSION=version-number ─┘

 ►─┬─────────────────────────────┬────────────────────────────────────────────►
   └─ ,MRBTYPE= ─┬─ STANDARD ◄ ─┬┘
                 └─ EXTENDED ───┘

 ►─┬───────────────────────┬──────────────────────────────────────────────────►◄
   └─ ,PAGING = ─┬─ NO ◄ ─┬┘
                 └─ YES ──┘

Parameters

PROGRAM=program-name

Required if program registration is in effect; specifies the 1- to 8-character name of the registered program. If in effect, subschema authorization specifies that programs must be registered with the named subschema in order to be compiled against it.

If the program has been previously defined in the dictionary using IDD, program-name must match the assigned name of the program; otherwise the DML precompiler will not recognize it as the same program.

Version=version-number

Optional; indicates the version number of the program to distinguish multiple versions of the same program-name. Version is a numeric literal in the range 1 through 9999. If the version number is not specified, and program-name is found in the dictionary, the version number defaults to the highest value defined in the dictionary for the program. If program-name is unknown to the data dictionary, the version number defaults to 1.

SUBSCH=

Identifies the subschema to be used by the program.

subschema-name

Specifies a subschema defined in the dictionary.

SCHEMA=schema-name

Identifies the schema with which the subschema is associated.

Version=version-number

Optionally specifies the version of the schema as defined in the dictionary. It defaults to the highest version of the named schema.

MODE=

Defines the operating mode for the program. This clause is optional; it can replace the @MODE statement if @COPY is the only additional DML statement in use, but should be omitted in all other cases.

BATCH

Specifies to execute the program in batch mode. The IDMS communications block is copied into variable storage; standard CALL statements are generated.

IDMSDC

Specifies to execute the program in IDMS DC mode. The IDMS DC communications block is copied into variable storage; CA IDMS/DC CALL statements are generated for CA IDMS/DC requests.

DCBATCH

Specifies to execute the program in DC-BATCH mode. The IDMS DC communications block is copied into variable storage; DC-BATCH CALL statements are generated for CA IDMS/DC requests. Specify MODE=DCBATCH to access DC queues and printers from batch applications running under the CA IDMS central version.

CICS/CICS-EXEC/INTERCOMM/SHADOW

Specifies to execute the program in a special environment under the specified teleprocessing monitor. The appropriate communications block is copied into variable storage and operating-mode-specific CALL sequences are generated.

MAP=

Specifies that mapping mode terminal I/O is required by the program and identifies the maps stored in the dictionary. Multiple maps can be specified in a single @INVOKE statement by defining a separate MAP clause for each map.

map-name

Specifies the 1- to 8-character name of a map defined in the dictionary.

Version=version-number

Optionally specifies the version of the map being used. It defaults to the highest version of the named schema.

MRBTYPE=STANDARD/EXTENDED

Specifies the format of the map request block (MRB) built for the map:

PAGING=NO/YES

Specifies whether the program uses pageable maps. A pageable map is a single map that is associated with an unlimited number of map fields. You can use pageable maps when all the map fields cannot fit on a terminal operator's screen at one time. The default is NO.

The DML statements #MREQ, #STRTPAG, and #ENDPAG are used to control the pageable map option. For more information, see the descriptions of these commands in Data Manipulation Language Statements.