
Ved Renden 31 2870 Dyssegaard Tel. +45 23 34 54 43
| 
MainframeSupports tip uge 42/2007:
En af de ting, alle CICS installationer ønsker at undgå, er, at et CICS program loop'er.
Derfor har IBM fra starten indført en parameter i CICS kaldet runaway time. Hvis et
CICS task bruger mere CPU mellem to EXEC CICS kald, end runaway time angiver, så stopper
CICS task'et med en AICA abend. Desværre findes der ind imellem tasks, som har behov for
at bruge mere CPU mellem to EXEC CICS kald end runaway time tillader.
Den nemmeste og desværre også dårligste måde at løse problemet på er ved at sætte
runaway time op. Det kan gøres med CEMT I SYS, hvis man ellers er autoriseret til at
ændre runaway time parameteren. Parameteren vises og angives i millisekunder. Problemet
ved at justere runaway time op generelt er, at man risikerer, at tasks, der burde være
stoppet langt hurtigere, nu får mere snor.
En anden måde
er at udstede en eller flere EXEC CICS SUSPEND kald centrale steder i den CPU krævende
behandling. Fordelen ved EXEC CICS SUSPEND er, at kaldet absolut ingenting gør, bortset fra
at overlade kontrollen til et andet CICS task. På et eller andet tidspunkt vil CICS så
beslutte sig for at give det CPU krævende task kontrollen tilbage. Det er en god løsning,
men problemet er, at hvis task'et virkelig loop'er, så bliver det aldrig stoppet af CICS,
men på den anden side gør det heller ikke alt for meget skade, hvis der bliver udstedt
EXEC CICS SUSPEND ofte.
En anden måde at løse op for problemstillingen er ved at specificere runaway på
transaktionsniveau. I CEDA findes der en parameter kaldet runaway, som kan sættes til
SYSTEM, 0 eller en værdi mellem 500 og et alt for stor tal. SYSTEM (default) betyder, at
det er den generelle runaway time fra CEMT I SYS, der anvendes. 0 betyder, at der slet
ikke kontrolleres for loop, BRUG ALDRIG DENNE VæRDI. øvrige værdier er i millisekunder.
Af en eller anden tåbelig grund kan man ikke justere runaway parameteren på
transaktionsniveau vha. CEMT I TRANS. Det havde ellers været elegant. Hvis man er en rigtig
CICS haj, så kan man benytte EXEC CICS INQUIRE TRANSACTION og EXEC CICS SET TRANSACTION
til at justere runaway parameteren "on the fly". Og husk at CECI kan udføre en hvilken som
helst EXEC CICS kommando, hvis du ellers er autoriseret til CECI. Derfor kan man altså
via CECI justere runaway på transaktionsniveau.
Forrige danske tip
Last tip in english
Tip oversigten
|