How does SyteLine determine manufacturing days (Mday)?
Cannot add a new line to an order (PO, CO, Estimates, etc) caused by Manufacturing Day Calendar and Data in the mcal table
When attempting to schedule a job you receive the message:
[SCHEDULING] was not successful.
Date encountered was not within range of shop calendar.
Solution ID = KB-333
Version = Syteline6.XX.XX
Module : SLMFG
Fact 1 : MRP, PO
Fact 2 : SFC, CO
Symptom 1 : Error: "Date encountered not within range of shop calendar"
Symptom 2 : Error: "Manufacturing day that has MM/DD/YY does not exist."
Database : Progress
Fix
This message is typically generated
for one of the following three reasons:
1) The date on which the scheduling
routine is trying to schedule the job is outside the range of your
manufacturing day calendar. That is, it is before the "MDAY Start"
date or after the MDAY End" date on the MRP Parameters screen.
If the date for which you are trying
to schedule the job is correct, to avoid the problem you need to regenerate
your M-day calendar for a date range which will encompass the job dates. To do
so, change the MDAY Start and End dates to a wider date range. A typical
range is a year or two in the past to a few years into the future. When you
attempt to move to another screen, the working twirly will be displayed and
system will regenerate the calendar. This will probably take several minutes.
2) If the dates on which you are
trying to schedule the job are within the MDAY Start and End, this is probably
due to the calendar not being generated correctly. The most common reason for
this is that there is a value in the MRP Parameters "Minimum Hours in Work
Day" field which is larger than the hours per day in your default shop
calendar (the shop calendar with the blank ID). When you generate the calendar,
the system only generates M-days for days of the week when the hours in the
default calendar is larger than this minimum hours field. Therefore, if you
have 8 in that field and have 7.5 in each weekday of the default shop calendar,
the system will not generate ANY m-days.
Even if these hours fields appear to
be in order, it is still probably a problem with the m-day calendar not being
generated correctly. To regenerate the calendar, make sure the minimum hours
field is less then or equal to the hours per day in the default calendar,
change either the M-Day Start or End by one day and then move to another screen
which will initiate the calendar regeneration.
If the error still occurs, the next
step would be to examine what is actually in the M-day calendar. Since the
M-days cannot be seen on any screen in the application, you will need to
examine them from the Progress Query editor with the following:
for each symix.mcal:
display mcal.
end.
3) You are encountering bug 27989.
With that bug, when you add a new shop calendar, the system was not properly
building the behind-the-scenes supporting data used by scheduling. The bug only
exists in PRP 10 and higher for version 5.00.30 and in 5.01.00. The workaround
is to change the hours on one of the days in the calendar, Save the change,
change the hours back to the correct value and Save again. This corrects the
problem since the supporting data is built properly when you update a calendar.
The bug was just when adding a new calendar.
To determine if you have any
calendars with this problem, run the following program from the query editor.
Any calendars with the problem will be displayed along with the effective date
since there can be multiple calendars with the same ID. For any calendar
listed, use the above workaround of updating and saving.
DEF VAR t-prob AS LOGICAL.
FOR EACH symsch.scal NO-LOCK:
t-prob = YES.
FOR EACH symsch.tick-cal WHERE
tick-cal.calendar = scal.calendar
NO-LOCK:
IF tick-cal.mday-num > 1 THEN
t-prob = NO.
END.
IF t-prob THEN
DISPLAY scal.calendar scal.eff-date.
END.