Loading...
Select Version
&pagelevel(5)&pagelevel
Installationspfad ändern und Produktversion auswählen
In diesem Beispiel wird eine von mehreren installierten Versionen des Produktes SDF-I auf die Testkennung RZTEST kopiert und systemweit als Standard-Produktversion eingestellt.
Ein analoges Beispiel mit Kommandos finden Sie auf "Beispiel mit Kommandos ".
BEISPIEL 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 pathname associated to the
* Logical-id SYSPRG, copy the file under RZTEST userid and update
* the pathname
*
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 pathname
CLC IMOGRET,=A(IMOGSUCC) OK ?
BNE TERM NO, terminate
*
* pathname is available in IMOGOPAT field (in our example, it looks
* like this : :SOLX:$TSOS.SYSPRG.SDF-I.vvv)
*
MVC IDBCFN1L,IMOGOPAT Initial pathname
MVC IDBCFN2L(8),=C'$RZTEST.' New userid
MVC IDBCFN2L+8(42),IMOGOPAT+12 Move pathname part
COPY MF=(E,(R8))
LTR R15,R15 Copy OK ?
BNZ TERM NO, terminate
*
* Update the pathname 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 BEISPIEL