Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Constructors for member designations

&pagelevel(4)&pagelevel

For those LMSCONV statements which permit a second member designation in addition to the selector, the designation of the second member can be constructed from the designation of the selector.

The constructor is restricted to the member designation, i.e. to member name, version and type. This corresponds in the statements to the ELEMENT, VERSION and TYPE operands in the data structure *LIBRARY-ELEMENT. In each case here like-named operands, which are identified by means of certain wildcard characters, are mapped onto one another.

The constructor syntax is described in the “SDF Dialog Interface” manual [20 (Related publications)].

Examples of constructors

The examples below illustrate how LMSCONV forms member names. The member type S is preset using the MODIFY-DEFAULTS statement. The individual examples are mutually independent, i.e. the result of one example is not used in another.

The following members are defined:

TYP  NAME    VER (VAR#) DATE         NAME    VER (VAR#) DATE
(S)  ABC     001 (0001) <date>       ABCD    001 (0001) <date> 
(S)  ABCDE   001 (0001) <date>       X.1     001 (0001) <date> 

Statement

Effect

//COPY-ELEMENT (,ELEM= ABC),

TO-ELEM=(,ELEM= ABX)

ABC    is copied to ABX
ABCD   is not copied
ABCDE  is not copied

//COPY-ELEMENT (,ELEM= AB*),

TO-ELEM=(,ELEM= XY*(A02))

ABC    is copied to XYC(A02)
ABCD   is copied to XYCD(A02)
ABCDE  is copied to XYCDE(A02)

//COPY-ELEMENT (,EL= ABC<,D>),

TO-ELEM=(,ELEM= AXC<1>)

ABC    is copied to AXC
ABCD   is copied to AXCD
ABCDE  is not copied

//COPY-ELEMENT (,ELEM= AB*),
TO-ELEM=(,ELEM= S.AB*)

ABC    is copied to S.ABC
ABCD   is copied to S.ABCD
ABCDE  is copied to S.ABCDE

//COPY-ELEMENT (,ELEM= *B*),
TO-ELEM=(,ELEM= *.*)

ABC    is copied to A.C
ABCD   is copied to A.CD
ABCDE  is copied to A.CDE

//COPY-ELEMENT (,ELEM= /B/),
TO-ELEM=(,ELEM= //)

ABC    is copied to AC
ABCD   is not copied
ABCDE  is not copied

//COPY-ELEMENT (,ELEM= *CD*),
TO-ELEM=(,ELEM= <1>.<1>)

ABC    is not copied
ABCD   is copied to AB.AB
ABCDE  is copied to AB.AB

//COPY-ELEMENT (,ELEM= /B/),
TO-ELEM=(,ELEM= <2> <1>)

ABC    is copied to CA
ABCD   is not copied
ABCDE  is not copied

//COPY-ELEMENT (,ELEM= /B/),
TO-ELEM=(,ELEM= XYZ<2>)

ABC    is copied to XYZC
ABCD   is not copied
ABCDE  is not copied

//COPY-ELEMENT (,ELEM= X.),
TO-ELEM=(,ELEM= Y.)

X.1    is copied to Y.1

Table 3: Effect of the COPY statement
When using selector and constructor structures, please observe the following:
  • At least one placeholder of the source member must be present in the constructor specification.

  • Several different input names may be mapped to the same output name. Depending on what has been set for the WRITE-MODE processing operand, the various data may be overwritten. Example: /A/ -> BA/. Both members XA1 and XA2 are mapped to BAX.

  • *ALL in the selector specification can be referenced with a * in the constructor specification just like the single asterisk (*) in the selector specification. *ALL in the constructor specification is not possible. Example: *ALL -> *B* means the same as * -> *B*