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.

Print Email

Send KB to this email: