Call Program with Variable Length Argument List (CALLPGMV)

Bound program access

Built-in number for CALLPGMV is 668. CALLPGMV ( pgmOrTmpltPtr : address of system pointer, address of space pointer(16), or address of open pointer argArray : address of array of space pointer(16) nargs : unsigned binary(4) )

Description  Preserve the calling invocation and pass control to either the program entry procedure of a bound program or the external entry point of a non-bound program identified by pgmOrTmpltPtr.

The pgmOrTmpltPtr may address a system pointer which directly addresses the program that is to receive control, or may address a space pointer(16) to a call template which identifies the program to receive control. Specifying a template allows for additional controls over how the specified program is to be invoked. The format of the template is described under the CALLX instruction.

If the program to receive control is a Java™ program or a bound program that does not contain a program entry procedure, an invalid operation for program  (hex 2C15) exception is signalled.

The number of arguments for the program call is given by nargs. The arguments are given by elements in argArray. The i'th argument of the OPM parameter list is constructed from the address of the i'th element of the array. Each element of the array is a space pointer(16) value.

The actual number of arguments passed, nargs, must be less than or equal to 16383 or else an argument list length modification violation  (hex 0803) exception is signalled.

Authorization Required

Lock Enforcement

Exceptions

06 Addressing

08 Argument/Parameter

0A Authorization

10 Damage Encountered

1C Machine-Dependent

20 Machine Support

22 Object Access

24 Pointer Specification

2A Program Creation

2C Program Execution

2E Resource Control Limit

36 Space Management

38 Template Specification

44 Protection Violation