Darren_Sniezak_40

Automation Engine - January 1st, 2nd, 3rd jobs not running.

Discussion created by Darren_Sniezak_40 on Jan 5, 2016
Latest reply on May 18, 2016 by Octavie_Chakoute_1958
Recently an issue occurred that affected jobs running over the 1st, 2nd and 3rd of January. Please see the following information copied from KB1017782 for our current status. We are working to see if there is a way to modify these calendars in bulk to insure the issue does not occur in the future.

This can affect all versions of the Automation Engine product

Symptoms

Jobs that are scheduled to run using calendars with Weekly keywords for Friday, Saturday, and Sunday are not running on January 1, 2, and 3 of 2016. These keywords also do not highlight January 1st, 2017 or January 1st, 2nd or 3rd, 2021.

 

 

Resolution

Here is how to resolve this situation:

For each calendar with a weekly keyword that has Friday, Saturday, or Sunday selected, edit the object. 

Right-click the affected weekly keyword(s) and go to "Calendar Definition". 

Change "starting with week" from 1 to 0. OR
Change "ending with week" from 54 to 53

Save the calendar. 

You should immediately see the correct day(s) show up in the calendar. These same steps need to be taken for all Weekly keywords.

The following SQL statement can be used to identify all keywords affected by this. This will return the client where a calendar resides that will have this issue as well as the calendar object name (calendar_name), and the keyword (calendar_keyword): 

select OH_Client, OH_Name as "calendar_name", okb_name as "keyword_name" from OH, OKB where
OH_DeleteFlag = 0 and
OH_Idnr = OKB_OH_Idnr and
OKB_CType = 'W' and
OKB_PeriodStart = 1 and OKB_PeriodEnd = 54

The following SQL statement can be used to identify all JOBP, JSCH, EVNT and C_PERIOD objects that could have been affected:

select distinct OH_Name, OH_client from OH where 
(OH_Idnr in 
(select OH_Idnr from OH where OH_Idnr in (select JPPC_OH_Idnr from JPPC where JPPC_CaleName in 
(select OH_Name as "calendar_name" from OH, OKB 
where OH_DeleteFlag = 0 and 
OH_Idnr = OKB_OH_Idnr and 
OKB_CType = 'W' and 
OKB_PeriodStart = 1))) 
OR OH_Idnr in (select OH_Idnr from oh where oh_idnr in 
(select OVP_OH_Idnr from OVP where OVP_CaleKeyName in 
(select okb_name as "keyword_name" from OH, OKB 
where OH_DeleteFlag = 0 and 
OH_Idnr = OKB_OH_Idnr and 
OKB_CType = 'W' and 
OKB_PeriodStart = 1))) 
OR OH_Idnr in ( 
select OH_Idnr from OH where OH_Idnr in (select ah_oh_idnr from AH where AH_Idnr in 
(select epdc_ah_idnr from EPDC where EPDC_CaleKeyName in (select okb_name as "keyword_name" from OH, OKB 
where OH_DeleteFlag = 0 and 
OH_Idnr = OKB_OH_Idnr and 
OKB_CType = 'W' and 
OKB_PeriodStart = 1))))) order by OH_Client asc; 

This SQL can be used to find runs that were affected (please note: this may not be all inclusive depending on settings within your system):

select distinct AH_Name as 'Name', AH_client as 'Client', AH_Idnr as 'RunID' from AH where 
AH_Timestamp1 > '2016-01-01 00:00:00.000' and ( 
AH_OH_Idnr in 
(select OH_Idnr from OH where OH_Idnr in (select JPPC_OH_Idnr from JPPC where JPPC_CaleName in 
(select OH_Name as "calendar_name" from OH, OKB 
where OH_DeleteFlag = 0 and 
OH_Idnr = OKB_OH_Idnr and 
OKB_CType = 'W' and 
OKB_PeriodStart = 1))) 
OR AH_OH_Idnr in (select OH_Idnr from oh where oh_idnr in 
(select OVP_OH_Idnr from OVP where OVP_CaleKeyName in 
(select okb_name as "keyword_name" from OH, OKB 
where OH_DeleteFlag = 0 and 
OH_Idnr = OKB_OH_Idnr and 
OKB_CType = 'W' and 
OKB_PeriodStart = 1))) 
OR AH_OH_Idnr in ( 
select OH_Idnr from OH where OH_Idnr in (select ah_oh_idnr from AH where AH_Idnr in 
(select epdc_ah_idnr from EPDC where EPDC_CaleKeyName in (select okb_name as "keyword_name" from OH, OKB 
where OH_DeleteFlag = 0 and 
OH_Idnr = OKB_OH_Idnr and 
OKB_CType = 'W' and 
OKB_PeriodStart = 1))))); 

Outcomes