2016-10-14 2 views
1

В моей AS/400, я пытаюсь запланировать задание в планировщике заданий (ADDJOBSCDE), который работает в первый рабочий день каждого месяца. Поместить SCDDATE (* MONTHSTR) недостаточно, потому что это запустит работу в воскресенье, если месяц начался в воскресенье.AS/400 scheule a WRKJOBSCDE job первый рабочий день месяца

Я думал о том, чтобы установить параметры RELDAYMON (1) FRQ (* MONTHLY) SCDDAY (* MON, * TUE, * WED, * THU, * FRI), но делает ли это первый рабочий день или делает это 5 раз в месяц, первый понедельник, вторник, среду и т. Д.?

Благодарим за помощь!

ответ

2

Как я понимаю, но не эмпирически, задачу лучше всего реализовать с помощью того, что предлагается; т.е. ADDJOBSCDE FRQ(*MONTHLY) SCDDATE(*NONE) SCDDAY(*MON *TUE *WED *THU *FRI) RELDAYMON(1). Но обязательно, в сочетании с изменением, при котором программа, которая вызывается, проверит бизнес-календарь, проверит, является ли текущая дата рабочим днем ​​, и если да, то продолжайте ежемесячную обработку, иначе возврат/выезд без дальнейшей обработки ; вероятно, лучше всего также регистрировать, что программа определила запланированную дату, не была точной в условии, которое считается безобидным, в соответствии с проектом/реализацией, так что проверка завершенного задания, то, что было , не завершено тем, что успешно началось и завершено работу можно легко понять.

Другой вариант [тот, который я предпочитаю] использовать тот же бизнес-календарь, упомянутый выше, из которого будет генерироваться каждый ежемесячный Запланированный Запуск Задания (JOBSCDE) на предстоящий год; т. е. представленная работа за каждый месяц будет определена в отдельной записи, каждая со специальной запланированной датой (SCDDATE), а не с использованием частоты (FRQ). Примечание. Последний месяц, обнаруженный программой, может привести к предполагаемому действительному запросу для добавления тех же заданий на предстоящий год; то есть с ожиданием, что в календаре уже есть записи даты со следующего года.

Если рабочий календарь хранится в ТАБЛИЦЕ, то ТРИГГЕР может быть определен для реагирования на изменения [или новые данные] в отношении того, что определено как первый рабочий день любого месяца; то есть бизнес-правило, определяемое тем, что является 1-м рабочим днем ​​месяца, - обеспечить добавление или обновление задания в JOBSCDE. Хотя без каких-либо триггеров задания на целый год могут быть графиком из запланированного календаря, триггер позволяет изменять ситуации; то есть, если бизнес-календарь, который был запланирован в прошлом году, изменяется по любой причине, бизнес-правило, определяющее отмеченное задание, должно происходить в этом расписании, автоматически корректируется или добавляется в соответствии с измененным календарем.