MainframeSupports
tip uge 18/1999:

Linkage Editor er et powerfuldt værktøj. De fleste af os bruger den ofte uden at tænke videre over det. Lad os starte med en meget enkel lille ting.

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.
 

Sidste uges tip        Tip oversigten