Loading...
Select Version
&pagelevel(4)&pagelevel
Change installation path and select product version
In this example, one of several installed versions of the SDF-I product is copied to the test user ID RZTEST and defined as the standard product version with system-wide validity.
The corresponding example with commands starts on "Example with commands ".
EXAMPLE CSECT
COPY OPSYN
*
* Dsects
*
GETIP GETINSP MF=D,XPAND=PARAM
GETIPOUT GETINSP MF=D,XPAND=OUTPUT
*
GETIV GETINSV MF=D,XPAND=PARAM
GETIVOUT GETINSV MF=D,XPAND=OUTPUT
*
SETIP SETINSP MF=D
*
SELPR SELPROV MF=D
*
COPYD IDCOP D
*
*
PROG ...
*
* Init work register
*
LA R3,OUTPATH+4 Output area for GETINSP
USING GETIPOUT,R3
LA R4,OUTAREA+4 Output area for GETINSV
USING GETIVOUT,R4
*
LA R5,GETIPSK PL skeleton for GETINSP
USING GETIP,R5
LA R6,SETIPSK PL skeleton for SETINSP
USING SETIP,R6
LA R7,GETIVSK Pl skeleton for GETINSV
USING GETIV,R7
LA R8,COPYSK PL skeleton for COPY
USING COPYD,R8
LA R9,SELPRSK PL skeleton for SELPROV
USING SELPR,R9
*
* Get all available versions of the installation unit SDF-I
*
*
LA R2,OUTAREA Output area for GETINSV
GETINSV MF=M,OUT@=(R2) Fill OUT@ field
GETINSV MF=E,PARAM=(R7) Call function
*
CLC IMOGRET(4),=A(IMOVSUCC) Function successful ?
BNE TERM NO -> Terminate
*
LA R2,OUTPATH Output area for GETINSP
GETINSP MF=M,OUT@=(R2) Fill OUT@ field
*
* For all returned versions, get the path name associated to the
* Logical-id SYSPRG, copy the file under RZTEST userid and update
* the path name
*
LA R2,4 for loop limit
LOOP C R2,OUTAREA End of area reached ?
BNL SELECT Yes, terminate
GETINSP MF=M,IUVERS=IMOVOVER Take current IU version
GETINSP MF=E,PARAM=(R5) Get path name
CLC IMOGRET,=A(IMOGSUCC) OK ?
BNE TERM NO, terminate
*
* path name is available in IMOGOPAT field (in our example, it looks
* like this : :SOLX:$TSOS.SYSPRG.SDF-I.vvv)
*
MVC IDBCFN1L,IMOGOPAT Initial path name
MVC IDBCFN2L(8),=C'$RZTEST.' New userid
MVC IDBCFN2L+8(42),IMOGOPAT+12 Move path name part
COPY MF=(E,(R8))
LTR R15,R15 Copy OK ?
BNZ TERM NO, terminate
*
* Update the path name for the corresponding logical-id
*
SETINSP MF=M,IUVERS=IMOVOVER,PATHNAM=IDBCFN2L
SETINSP MF=E,PARAM=(R6)
CLC IMOSRET,=A(IMOSSUCC) SETINSP OK ?
BNE TERM NO, terminate
*
LA R2,IMOVOMD#(R2) Next Installation unit version
B LOOP
*
SELECT DS 0H
*
* Select the first returned version for the system
*
LA R4,OUTAREA+4 Point on first returned version
SELPROV MF=M,PRODNAM='SDF-I',PRODVER=IMOVOVER,SCOPE=*SYSTEM
SELPROV MF=E,PARAM=(R9)
*
TERM DS 0H
...
*
* Constants for IMON calls
*
DS 0F
GETIPSK GETINSP MF=L,IUNAME='SDF-I',LOGID='SYSPRG',OUTLEN=88
*
DS 0F
SETIPSK SETINSP MF=L,IUNAME='SDF-I',LOGID='SYSPRG'
*
DS 0F
GETIVSK GETINSV MF=L,IUNAME='SDF-I',IUVERS=*ALL,OUTLEN=50
*
DS 0F
SELPRSK SELPROV MF=L,PRODNAM='SDF-I',SCOPE=*SYSTEM
*
DS 0F
COPYSK COPY MF=L,INNAME,OUTNAME
*
OUTAREA DS 0F
DC 50CL1' '
*
OUTPATH DC 88CL1' '
*
...
END EXAMPLE