Materialize Program Name (MATPGMNM)
Instruction Syntax
| Bound Program Access |
|---|
|
Description:
This instruction will return the program and context names in operand 1 of the bound program, bound service program, or Java™ program associated with the currently executing procedure. Operand 1 must be aligned on a 16-byte boundary; otherwise a boundary alignment (hex 0602) exception is signaled. The format of the receiver template is:
| ||||||||||||||||||||||||||||||||||||
The formatted data field is structured based on the value specified in the format field. For format = 0, the formatted data field has the following structure.
| ||||||||||||||||||||||||||||||||||||
The first 4 bytes that are materialized identify the total number of bytes provided for use by the instruction. This value is supplied as input to the instruction and is not modified by the instruction. A value of less than 16 causes a materialization length invalid (hex 3803) exception to be signaled.
The second 4 bytes that are materialized identify the total number of bytes available to be materialized. The instruction materializes as many bytes as can be contained in the area specified as the receiver. If the byte area identified by the receiver is greater than that required to contain the information requested, then the excess bytes are unchanged. No exceptions (other than the materialization length and boundary alignment exceptions described previously) are signaled in the event that the receiver contains insufficient area for the materialization. For format 0, if any field cannot be completely materialized, blanks will be returned in the partial field.
If the program is logically destroyed before this instruction is executed, the context name will be returned as all blank characters, and the context object type and context object subtype fields will be returned as zeroes.
Authorization Required
- None
Lock Enforcement
- None
Exceptions
- 06 Addressing
- 0601 Space Addressing Violation
- 0602 Boundary Alignment
- 0603 Range
- 08 Argument/Parameter
- 0801 Parameter Reference Violation
- 10 Damage Encountered
- 1004 System Object Damage State
- 1044 Partial System Object Damage
- 1C Machine-Dependent
- 1C03 Machine Storage Limit Exceeded
- 20 Machine Support
- 2002 Machine Check
- 2003 Function Check
- 22 Object Access
- 2202 Object Destroyed
- 220B Object Not Available
- 24 Pointer Specification
- 2401 Pointer Does Not Exist
- 2402 Pointer Type Invalid
- 2E Resource Control Limit
- 2E01 User Profile Storage Limit Exceeded
- 32 Scalar Specification
- 3203 Scalar Value Invalid
- 36 Space Management
- 3601 Space Extension/Truncation
- 38 Template Specification
- 3801 Template Value Invalid
- 3803 Materialization Length Invalid
- 44 Protection Violation
- 4401 Object Domain or Hardware Storage Protection Violation
- 4402 Literal Values Cannot Be Changed