Hvordan udskifter jeg et enkelt modul i et program uden at compilere alle de andre programmer om igen? Det kan være vi ikke lige har sourcen til de andre stumper, eller måske ønsker vi ikke at kompilere dem igen af andre årsager.
Lad os antage at programmet LOAD001 er et loadmodul, der består af programmerne PGMO1, PGMU1 og PGMU2.
Vi vil gerne udskifte PGMU1 med en ny version, uden at omkompilere PGMO1 og PGMU2.
Følgende JCL vil klare jobbet:
//LINK
EXEC PGM=IEWL,
// PARM='NOCALL,AMODE=x,RMODE=y,REUS=z' //SYSPRINT DD SYSOUT=* //OBJ DD DSN=object.library,DISP=SHR //LOADLIB DD DSN=loadlib.med.gammel.modul,DISP=SHR //SYSLMOD DD DSN=loadlib.til.nyt.modul,DISP=SHR //SYSLIN DD * Klik her for forklaring på statements INCLUDE OBJ(PGMU1) INCLUDE LOADLIB(LOAD001) ORDER PGMO1,PGMU1,PGMU2 ENTRY PGMO1 NAME LOAD001(R) /* |
Jeg har lagt det rettede loadmodul ud på et andet bibliotek, for hvis vi laver en bøf, er det rart at kunne tage det originale modul igen.
Ps. Husk at sætte AMODE, RMODE og REUS til det, det oprindelige
modul havde. Hvis du ikke ved, hvad de var oprindelig, kan du bruge utility
programmet AMBLIST med en LISTLOAD til at finde oplysningerne. Send os
en note, hvis vi skal skrive lidt om AMBLIST en anden gang.