
Ved Renden 31 2870 Dyssegaard Tel. +45 23 34 54 43
| 
MainframeSupports tip uge 35/2002:
Du har måske oplevet at du ikke kunne lave newcopy af et
program i CICS. Problemet opstår typisk efter en ABEND i det pågældende
program. Hvordan du efterfølgende har fået løst problemet ved jeg af
gode grunde ikke, men dette tip beskriver et nemt løsningsforslag.
Oftest skyldes problemet, at programmets såkaldte residency count
ikke er 0. Du finder residency count ved at lave en CEMT I PROG('MYBADPGM').
En af de viste oplysninger om progammet er RES(999), hvor 999 er residency
count. Den skal være 000 for, at du kan lave en newcopy. RES bliver talt een
op, når et program bliver eksekveret af et task. Når et task er færdig med
at bruge programmet, så bliver RES talt een ned. Men nogle gange, så
glemmer CICS at tælle RES ned, når et program abender.
Du kan selv tælle RES ned ved hjælp af CECI. Du udsteder simpelthen en
CECI RELEASE PROGRAM('MYBADPGM'). Først siger CECI til dig, at den er
ABOUT TO EXECUTE COMMAND. Herefter trykker du Enter og nu siger CECI til
dig, at COMMAND EXECUTION COMPLETE. I bunden af skærmen er der nu et felt
kaldet RESPONSE og ud for det står der NORMAL, hvis RES var større end 0,
da du udførte kommandoen. Hvis RES var lig 0, står der i stedet INVREQ for
Invalid request. Man kan nemlig ikke RELEASE et program med RES(0). Man
kan i øvrigt heller ikke RELEASE et program med RES > 0, hvis det bliver
brugt af et task.
Hvis du ikke har autorisation til at udføre CECI på den CICS, hvor du
har problemet, så må du søge hjælp hos de højere magter,
såsom teknisk helpdesk eller CICS-systemprogrammørerne. Du kan også skrive
et lille CICS-program, som laver EXEC CICS RELEASE PROGRAM(pgm-name), så
du kan lave RELEASE, når det passer dig. I øvrigt kan du finde alle
programmer med en bestemt RES med CEMT I RES(X), hvor X er
den RES, du er interesset i.
Du skal vide, at RES også bliver talt op, når et program bliver loadet
ind i storage med en EXEC CICS LOAD PROGRAM. Når det task, der lavede loaden
terminerer, så bliver RES talt ned igen, men hvis programmet blev loadet
med HOLD option, så bliver RES ikke talt ned. Man kan også definere
programmer som residente. De får kun talt deres RES ned, hvis den er
større end een. Du skal passe på med at lave RELEASE af sådanne programmer,
da det netop er meningen, at deres RES er større end 0.
Forrige danske tip
Last tip in english
Tip oversigten
|