§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§§ */ /* © Copyright Keith A. Kerlin 2000 - 2003 */ /* PGM: MonDASD */ /* Author: Keith A. Kerlin */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* This program is run every time UserId KKERLIN issues "O" the */ /* signoff program for KKERLIN. "O"ff instead of SignOff */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* Monitor QSYSMSG MsgQ for DASD Errors. */ /* Also monitor Low Storage. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* CHANGED | 07/02/01 |KKERLIN |Initial Construction */ /* C01 | 01/31/02 |KKERLIN |Added monitors for Low Storage */ /* C02 | 02/11/02 |KKERLIN |Make sure I'm paged. */ /* §Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§Ss§§ */ Pgm Dcl &MsgId *Char 7 /* Message Id to check */ Dcl &MsgDta *Char 256 /* Message Text */ Dcl &MsgDta30 *Char 30 /* %SubStr of MsgDta */ Dcl &MsgF *Char 10 /* Message File */ Dcl &MsgFLib *Char 10 /* Message file Library */ Dcl &Job *Char 10 /* Job Name */ Dcl &User *Char 10 /* User Id */ Dcl &Job# *Char 6 /* Job Number */ Dcl &Profile *Char 10 /* User Profile */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* Get current job Attributes, update Data Area. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ RtvJobA Job( &Job ) User( &User ) Nbr( &Job# ) ChgDtaAra (*LibL/MonPrfs ( 1 6 )) Value( &Job# ) ChgDtaAra (*LibL/MonPrfs ( 7 10 )) Value( &User ) ChgDtaAra (*LibL/MonPrfs ( 17 10 )) Value( &job ) /* C02 Start */ /* Ensure Pages go to current Systems Admin. */ If ( &User = KKERLIN ) + Do SndPage (&User|<' submitted MONPRFS') User( KKERLIN ) ChgVar &User KKERLIN EndDo /* C02 End */ ClrMsgQ QSYSMSGHLD MonMsg ( Cpf2451 Cpf2357 ) ClrMsgQ QSYSMSG MonMsg ( Cpf2451 Cpf2357 ) Exec( Do ) ChgMsgQ Qsys/QSysMsg Dlvry( *Hold ) Pgm( *DspMsg ) ClrMsgQ QSys/QSysMsg MonMsg ( Cpf2451 Cpf2357 ) Exec( Do ) SndPage 'MONDASD (MonDASD) Failed. CLD' User( KKERLIN ) Goto END EndDo EndDo LOOP: /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* Receive all Messages from QSYSMSG, wait forever. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ RcvMsg MsgQ( QSYSMSG ) + Rmv( *No ) + Wait( *Max ) + MsgId( &MsgId ) + MsgDta( &MsgDta ) + MsgF( &MsgF ) + SndMsgFLib( &MsgFLib ) /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* CPF1393 Subsystem &1 disabled user profile &2 on device &3 */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* CPI0954 Storage limit exceeded for ASP &1 */ /* CPI0953 ASP &5 storage threshold reached */ /* *** The MsgId's below indicate TEMP storage used **** */ /* CPF0907 Serious storage condition may exist. Press HELP */ /* CPI0999 Storage directory threshold reached. */ /* CPI099C Critical storage lower limit reached */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* C01 Start */ If ( &MsgId = CPI0954 | + &MsgId = CPI0953 | + &MsgId = CPF0907 | + + &MsgId = CPI0999 | + &MsgId = CPI099C ) + Do SndPage 'Serious Storage problems - CLD' User( &User ) SndPgmMsg MsgId( &MsgId ) + MsgF( &MsgFLib/&MsgF ) + MsgDta( &MsgDta ) + ToMsgQ( QSYSMSGHLD ) + MsgType( *Info ) RmvMsg MsgQ( QSYSMSG ) Clear( *Old ) GoTo LOOP EndDo /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* CPF099E Storage lower limit exit program errorr occurred. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ If (&MsgId = CPI099E ) + Do SndPage 'Low Storage PGM Error - CLD' User( &User ) SndPgmMsg MsgId( &MsgId ) + MsgF( &MsgFLib/&MsgF ) + &MsgId = CPI0999 | + &MsgId = CPI099C ) + Do SndPage 'Serious Storage problems - CLD' User( &User ) SndPgmMsg MsgId( &MsgId ) + MsgF( &MsgFLib/&MsgF ) + MsgDta( &MsgDta ) + ToMsgQ( QSYSMSGHLD ) + MsgType( *Info ) RmvMsg MsgQ( QSYSMSG ) Clear( *Old ) GoTo LOOP EndDo /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* CPF099E Storage lower limit exit program errorr occurred. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ If (&MsgId = CPI099E ) + Do SndPage 'Low Storage PGM Error - CLD' User( &User ) SndPgmMsg MsgId( &MsgId ) + MsgF( &MsgFLib/&MsgF ) + MsgDta( &MsgDta ) + ToMsgQ( QSYSMSGHLD ) + MsgType( *Info ) RmvMsg MsgQ( QSYSMSG ) Clear( *Old ) GoTo LOOP EndDo /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* CPPEA05 *Attention* Contact your hardware service providor */ /* CPPEA02 *Attention* Contact your hardware service providor now. */ /* CPI1161 Unit &1 with device parity protection not fully Operat. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ If ( &MsgId = CPPEA05 | + &MsgId = CPI1161 | + &MsgId = CPPEA02 ) Do SndPage 'DASD Failure on CLD' User( &User ) SndDst Type( *LMsg ) + ToIntNet( ( Kkerlin@Broadwing.com ) + ( Charles.Lemmond@Broadwing.com ) + ( Mike.Wilkinson@Broadwing.com ) ) + DstD( 'DASD (Disk Drive) Failure' ) + LongMsg('A Disk Drive has Failed on CLD(CRM). C+ ontact IBM @ 800.426.7378 or Contact K+ eith Kerlin @ 512.217.4160. Our IBM Cu+ stomer number is 1717903, Serial # A91+ 90, Version 5 Release 1.') + Importance( *High ) + Pty( *High ) SndPgmMsg MsgId( &MsgId ) + MsgF( &MsgFLib/&MsgF ) + MsgDta( &MsgDta ) + ToMsgQ( QSYSMSGHLD ) + MsgType( *Info ) RmvMsg MsgQ( QSYSMSG ) Clear( *Old ) GoTo LOOP EndDo /* C01 End */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* Otherwise Send Message to QSYSMSGHLD and clear QSYSMSG */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Else Do SndPgmMsg MsgId( &MsgId ) + MsgF( &MsgFLib/&MsgF ) + MsgDta( &MsgDta ) + ToMsgQ( QSYSMSGHLD ) + MsgType( *Info ) MonMsg Cpf0000 RmvMsg MsgQ( QSYSMSG ) Clear( *Old ) GoTo LOOP EndDo END: EndPgm