1 Reply Latest reply on Nov 13, 2019 4:16 PM by Paul Robins

    Create CTO rule IEC070I for triggering  once a day for variable %%JOBNAME

    Pavel Grund
      Share This:

      Hello everyone,


      I am trying to resolve a problem. I need to monitor z/OS system message from log IEC070I -  An error occurred during EOV (end-of-volume) processing for a VSAM data set.

      I need to trigger CTO rule for every task, which deal with a problem IEC070I. All I need to do is shout a message onto console for operator.


      I want to use some user defined variables for resolving DATASET name and jobname, for which message id IEC070I belongs to.

      Is there some way, how to define the rule for every occur of message IEC070I? If this message occur more often just a once for one job/task, the rule will trigger just once for this job! Message id IEC070I may occur a manytimes in a second, so I need to handle the rule just a once! In other case it would fill in  operator console with DO SHOUT statement.




      DO SET      = %%NAME = NULL                                      GLOBAL 

      DO SET      = %%DSN_NAME = NULL                                  GLOBAL 

      DO SET      = %%NAME = %%$W3 %%$MSG                              GLOBAL 

      DO SET      = %%DSN_NAME = %%$W2 %%$M1                           GLOBAL 





          DO COND     = DISK_%%JMENO         ODAT +                                


      IN        !DISK_%%NAME        ODAT   


      For triggering rule just a once, I have made an in IN NOT-COND. But the rule is in status WAIT ACTIVATION and is not available for another running task.


      Thank you


        • 1. Re: Create CTO rule IEC070I for triggering  once a day for variable %%JOBNAME
          Paul Robins

          Hi Pavel,

          Limiting the number of rule triggers for specific jobs on a generic message can be difficult. By suppressing the message for one job, you may inadvertently suppress the message for a different job.

          Assuming the IEC070I is issued under the JOB or STC name, I would consider setting a global variable containing a timestamp and the jobname then checking the existence\age of the variable before alerting. This way you will not ignore any IEC070I messages and all processing will be per jobname. If you're worried about the number of global variables this could create you could have a daily or weekly rule that removes the variables when the TIMEDIFF reaches a certain value.



          DO SET      = %%NOW = %%$YEAR.%%$JULDAY.%%$TIME                   GLOBAL  N

          IF       %%IEC070I_%%JOBNAME EQ %%$UNDEF                                  

          DO SET      = %%IEC070I_%%JOBNAME = 00001000001                   GLOBAL  Y


          DO SET      = %%TIMEDIFF = %%$TIMEINT %%IEC070I_%%JOBNAME %%NOW   GLOBAL  N

          IF       %%TIMEDIFF GT# 500                                              

          DO SHOUT    = TO OPER-14           URGENCY V SYSTEM          CTO282I      

             MESSAGE %%$MSG                                           

          DO SET      = %%IEC070I_%%JOBNAME = %%NOW                         GLOBAL  Y


          1 of 1 people found this helpful