OPENPUT opens a member for writing. ED1 specifies the member to be written and LD the library containing this member.
The complete type, name and version of the member must be specified.
There are four possible subcode specifications: UNUSE, INCP, HIGP and INCB
Subcode specifications other than UNUSE result in special treatment of the version specification (see "ED (Element Description)").
If the library does not already exist, it is created. Moreover, the user may enter a date or time of day in fields USERDATE and USER-TIME of ED1, respectively. If the current date and time are to be taken over, these fields must contain blanks.
Parameters OVERWRITE and DESTROY are interpreted. OVERWRITE=NAME is not allowed. Delta members can only be overwritten if they are part of a delta tree.
During opening, an access path identification is stored in field REC-ACC-ID of RD. If an error occurred during opening, this identification has the value 4 x X’FF’.
Several successive OPENPUT calls for different members, but not for the same member, are possible. A separate RD should be created for each call, as every OPENPUT causes a new access path identification to be written to field REC-ACC-ID of RD.
A member cannot be opened simultaneously with OPENGET, OPENPUT and OPENUPD.
Member types C and L are not allowed, as members of these types contain records which cannot be processed.
The ED1.STORE-FORM field defines the storage mode for the member being added. The storage mode must not conflict with the type or library attribute settings, and all the members of one type and name must have the same storage mode. Delta members may be overwritten only if they are part of a delta tree.
STORE-FORM=FULL
The member is created in full storage mode (error if not allowed).
STORE-FORM=STD
The member is created in the storage mode appropriate to its scope. Conflicting requirements result in an error. If there are no special requirements, full storage mode is selected.
If the required storage mode is DELTA and the subcode is UNUSE, the base is defined as the standard base. With all other subcodes the base is defined by the ED1.VERSION specification.
STORE-FORM=DELTA
The member is created in delta storage mode (error if not allowed). This is a valid specification for members of types S, P, D, J, M and X and types derived from them. If the subcode is UNUSE, the ED2 descriptor defining the base member must also be specified. If version automation is used, ED2 is ignored and the base version must then be specified in ED1.
Handling of delta members without version automation
If the member is to be included as a delta member, the following must apply:
ED1.STORE-FORM=DELTA, ED1.TYP=ED2.TYP, ED1.NAME=ED2.NAME
If the member is to be included as the first member of a delta tree, no member of the same type and name may exist and the following must apply in addition:
ED1.VERSION=ED2.VERSION
If the member is to be included as a subsequent member of a delta tree, ED2 must be used to specify the existing base member and the following must apply:
ED1.VERSION ? ED2.VERSION
Call parameters
The parameter structures must be given in the following sequence in the subroutine call.
Parameter | Field | Meaning |
CB | SCBVERSION FUNCTION SUBCODE ACC DESTROY OVERWRITE LD-RETURN | Function control block Interface version Function code X’0F’ Version automation Subroutine access identification Physical overwriting Logical overwriting Full DMS file name in LD |
RD | - | Record descriptor Does not have to be supplied |
LD | PASSWORD LINK MAX-NAME-LEN NAME | Library descriptor Password as per PASSWORD command Link name Maximum length of library name Library name |
ED1 | TYP NAME VERSION STORE-FORM USER-DATE USER-TIME | Member descriptor (target) Member type Member name Member version Storage mode Date specified by user Time of day specified by user |
ED2 | TYP NAME VERSION | Member descriptor (base) if ED1.STORE-FORM = DELTA Member type Member name Member version |
Return parameters
Parameter | Field | Meaning |
CB | RETURNCODE LMS-MSG DMS-MSG PLAM-MSG | Function control block Return code LMS message code DMS message code PLAM message code |
RD | REC-ACC-ID | Record descriptor Access path identification |
LD | NAME | Library descriptor Full DMS file name of library (dependent on LD-RETURN field of CB) |
ED1 | VERSION | Target member descriptor Member version (with version automation and *HIGH) |