MO Generator Manual

Download PDF version here.

2.EULA #

Please read our End User License Agreement online at: //willoware.com/install/end-user-license-agreement/

3.Installation #

The installation process for all WilloWare products is identical.  Please review the general installation instructions at www.willoware.com/install.

4.Registration #

All WilloWare software uses the same Registration window.  See the general Registration Window instructions here:

//willoware.com/online/registration-window/

5.Security #

Security

The Installation routine will automatically create a Security Task called MOGEN, and a Security Role called MOGEN.

The Task will have access to all windows in MO Generator, and the Task will be assigned to the Role.

To give a user access to MOGEN you can either assign the Task to an existing Role, or assign the new MOGEN Role to a user.

Do NOT modify the MOGEN Security Task. Each time an update is installed for MO Generator it will recreate the Task so it has access to everything in the suite, and any changes will be lost.

6.About #

The About Window for all WilloWare products is identical.  Open the About Window by going to Help >> About Microsoft Dynamics GP.  From that window select Additional >> About {WilloWare Product/Customization}.

{WilloWare Product/Customization} = the installed product, such as GP PowerPack or LabelLink.

Please refer to the general About Window guide here: www.willoware.com/online/about-window

7.Setup #

Setup

HelpID: 715822016

Navigation: Setup >> Manufacturing >> MOGen Setup

Depending on what modules are registered, this window may be blank. Options only appear in this window if you are registered for the Core Utilities or the Suite . The Setup options are Company-wide, so when activated, they affect all users when logged-in to the Company.

Auto-Generate from MO Entry: If enabled, MOGen will automatically run the Create Child MOs utility after an MO has been created in the MO Entry window.

Auto-Generate from SOP: If enabled, MOGen will automatically run the Create Child MOs utility after an MO has been created from Sales Transaction Entry. MOGen will pick-up the top-level MO and generate MO’s for all of the subassemblies.

After clicking the Generate MO button on Manufacturing Series Sales Item Detail window (or if MO’s are silently generated) you will be asked if you want to create MO’s for the subassemblies. If you answer YES, MOGenerator will launch and create the subassembly MOs. If no answer NO, subassembly MO’s will not be created.

If you accidentally click NO, open the Manufacturing Series Sales Item Detail window again, and click the OK button. MOGenerator will again check if there are subassembly MO’s for the MO and if not, it will prompt again to create them.

This setting also applies to MOs created by Sales Configurator.

Rebuild Picklist during Reschedule: This setting pertains to manual scheduling/rescheduling of MOs. It does not apply to the MOGen utility called “MO Scheduler”. There is a Rebuild Picklist option on the MOGen window that is used by MO Scheduler.

This setting has no effect unless Reschedule Child MOs is also marked. Rebuilding the Picklist causes MOGen to go back to the Bill of Materials and re-create the Picklist from the current BOM. If the Picklist is not rebuilt, rescheduling leaves it untouched—which means the original required date stays on the original components from when it was first built.

A scenario where you might not want to rebuild the picklist would be if the MOs are released and inventory is allocated, and then the MOs are changed back to Open so they can be rescheduled. In this case rebuilding the picklist would unallocate the inventory, so NOT rebuilding the picklist will keep the allocations.

Under most circumstances, Rebuild Picklist During Reschedule should be marked.

Reschedule Child MOs: If the top-level MO is rescheduled, MOGen will automatically reschedule all of the child (subassembly) MOs. This works from the Manufacturing Order Entry window (Schedule MO button), and from MO Generator when running the “MO Scheduler” utility. The MO Entry window can only reschedule an MO if it is Quote or Open, and has no financial activity recorded against it. The MO Scheduler utility can also reschedule Released MOs.

8.Overview #

Overview

HelpID: 715822006

Navigation: Transactions >> Manufacturing >> MO Generator

The MOGen window has three sections:

  • Settings
  • Import
  • Manual Entry

The next three chapters discuss each section in detail.

9.Settings #

Settings

Options in the Settings area are saved per User. If you have multiple MOGen processors running, each one will have a different GP User ID, so the Settings can be (and must be) set up individually after logging-in with each User ID. The settings are listed below in alphabetical order.

Allow Receipts on Exising MOs: This is used by “Table: MO Receipt Integration”. When marked, the MO Receipt Integration can create MO Receipts for MOs which were created and released in GP. When unmarked, the MO Receipt Integration will create a new MO and post a receipt for it all in one step.

Auto-Clear Excluded Items: See section below called Excluded Items. Excluded Items is used by Create Child MOs to prevent some items from having MOs created. If this option is marked, when processing completes, the Excluded Items list will be cleared. You might want to do this if you are excluding some items on a one-time basis so that the list is cleared when you are finished.

Auto-Close/Cancel MO: Only applies to MO Receipt Integration. When marked, MORI will automatically Close the MO when it is fully received. When MORI is creating partial receipts, the MO will be canceled when the final partial receipt MO is created. See the MO Receipt Integration section for more details about the partial receiving process.

When this option is NOT marked, MOs will be left in a Partially Received status until they are manually closed.

Backflush Labor: this setting provides an option to override the Routing setting for tracking Labor.

  • Routing Default: uses the settings from the Routing
  • Backflush: overrides the Routing settings and forces all sequences to Backflush labor
  • Do Not Backflush: overrides the Routing settings and forces all sequences to NOT Backflush labor

Create Child MOs: After creating an MO, MO Generator will read the Picklist for the Parent Item’s MO to see if there are subassemblies that are set to Make To Stock. If so, it will also create MO’s for those items. See MO Generator Overview for a detailed description of this process.

Delete File After Import: Only applies to the Excel import utilities. When marked, the Excel file will be deleted after it has been imported. This option may be used when running MOGen in an unattended mode where another process regularly creates a new file to import.

Delete MORI Record After Import: Only applies to MO Receipt Integration. When marked, records in the MORI integration tables will be deleted when an MO Receipt is successfully integrated (i.e. there are no errors).

MO Description: Provides the MO Description for the top-level MO, if a Description is not provided in the import. When Child MO’s are created, the Description will contain the MO Number of the Parent MO.

MO Doc Type: MO Generator integrates with MFG PowerPack from WilloWare. MFG PowerPack has an MO Document Types feature which provides support for automatically generating different MO Numbering Sequences. If the module is installed, the MO Type field will be enabled and you can pick from one of the available MO Document Types. If the module is not installed, this field will be locked and set to Default (which uses the normal GP Manufacturing MO Number).

MO Selection Query: This setting applies only to MO Receipt Integration. When running multiple MORI processors, we recommend using the MO Query to help ensure the processors cannot attempt to process the same record. In high volume environments the latency caused by a “fat client” such as Dynamics GP can create enough delay that two processes can grab the same record before either has returned any changes to the database. See MO Selection Query in the MO Receipt Integration section for more detail on this setting.

MO Status: Options are Quote, Open, Released. This defaults to Released. If Manufacturing is set up to Allocate On Release (see Tools >> Setup >> Manufacturing >> System Defaults >> Manufacturing Orders), a Manufacturing Component Transaction – Allocate transaction will be created to allocate the inventory when the MO is created.

Rebuild Picklist During Reschedule: This setting applies only to the MO Scheduler utility. There is a system setting that applies to manually scheduled/rescheduled MOs. See the Setup chapter for more information on the system setting.

When this option is marked, the MO Scheduler utility will delete the existing Picklist and rebuild it from the Bill of Materials. You may want to do this if an MO is created a long time before it is released and there is a chance that the BOM has changed over time. Another example would be a scenario where an MO is created before the BOM is even complete.

Scheduling Preference: Scheduling Preference is used to retrieve the Scheduling Method (Forward/Backward), and the Draw From and Post To Sites.

MOGen looks for Scheduling Preference in the following order:

  1. Import (either from Excel or in the import table)
  2. MOGen Settings section (on the MOGen window)
  3. Manufacturing’s Default Scheduling Preference

If you have multiple manufacturing locations, create a Scheduling Preference with the Draw From and Post To sites for each location, then either provide that in the import, or have different GP User IDs that run MOGen for each facility, and set Scheduling Preference appropriately for each User ID/Location.

The Scheduling Preference must have BOTH the Draw From Site and Post To Site specified. If either is blank, this will be reported in the Error Log and processing will stop.

As shown below, a Scheduling Preference for the NORTH location has the Draw From and Post To sites set to NORTH.

Use Component Lead Time Offset: This setting is used when creating Child MOs. The Date Due for a subassembly MO will be offset by the LTO specified on the BOM of the parent item.

As shown below, if the Offset From setting is MO Start Date, the Due Date for BA100G will be the Start Date of 100XLG plus 30-days. If the Offset From setting is MO Due Date, the Due Date for BA100G will be the Due Date of 100XLG minus 30-days.

MOGenerator schedules differently than Manufacturing does. GP Manufacturing simply subtracts LTO from the Start Date (or End Date), then checks if the resulting day is a Down Day. If so, it moves the date backward by one day until it arrives at an up date.

MOGenerator subtracts LTO Up Days. In other words, down days/holidays are not included when it subtracts LTO. So if LTO is 3, and given Start Date is Monday, and Saturday & Sunday are down days, the Start Date would be moved back to Wednesday (three “work days” before the Start Date).

Use MO# for IV Doc Number: This setting is used by MORI. When Manufacturing posts an MO Receipt it creates two Inventory Adjustments—one to consume raw materials, and a second to produce the finished good. Manufacturing normally uses the Next IV Adjustment Number from the Inventory Setup window. Enabling this option will cause the IV Document Number on these inventory adjustments to be based on the MO Number. More example, posting an MO Receipt for MO00123 would create Inventory Adjustments numbered MO00123*1 and MO00123*2.

The IV Document Number field allows 17 characters while the MO Number field allows 30. For this option to work, your MO Number must be 15 characters or less. If you will post partial receipts, those MOs will have a suffix based on the partial receipt, such as MO00123-001, MO00123-002 and so on. The Inventory Adjustments would then be MO00123-001*1 and MO00123-001*2.

In the event the resulting IV Document Number would exceed 17 characters, MORI will let Manufacturing use the default IV Adjustment Number from Inventory Setup.

When running multiple MORI processors, we recommend enabling this open to help ensure the processors cannot both use the same IV Document Number. In high volume environments the latency caused by a “fat client” such as Dynamics GP can create enough delay that two processes can grab the same IV Document Number before either has returned any changes to the database.

10.Import #

Import

The IMPORT section of the window is used to run the MOGenerator Core Utilities and MO Receipt Integration. Everything entered here is saved on a per User ID basis, so the window will redisplay the same settings the next time the window is opened.

Run Import: There are two options: Once and Continuously. Normally when importing from a spreadsheet you will use the “Once” option, which will read the spreadsheet, create MOs, and then stop.

However, it could also be run continuously on a timed basis if there is a process outside of GP that regularly populates the spreadsheet with new MOs that need to be created. If the Delete Excel File After Import option is marked, the file will be deleted after importing it. An external process could then create a “new” file (using the same name), populated with a new list of Items.

Every x-Minutes: By default, MOGen will check for an import file every minute. This value can be set from 1 to 32,767 minutes. If the file does not exist, and error will be added to the Error Log, and MOGen will wait for another x-Minutes before it checks again.

The interval with which MOGen runs can by timed in such a way that it coordinates with an external process. For example, when using one of the Excel import utilities, the Delete Excel File After Import option can be marked to have the utility automatically delete the file when it completes. An external process can then run to recreate the import file with new data, which MOGen will read the next time it runs. So, if MOGen runs every hour, that provides time to process the file, delete the file, then wait for a new file to be created before starting up again.

Import Type: select the utility you want to run. Options are:

  • Excel: Create MO- see the Core Utilities: Create MOs chapter for more information
  • Excel: Create Child MOs – see the Core Utilities: Create Childs MOs chapter for more information
  • Excel: MO Scheduler – see the Core Utilities: MO Scheduler chapter for more information
  • Table: Create MO- see the Core Utilities: Create MOs chapter for more information
  • Table: Create Child MOs – see the Core Utilities: Create Childs MOs chapter for more information
  • Table: MO Scheduler – see the Core Utilities: MO Scheduler chapter for more information
  • Table: MO Receipt Integration – the second half of the manual is dedicated to this utility. See the MO Receipt Integration chapter for an overview, and the chapters that follow.

The Registration Key controls which utilities appear in the dropdown list, so all options listed above may not be visible.

File: For any of the “Excel” import utilities, select the Excel file to import.

Timer: The Timer can only be used when running the utilities in Continuous mode. The Timer provides an option to run a utility unattended for a certain number of hours, after which it terminates itself and closes GP.

Set Timer to Enabled

Stop After: Enter the number of hours the utility should run before stopping.

Close GP When Done: when the stop time is reached, if this option is marked, Dynamics GP will automatically close.

Use System Date: if MOGen runs overnight the date change can cause Dynamics GP to pop-up a dialog box asking to change the time. This will cause MOGen to fail. To prevent the date change dialog from opening, add this switch to the dex.ini file:

SuppressChangeDateDialog=TRUE

Mark the Use System Date option to have MOGen automatically change the GP User Date when the System Date (server date) changes.

11.Manual Entry #

Manual Entry

The Manual Entry section of the window is used to manually run the Create Child MOs utility for a single item. It will create an MO for the parent item entered here, and then MOs for all of the subassemblies.

See the Core Utilities: Create Child MOs chapter for more detail.

Item Number: Enter the top-level Item Number. An MO will be created for this Item, and then the Create Child MOs utility will run using that MO as the starting point.

BOM Type: select the BOM Type. By default this is MFG BOM, but any other valid BOM Type can be used.

BOM Name: If ARCH BOM or CONFIG BOM are selected, a BOM Name is required.

End Quantity: Enter the quantity of the Item to produce

Schedule Method: Select Forward Infinite to have the MO scheduled based on the Start Date and working forwards. Select Backward Infinite to have the MO scheduled based on the Due Date and working backwards.

See the Excluded Items chapter for information about how to keep Create Child MOs from processing certain items.

PROCESS: Click the Process button to start the MO creation process.

12.Error Log #

Error Log

HelpID: 715822019

Navigation: from the MO Generator window >> GoTo Button >> Error Log, and also Transactions >> Manufacturing >> MOGen Error Log

This window shows errors coming from the Core Utilities and MO Receipt Integration. Errors are recorded in W7158ErrLog in the company database.

Source: Select the source, Core Utilities, or MO Receipt Integration

Core Utilities

Sort By: The Core Utilities error log can be sorted by Date or Manufacture Order Number.

Clear Log: The Clear Lot button is only available when viewing the Core Utilities log.  Clicking Clear Log will remove all records from the log file.

MO Receipt Integration

MO Receipt Integration performs a large number of validation checks on each Receipt and records all errors in a Note attached to each record.  The MORI Error Log shows only MO Receipts that currently have an Error Status (Status = 1 in W7158MOHdr).

Click on a line in the scrolling window to view the Error Note attached to the MO.  The Note window can be left open, and it will redisplay when other MOs are selected.

Click the Show Detail button to view additional information about the MO Receipt.

REPROCSS: Click the Reprocess button to reset the Status on the MO back to zero. This will cause MORI to pick-up the MO Receipt again the next time it runs.

13.Exclude Items #

Exclude Items

HelpID: 715822030

Navigation: from the MOGen window click the GoTo button >> Exclude Items

Items in the Exclude Items list are NOT processed by MO Generator when encountered by the Create Child MOs utility. Note that the utility stops at the excluded item, and does not continue below it.

Items might be excluded if they are a subassembly which are common to multiple made items, so they are produced in larger quantities and should not be produced as-needed for each parent item.  Or, there is existing inventory of a subassembly which is usually made, so it should be excluded so that the existing inventory is used.

An excluded item (subassembly) can itself be put into MO Generator and the utility will create an MO for it and subassemblies within its BOM.  Being excluded only keeps MO Generator from creating an MO for the item as a subassembly of another item.

Enter the made items which should be excluded.  The Excluded Items are stored per-user.  Each user’s list of Excluded Items is separate and does not affect MO Generator for any other user.

The Excluded Items list can be cleared automatically after MO Generator runs.  Use the Auto-Clear Excluded Items setting if the items are “temporarily” excluded, only for the current MO Generator run. See the Settings chapter for more information.

14.Core Utilities #

Core Utilities

The Core Utilities consist of Create MOs, Create Child MOs, MO Scheduler, and Manual Entry.

See the Overview chapter for an orientation on what each utility does and how it works.

The following sections provide instructions on how to use each utility. Each section lists the options from the Settings section of the window used by that specific utility and provides an Excel Map or Table Map. The Maps provide detailed information about what data must be provided to run the utility.

See the Import chapter for more information about how to use the window to run the desired utility.

14.1.Create MOs #

Create MOs

This utility can use input from an Excel Spreadsheet or a SQL staging table.

Create MOs creates an MO “as if” if was created by using the Manufacturing Order Entry window. The utility creates the MO, builds the picklist, and schedules the MO (which populates CRP tables). If the MO Status option is set to Released, and Manufacturing Setup specifies that inventory should be allocated when the MO is released, MOGen will also create a Component Transaction Entry “Allocation” transaction to allocate the components on the Picklist.

When the Create Child MOs option is marked, MOGen will create child-MOs for each of the non-Phantom subassemblies on the Picklist of the parent Item. The Create Child MOs process continues down each level of the assembly until there are no more “make” components.

This utility can also create a MOP-SOP Link between a Manufacturing Order and a Sales Lines. If there are no errors creating the MO, the utility will attempt to create the MOP-SOP Link. Errors will be reported (such as an invalid SOP Type was provided) and will prevent creating the MOP-SOP Link. In this case, MOP-SOP Links would need to be manually created after the integration completes.

See the Excel Map for details about the import file layout, data requirements, and validations performed on each field.

See the Table Map sections for details about how to populate the SQL Import tables.

If any errors are encountered, they will be reported in the Error Log. See the Error Log chapter for more information.

14.1.1.Settings #

Settings

The Settings listed below apply to Create MOs. See the Settings chapter for more information on each setting.

  • Backflush Labor
  • Create Child MOs
  • Delete Excel File After Import
  • MO Description
  • MO Doc Type
  • MO Status
  • Scheduling Preference
  • Use Component Lead Time Offset

14.1.2.Excel Map #

Excel Map

The Excel file must not have Column Headers (data should start in Row #1).  Required fields must be provided. Optional fields can be provided but may be left blank.

A sample Excel file is shown below:

//willoware.com/wp-content/uploads/2016/10/MOGenXLSSample.png

Columns must be in the position specified in the Excel Map section (i.e. Item Number must always be in Column B).

Col Name Required Notes
A MO Number NO If no MO Number is provided, the next MO Number generated by MFG will be used, or if WilloWare’s MO Doc Types is registered, it will generate an MO Number based on the selected MO Doc Type.

If neither of the above methods results in a new MO Number, the utility will create it by appending “M” to a date/time stamp (MMDDYYYhhmmss).

MO Number must not already exist in GP.

MO Number will be truncated at 30-characters and converted to upper case.

B Item Number YES ItemNumber will be truncated at 30-characters and converted to upper case. It must exist in GP.
C Quantity YES Cannot be negative, and must not have more decimal places than is allowed by the Item’s Quantity Decimals setting.
D Due Date YES Due Date cannot be blank, and must have one of the following formats:

MM/DD/YYYY or YYYY-MM-DD

E Scheduling Preference NO Scheduling Preference will be truncated at 20-characters. If provided in the file, it must exist in GP, and, it takes precedence over the other sources for Scheduling Preference.

A Scheduling Preference can also be entered on the MOGen window.  If present, it will be used when SchedPref is not provided in the import.  Lastly, MOGen will use the Default Scheduling Preference from MFG Setup if no other Scheduling Preference is provided.

Scheduling Preference is used to set the Draw From and Post To Sites on the MO, and the Scheduling Method (forward or backward).

F Routing Name NO Routing Name will be truncated at 30-characters and converted to upper case. If provided, it must exist in GP.

If not provided, the Item’s Primary Routing will be used.

G BOM Type NO If not provided the Item’s MFG BOM will be used.
H BOM Name NO If BOMType = 3 (ARCH BOM) or 4 (CONFIG BOM), a BOMName must be provided. The BOM must exist in GP.

BOM Name will be truncated at 15-characters and converted to upper case.

I Description NO If no Description is provided in the import, the MO Description from the MOGen window will be used.
J SOP Type NO Integer: 2 = Order, 3 = Invoice, 5 = Backorder. These are the only allowed values.
K SOP Number NO SOP Number will be truncated at 20-characters and converted to upper case.

SOP Number and Line Seq Number can be provided to have Create MOs link the new MO to a Sales Line. The Sales Line Quantity must be Backordered. Orders, Invoice and Backorders can be linked.

L Line Seq Number NO Line Seq Number is the line to which to MO should be linked. Note that this utility cannot be used to link to a Kit Component line.

An MO can be linked to only one Sales Line.

The Sales Line Site ID must match the Post To Site ID on the Scheduling Preference.

14.1.3.Table Map - Header #

Table Map – Header

The integration table (W7158ImportHdr) is located in the Company Database.  Optional columns do not accept NULLs, so they need to be populated with a default value.

Col Name Required Notes
1 MONum YES MONum is the Key Field in this table so it must always be provided.  See MO Numbering below for more details.
2 ITEMNMBR YES
3 QUANTITY YES
4 DUEDATE YES The date must be equal to, or after, the User Date.
5 SchedPref NO A Scheduling Preference can be entered on the MOGen window.  If present, it will be used when SchedPref is not provided in the import.  MOGen will use the Default Scheduling Preference from MFG Setup if no other Scheduling Preference is provided. Default to empty string.
6 RoutingName NO If not provided, the Item’s Primary Routing will be used. Default to empty string.
7 BOMType NO If not provided the Item’s MFG BOM will be used. Default to zero.
8 BOMName NO If BOMType = 3 (ARCH BOM) or 4 (CONFIG BOM), a BOMName must be provided. Default to zero.
9 DSCRIPTN NO An MO Description can be provided on the MOGen window.  If no Description is provided in the import, the MO Description from the MOGen window will be used.
10 NOTEINDX NO For internal use.  Always set to zero.
11 Status NO 0 = New.  Always set to zero

1 = Error

2 = Done

9999 = Being processed

NOTE: The GP Manufacturing Bill of Materials window field labels do not match the SQL table columns for BOM Type and BOM Catetory.  They are reversed.  BOM Type on the window is BOMCAT_I in the table, and BOM Category on the window is BOMTYPE_I in the table.

W7158ImportHdr.BOMType corresponds to the User Interface BOM Type (i.e. MFG BOM, Config BOM, etc).

MO Numbering: MONum is a required field.  Each row much have a unique MONum.  The value provided in MONum will be used as the Manufacture Order Number in GP, so it must also be a unique value in the Manufacture Order Master (WO010032). The MONum cannot already exist in WO010032.

If the imported MONum begins with “?”, when MOGen creates an MO it will generate the next MO Number for you based on the settings on the MOGen window.  So, it will create a Manufacture Order Number using either the default next number from Manufacturing, or WilloWare’s MO Document Types.

As long as the MONum begins with a “?”, MOGen will create the next MO Number for you.

//willoware.com/wp-content/uploads/2016/10/MOGenDocType.png

If you are registered for MO Document Types in WilloWare’s MFG PowerPack, you can use MO Document Types with MOGen.  The MO Document Types will appear in the MO Type drop-down list.  If you do not have MO Document Type, the “Default” option will use Manufacturing’s next MO Number.

To have MOGen create an MO Number for you, the import table needs to have the MONum field populated with something, such a simple row number:

select ‘?’+ltrim(str(max(DEX_ROW_ID)+1)) FROM W7158ImportHdr (nolock)

14.1.5.Using Create MOs #

Using Create MOs

See the Import chapter for more information about running this utility. In the Import section of the window, set Import Type to either “Excel: Create MOs” or “Table: Create MOs” depending on your integration source.

14.2.Create Child MOs #

Create Child MOs

This utility creates Child-MOs for each non-Phantom subassembly within the Picklist of a Parent MO. The utility can be run directly by providing “parent” MOs in an import, and it can also run automatically when manufacturing orders are created from the MO Entry window or from a Sales Transaction.

The Create Child MOs Import utility can be run using input from a spreadsheet or SQL table. See the Excel Map and Table Map sections below for more detail.

Create Child MOs can run automatically each time an MO is created by MOGen (i.e. such as when the Create MOs utility runs, and when Manual Entry is used). Enable this functionality by marking the Create Child MOs setting.

Create Child MOs can also run automatically when an MO is created from Sales Transaction Entry. In this case, the parent item is Make-to-Order (manual or silent), or it is a Configured item. When the MO is created from Sales Transaction Entry, the Create Child MOs utility will catch the parent MO and create Child MOs for the Make-to-Stock subassemblies. See the Setup chapter of the manual for instructions on enabling this feature.

As an example of the Create Child MOs process, take an MO for 100XLG. The Bill of Materials for 100XLG is shown below. If BA100G is a Phantom, the utility would create MOs for HA100G and CBA100.

//willoware.com/wp-content/uploads/2016/10/MOGenChildren.png

However, if BA100G is not a Phantom, the utility would create MOs for BA100G, and HA100G, then it would read the Picklist for the BA100G Manufacturing Order, which would cause it to create an MO for CBA100.

When Create Child MOs runs automatically after a parent MO is created in GP, the MOGen Status window will open. This window shows what the utility is working on while it creates MO. The utility may run for many minutes depending on the number of “make” assemblies, the size of the Bills of Material, and the depth of the Bills of Material.

In addition to creating the Child-MOs, proper scheduling requires that the top-level be scheduled first so GP Manufacturing can calculate the correct Start Date and Start Quantity.  The Child-MOs are scheduled so that their End Date is the Start Date of the Parent MO.  Also, the Child-MO End Quantity is set to the Start Quantity of the Parent MO (this ensures that a Shrink Factor on the Parent flows down to the Child MOs), and the Post To Site of the Child is set to the Draw From Site of the Parent.

The Child Due Dates can be adjusted by Lead Time Offset.  If the Use Component LTO option is marked on the MOGen window, the Due Date for the child MOs will be adjusted based on the number of LTO days and the “Offset From” setting for the component on the parent item’s Bill of Materials.

//willoware.com/wp-content/uploads/2016/10/MOGenChildLTO.png

LTO can be a positive or negative value.  If the Start Date for the Parent MO is June 3rd and the Due Date is June 5th, the LTO Days and Offset From setting will have the following effect on the Due Date of a Child MO:

Lead Time Offset (DAYS) Offset From: MO Start Date Offset From: MO Due Date
-2 June-1 June-7
2 June-5 June-3

LTO is subtracted using “Up Days”. If the Shop Calendar specifies Saturday and Sunday as down days, they are not included when offsetting an MO for the LTO. This is different than how GP Manufacturing normally schedules as it simply subtracts the LTO days from the Start Date, and only adjusts the resulting date if it falls on a Down Day. MOGen subtracts “working days” from the Start Date, so it will take into account weekends and holidays.

MO Generator always uses Backward Infinite scheduling when creating Child MOs. The selected Due Date for the Parent, and calculated Due Date for Children, is always validated against the Work Center Calendar for the Work Center on the last sequence of the routing for the item.  If the Due Date falls on a down day, it will be adjusted backwards by 1-day until MO Generator finds an open day.

The MO Numbers for all of the linked MOs are based off the Parent MO Number.

//willoware.com/wp-content/uploads/2016/10/MOGenLinkedMOs.png

As shown above, MO0059 is the top-level Parent, and all Child-MO will be numbered sequentially after that: MO0059-0001, MO0059-002, etc.  The MO Description for the Child MO will contain the Parent MO Number.

For example, creating the Child MOs for 100XLG would result in the following list of MOs, where the MO Description of each child references the Parent-MO above it.

IMPORTANT: Because MOGen uses “-xxxx” to denote a Child MO, you should not use dashes in your normal MO Numbering sequence.

See the Exclude Items chapter for information about how to keep the Create Child MOs utility from creating MOs for certain items.

The Parent MO and its Children call all be rescheduled together by rescheduling the top-level parent. See the Setup chapter for more information on enabling this option.

MOGen will also attempt to delete Children when the Parent is deleted. When you delete the parent, you will be asked if you also want to delete the children.

14.2.1.Settings #

Settings

The Settings listed below apply to Create Child MOs. See the Settings chapter for more information on each setting.

If the MOGenerator window is open, it uses the following settings from the window:

  • MO Document Type (i.e. it uses either the default Manfacturing Next MO Number, or it can use WilloWare’s MO Document Types module to create an MO Number)
  • Backflush Labor option
  • Use Lead Time Offset

If the MOGenerator window is NOT open, it uses:

  • Manfacturing’s Next MO Number
  • Backflush Labor option that was last used on the MOGen window
  • Use Lead Time Offset setting that was last used on the MOGen widow

See the Excluded Items chapter for information about how to exclude certain items from the Create MOs utility.

14.2.2.Excel Map #

Excel Map

The Excel file must not have Column Headers (data should start in Row #1).  Create Child MOs requires ONLY a list of MO Numbers.

Col Name Required Notes
A MO Number O MO Number must exist in GP.

MO Number will be truncated at 30-characters and converted to upper case.

14.2.3.Table Map #

Table Map

The integration table (W7158ImportHdr) is located in the Company Database.   Optional columns do not accept NULLs, so they need to be populated with a default value.

Col Name Required Notes
1 MONum YES Provide the MO Number of a “parent” MO for which you want to create subassembly MOs.
2 ITEMNMBR NO Default to empty string
3 QUANTITY NO Default to zero
4 DUEDATE NO Default to 1/1/1900 (19000101)
5 SchedPref NO Default to empty string
6 RoutingName NO Default to empty string
7 BOMType NO Default to zero
8 BOMName NO Default to empty string
9 DSCRIPTN NO Default to empty string
10 NOTEINDX NO For internal use.  Always set to zero.
11 Status NO 0 = New.  Always set to zero

1 = Error

2 = Done

9999 = Being processed

14.2.4.Using Create Child MOs #

Using Create Child MOs

Additional logic can be added to the system to control when or if a Child MO is created. For example, you might want to only create an MO if the On Hand inventory is zero.

You can also control which Routing is used for a Child MO. By default, the Child MOs will be created using the Primary Routing, however, you may have different Routings based on the Manufacturing Site.

See the Custom Business Logic chapter for more information about these topics.

See the Import chapter for more information about running this utility. In the Import section of the window, set Import Type to either “Excel: Create Child MOs” or “Table: Create Child MOs” depending on your integration source.

14.2.5.Data Map #

Data Map

This section describes how each field is set on the Child MO.

BOM Type/Name: as specified in the Picklist for the Parent MO. By default it will attempt to use the MFG BOM.

Draw From Site: Draw From Site has several potential sources. It is retrieved from the following sources, in the order shown below. Use as an example a top-level MO for 100XLG.

The first source is the Issue From site from the BA100G subassembly line on the 100XLG BOM.

The second source is the Default Issue From site on the BOM Header of the subassembly BOM.

Lastly, it will use the Draw From Site on the Scheduling Preference. See Scheduling Preference below.

Due Date: set to Parent MO Start Date, then adjusted for Lead Time Offset (if Use Component Lead Time Offset is marked) and Down Days.

MO Description: set to Parent MO Number.

MO Number: the top level Parent MO Number is used as a prefix for all MOs below the top. If the top level MO is MO00123, the first subassembly below the top is MO00123-0001, the next subassembly at that level will be MO00123-0002, and so on.

Note that the Create Child MOs utility runs automatically when it detects that the Manufacturing module is scheduling a Manufacturing Order. This results in MOs being created for first-level subassemblies, and when those are scheduled it triggers creating MOs for second-level subassemblies, and so on. The result is the subassembly MOs numbers will tend to be numbered across a level, then down to the next level and across that level, rather than from top-to-bottom within an assembly and then top-to-bottom within another assembly.

Post To Site: set to the Parent MO Draw From Site. If this is empty, it uses the Scheduling Preference Draw From Site. See Scheduling Preference below.

Quantity: set to the Component Quantity from the Parent MO Picklist, converted to a quantity in the base Unit of Measure. The quantity to make of the subassembly item can be altered. See the Custom Business Logic chapter for more information on changing the quantity.

Routing Name: by default, the subassembly Primary Routing will be used. An alternative Routing Name can be provided. See the Custom Business Logic chapter for more information on how to provide a Routing Name.

Scheduling Method: always Backward Infinite because the subassembly MO needs to finish on a specific date to be ready for the MO above it.

Scheduling Preference: set to the Parent MO Scheduling Preference. If this is blank, it uses the Default Scheduling Preference.

 

14.3.MO Scheduler #

MO Scheduler

There are several 3rd Party Products for Microsoft Dynamics GP which integrate into Manufacturing by creating an MO Header (WO010032), but then require manual action by a user to select the MO in Manufacturing Order Entry and click the Schedule MO button.  This action, click the Schedule button, causes Manufacturing to create the missing records that were not created by the integration, which may include building the Picklist and Working Routing, and populating MRP and CRP tables.  Additionally, the user may have to Release the MO, which, depending on Manufacturing Setup, may also create a Manufacturing Allocation transaction.

The MO Scheduler performs these tasks automatically.  It can create the Picklist and Working Routing, populate the MRP and CRP tables, release the MO, and create a Component Transaction Entry “Allocation” transaction.

Additionally, MO Scheduler can be used to reschedule existing MOs, and Child MOs (if the Setup option is enabled to reschedule child MOs). See the Setup chapter.

MO Scheduler can reschedule MOs in Quote, Open, and Released statuses, but the MOs cannot have WIP Labor or Machine recorded.

14.3.1.Settings #

Settings

The Settings listed below apply to MO Scheduler. See the Settings chapter for more information on each setting.

  • MO Status
  • Rebuild Picklist During Reschedule

14.3.2.Excel Map #

Excel Map

The Excel file must not have Column Headers (data should start in Row #1).  A spreadsheet to change the Due Date/Start date on an MO, and reschedule it will look like this:

//willoware.com/wp-content/uploads/2016/10/MOGenRescheduleXLS.png

Note that the only two columns needed are MO Number and Due Date.

Col Name Required Notes
A MO Number NO MO Number must exist in GP.

MO Number will be truncated at 30-characters and converted to upper case.

B Item Number NO Not Used. Default to empty string.
C Quantity NO Not Used. Default to empty string.
D Due Date NO Default to 1/1/1900 or 19000101.

If a Due Date is provided, the Start Date and Due Date on the MO will be set to the new date, and then it will be rescheduled using the Scheduling Method on the MO.

If Due Date is blank, the MO Scheduler will create a Working Routing (if one does not exist), and Release the MO if the MOGen MO Status is set to RELEASED. If Manufacturing Setup has the “Allocate when MO is Released” checkbox marked, an Allocation transaction will be created.

14.3.3.Table Map #

Table Map

The integration table (W7158ImportHdr) is located in the Company Database.   Optional columns do not accept NULLs, so they need to be populated with a default value.

Col Name Required Notes
1 MONum YES Provide the MO Number of a “parent” MO for which you want to create subassembly MOs.
2 ITEMNMBR NO Default to empty string
3 QUANTITY NO Default to zero
4 DUEDATE NO Default to 1/1/1900 (19000101). If a Due Date is provided, the Start Date and Due Date on the MO will be set to the new date, and then it will be rescheduled using the Scheduling Method on the MO.
5 SchedPref NO Default to empty string
6 RoutingName NO Default to empty string
7 BOMType NO Default to zero
8 BOMName NO Default to empty string
9 DSCRIPTN NO Default to empty string
10 NOTEINDX NO For internal use.  Always set to zero.
11 Status NO 0 = New.  Always set to zero

1 = Error

2 = Done

9999 = Being processed

14.3.4.Using MO Scheduler #

Using MO Scheduler

See the Import chapter for more information about running this utility. In the Import section of the window, set Import Type to either “Excel: MO Scheduler” or “Table: MO Scheduler” depending on your integration source.

15.Custom Business Logic #

Custom Business Logic

Child MO – Check Available Inventory

You can add custom business logic (CBL) to MO Generator to control which subassemblies will have MOs created, and the quantity on those MOs, based on a calculation of Available Inventory.

By default, MO Generator creates an MO for each subassembly below the parent.  One use of the CBL would be to add your own calculation for whether or not there is enough inventory to meet the needed quantity, or to adjust the MO Quantity to meet a standard run quantity.

During the installation process, MO Generator creates a stored procedure in the Company Database called: wspMOGenInvenCheck.

NOTE: You should always keep a backup copy of your modifications, so you can easily re-apply your changes.  If changes are required to wspMOGenInvenCheck, the installation routine will drop the stored procedure and re-create it.

The default stored procedure does not contain any code, other than to always tell MO Generator that it should create an MO for the item as it normally would.

//willoware.com/wp-content/uploads/2016/10/MOGenCheckInven.png

A sample of the default stored procedure is shown above.  Your CBL should be added to the area show with the arrow (the existing two lines can be removed).

The input parameters are:

  • Parent MO Number
  • Child Item Number
  • Required Quantity (Parent MO Start Quantity * BOM Quantity).  If the Parent MO is for 10, and the BOM for the Parent Item requires 4-each of the Subassembly, the Required Quantity will be 40.

The output parameters are:

  • MakeIt (return 1 = make it, or 0 = do not make it)
  • MakeQty (return the quantity to build)

The net result of your CBL must be to set MakeIt to 1 (true = make the item) or 0 (false = do not make the item), and to set the Make Quantity.  By default the Make Quantity is set to the Required Quantity.

If items are rejected by wspMOGenInvenCheck they will be reported in the Error Report.  If the quantity returned is not valid for the Item (i.e. 10.25 is not valid if the Item has zero quantity decimals), it will be reported in the error log.

The default stored procedure does not contain any code, other than to always tell MO Generator that it should create an MO for the item as it normally would.

Child MO – Alternate Routing

You can add custom business logic (CBL) to MO Generator to control which Routing is used to when sub-assembly MOs are created.  By default, MO Generator always uses the Primary Routing for Child MOs.

During the installation process, MO Generator creates a stored procedure in the Company Database called: wspMOGenChildAltRouting.

The default stored procedure does not contain any functional code.  It just returns a blank Routing Name.  You can edit the stored procedure to return a Routing Name based on your business requirements.

//willoware.com/wp-content/uploads/2016/10/MOGenAltRoute.png

A sample of the default stored procedure is shown above.  Your CBL should be added to the area shown by the red arrow (the existing line can be removed).

The input parameters are:

  • ParentMO
  • ChildItem

The output parameter is:

  • Routing

Be default, the stored procedure returns nothing for the Routing, which will result in MOGen using the Primary Routing.

If the stored procedure returns an invalid Routing, it will be reported in the error log and MOGen will use the Primary Routing instead.

16.MO Receipt Integration #

MO Receipt Integration

MO Receipt Integration (MORI) is a utility for integrating production which is recorded outside of Dynamics GP into the Dynamics GP Manufacturing module. Information for the receipts is provided through an integration into several staging tables. MORI can run unattended, automatically processing new receipts as they are added to the staging tables. Since MORI runs as part of the Dynamics GP client, it requires a User License and GP Client dedicated to running the processor.

It can either create a new MO and post an MO Receipt for the MO all in one step, or create and post a receipt for an existing MO.

When provided with an Item Number and Quantity, the MORI will create an MO in GP for the Item, create the Picklist, and post an MO Receipt for the desired quantity.  This will consume the raw materials from the Picklist and post the finished good into inventory.

The MO can consume raw materials based on the Bill of Materials, or a Picklist can be imported along with the MO.  Likewise, standard labor and machine costs can be pulled from the Routing, or, the labor and machine time/costs to consume can be imported along with the MO.

MORI can also create and post receipts for MOs that originate in GP (i.e. the MOs were created manually). There are some restrictions that are described later in this document.

Using the MORI requires developing a direct-to-table import from the external manufacturing system into the Integration Tables provided by MORI.  This is discussed in more detail in the Staging Tables section.

16.1.One Step Integration #

One Step integration

One Step Integration assumes all production occurs in an external system, and you want to integrate this into GP so that GP reflects the correct cost of the finished good, and the correct components are removed from inventory.  It requires populating the MOHdr table with the Item Number and Quantity to produce.  You may also provide a Picklist (if you want to record component consumption that is different than what the Bill of Materials would indicate), and Routing (if you want to indicate actual labor/machine time).  If a Picklist and Routing are not provided, MORI will use the Item’s MFG BOM and Primary Routing, and backflush components, labor and machine time.

If a different Routing, or different BOM should be used, those can be provided in the MOHdrOpt table.

16.2.Two Step Integration #

Two Step integration

Two Step Integration begins with the creation of an MO in GP, either through MRP or manually entered.  It assumes an external system picks-up these MOs, and that production is recorded outside of GP.  One or more receipts against the MO will be integrated back into GP.

MORI looks at the MOHdr table (the integration tables are discussed in more detail below) to locate records which need to be processed.  Because of this, you should populate (if needed) the MOPick and MORouting tables first, then add the MOHdr record last.

When integrating MO Receipts for existing MOs, you can indicate when the ‘final receipt’ should be posted by setting the LastReceipt column in MOHdr to 1 (1 = true).

Setting the LastReceipt flag is required if you are posting a single receipt for an MO where the receipt quantity is less than the End Quantity on the MO, or the MO has activity recorded against it (this is discussed in more detail below). 

It is also required if the Auto-Close/Cancel MO option is NOT marked. In this case the MO will stay open, allowing receipts well beyond the original End Quantity. The original MO will not be Closed/Canceled until the LastReceipt flag is provided.

When you post a single receipt short of the End Quantity, MORI will look at the Default Close Calculation option from Manufacturing Order Preference Defaults.

//willoware.com/wp-content/uploads/2016/10/MOGenDefaultClose.png

If the Close Option is None or Total Quantity Received, the single receipt will backflush components based on the quantity received.  If the Close Option is Start Quantity, it will consume all of the materials on the Picklist (i.e. based on the Start Quantity).

If you post a single receipt equal to or greater than the End Quantity, or you post multiple partial receipts which eventually are equal to or greater than the End Quantity, MORI will automatically close or cancel the MO.

16.3.MOP-SOP Linking #

MOP-SOP Linking

MORI will also check if an MO is linked to a Sales Transaction.  If it is, the Sales Transaction will be updated (by moving Quantity Backordered to Quantity To Invoice), and the inventory will be allocated.

The example below shows how MORI will process multiple receipts against an MO.

//willoware.com/wp-content/uploads/2016/10/MORIPartialRct.png

In this example, the source MO (MO123) is created inside GP for a quantity of 10.  After each partial receipt is created, the source MO is adjusted downwards by the receipt quantity, the Picklist is rebuilt and the routing is rescheduled.  The rebuild and reschedule process causes MRP and CRP to see the correct remaining demand (i.e. components are no longer needed to produce 10 after the first receipt, since only 8 remain to be built).  Setting the LastReceipt flag is not necessary because the final receipt brings the Quantity on the Source MO down to zero.  The final receipt could also be for 3 or more, and the Source MO will still be canceled for whatever quantity it had left.

Each split MO is created using the same BOM, Routing, and Scheduling Preference as the source MO.

When a receipt is posted which would bring the End Quantity of the Source MO to zero, or below zero, MORI will automatically Cancel the Source MO.

In the scenario above you may also be recording actual material or labor consumption, if it is known at each step in the process.

NOTE: When MORI creates partial receipts for MO123 (as shown above), you will create records in the MORI table using the source MO Number (i.e. MO123) and increment the SEQUENCE1 column for each additional receipt.  When MORI detects a partial receipt, or that the MO already has one or more partial receipts, it will locate the next Split MO Number and update the MORI tables to use that number.  As shown above, MO123 was the value inserted into the MORI tables by the external integration.  When MORI detected a partial receipt, it updated the Manufacture Order Number in the MORI table to be MO123-001.  When a second receipt was created for MO123 was created, MORI renumbered it to MO123-002.  Your integration will always use the Source MO (i.e. MO123), but after processing by MORI the staging tables will show a different MO Number (such as MO123-001).

If actual material and/or labor consumption is not known until production is complete, and backflushing is not used, and you will close the MO short of the End Quantity, you should track all production in the external system and only integrate one single receipt.

//willoware.com/wp-content/uploads/2016/10/MORILabor.png

In this scenario all of the production is recorded in an external system, and only integrated when production is complete and all information is known about the process (i.e. actual material/labor are known).  That information is fed into the MORI tables.  When MORI creates an MO Receipt it will also close the MO.  If you are backflushing components and/or labor, the MO Close will consume using the “Start Quantity” option in the MO Close.

16.4.Partial Receipts #

Partial Receipts

The Partial Receipt process works by creating a new “split MO” off the Parent MO.

//willoware.com/wp-content/uploads/2016/10/MORISplits.png

As shown above, the original MO123, results in several new MOs being created with suffixes: -001, -002, -003, and so on.

If you do not import a Picklist, the split-MO will be created using the BOM specified on the Parent MO.  Normal GP Manufacturing logic applies to creation of the Picklist.  MORI uses Quick MO functionality to create the MO, build the Picklist and post the receipt.

  • Draw From & Post To sites will come from the Parent MO.
  • Issue To comes from the first Work Center on the Routing, or the BOM Line
  • Picklist Draw From comes from the BOM Line, or if that is not present, the Draw From Site on the MO and lastly the Item’s Default Site.

16.5.Posting Date #

Posting Date

MO Receipts created by MORI post on the User Date. MORI integrates with GP Manufacturing through the “Quick MO” utility, and that utility always posts based on the User Date. To backdate the MO Receipt Posting, change the User Date to the desired Posting Date and unmark the Use System Date option.

The Use System Date option on the MOGen window automatically changes the User Date to match the System Date (date on the SQL server, which is the “real” date). This is helpful when running MORI unattended for extended periods of time because MORI will automatically change the User Date as the actual date changes at midnight.

To avoid issues caused by the GP “Date Change Dialog” that pops-up at midnight, add the following switch to the DEX.INI file used by the MORI GP client:

SuppressChangeDateDialog=TRUE

16.6.Serial/Lot Numbers #

Serial/Lot Numbers

One Step

With a One Step process, Serial/Lot Numbers must be provided.

For Lot Numbered items, the Lot Number is always provided in MOHdr (SERLTNUM). The provided Lot Number is allowed to already exist in GP.

For Serial Numbered items, if the MO Receipt is for a quantity of 1, the serial number can be provided in MOHdr (SERLTNUM), or in the MOSer table. When the receipt if for more than one serial number, they must be provided in the MOSer table. Serial Numbers must not already exist in GP. MORI checks for duplicate serial numbers and will report this as an error.

Two Step

With a Two Step Receipt, the MO is created in GP before the receipt is generated. Serial/Lot Numbers should be provided as described for the One Step process.

However, the MO Entry window in GP allows for pre-entering a Lot Number, or a list of Serial Numbers. MORI can pull this information into the MORI Receipt tables so that the integration does not need to provide that data.

Lot Numbered Finished Goods

MORI checks WO010032.LOTNUMBER. If one is present, and W7158MOHdr.SERLTNUM is empty, it copies the Lot Number from WO010032 to W7158MOHdr.

Serial Numbered Finished Goods

MORI can be provided with a single serial number in W7158MOHdr, or multiple serial numbers in W7158MOSer.

MORI checks that the provided serial numbers, if any, are NOT in MOP1042. If they are, it removes them from MOP1042. This prevents the Inventory Module from detecting a duplicate serial number when MORI attempts to post the receipt.

If no serial numbers are provided to MORI, it checks if there are pre-entered serial numbers in MOP1042. If there are, it moves into W7158MOSer the quantity of serial numbers needed by the receipt. For example, if the MO is for 10, and 2 are being received, it moves the first two serials from MOP1042 into W7158MOSer. They are removed from MOP1042 and added to W7158MOSer. Likewise, if the receipt is for 10, it moves over 10 serials.

In the event the quantity of pre-entered serials is less than the receipt quantity, MORI will not process the receipt and will report a serial number shortage.

16.7.Sites #

Sites

The source of Draw From and Post To sites is different depending on whether you are performing a One Step or Two Step receiving procecess.

One Step

The sites are retrieved in the following manner:

  • The Draw From and Post To Sites from the Default Scheduling Preference
  • If Location Code is provided in MOHdr it overrides Post To
  • If a Scheduling Preference is provided in MOHdrOpt, the Draw From and Post To are used from that Scheduling Preference

Two Step

The site are retrieved in the following manner:

  • The Draw From and Post To Sites from the MO
  • If either site is empty, it is filled using the Draw From or Post To from the Default Scheduling Preference
  • If Location Code is provided in MOHdr it overrides the Post To
  • If a Scheduling Preference is provided in MOHdrOpt, the Draw From and Post To are used from that Scheduling Preference

If either site is missing, or is not a valid site, the error will be reported and the record will not be processed.

16.8.Settings #

Settings

The Settings listed below apply to MO Receipt Integration. See the Settings chapter for more information on each setting.

  • MO Selection Query: see the MO Selection Query chapter for more information.
  • Allow Receipts on Existing MOs
  • Auto-Close/Cancel MO
  • Delete MORI Record After Import
  • Use MO# for IV Doc Number

16.9.MO Query #

MO Query

HelpID: 715822029

The MO Query window is opened by clicking on the “MO Selection Query” link in the Settings section of the window.

The MO Selection Query window is used to control which records are processed by MORI from the staging tables. By default, MORI processes “oldest first”, which it determines by sorting on W7158MOHdr.DEX_ROW_ID descending.

The MO Selection Query settings are saved by User ID, so if multiple MORI processors are running each one could have a different selection query. For example, a selection query might restrict a MORI processor to records for a specific Site.

Receipt Date On/Before User Date: when marked, MORI will use the W7158MOHdr.DATE1 column. It will only process receipts where DATE1 is on/before the GP User Date. This option allows you to integrate transactions with a current or future date while only processing “older” transactions. Normally this option should be UNMARKED.

Selection Query

The query can be created using fields from IV00101 (Item Master), IV40700 (IV Location Master), W7158MOHdr (MORI Import Header), and WO010032 (Work Order Master).

The Table/Field picker can be used to help select correct field names, but the query can also be manually entered into the text field.

All of the tables mentioned above are joined in the MORI query that retrieves the Next MO Number To Process. The text in the query box will be added to the Next MO query after a “where” clause, so the query should be written in such a way that it follows “where”.

16.10.By-Products #

By-Products

MORI can process with receipts with By-Products on non-serial/lot tracked components. A By-Product in GP Manufacturing is an inventory item that is ADDED to stock when an MO Receipt is posted for a finished good item.

By-Products are common when processing a natural raw material such as wood. The MO might produce boards, but there other useful materials come out of that processing such as chips and saw dust (fines).

The sample data in Fabrikam does not have a good example of this, however, you can demonstrate it by having an MO for CHAIR which consumes LEG and has a by-product of ARM. A By-product is created by adding a component to the picklist with a NEGATIVE quantity. When Manufacturing posts the MO Receipt and creates the Inventory Adjustment to consume raw materials, it puts the by-product on the transaction in a POSITIVE quantity, as shown below:

To use by-products with MORI you need to set the ImportBOM flag in the MOHdr table to 1, and populate the MOPick table with all of the components consumed by the MO. Also add to the MOPick table any by-products setting the Quantity to a negative value, as shown below:

NOTE: MORI only supports by-products for non-serial/lot tracked items.

17.Requirements #

Requirements

The following is a list of additional Requirements & Assumptions concerning the use of MO Receipt Integration.

  • No imported Bill of Materials contains the Parent Item as a Component
  • Phantoms are not used in the MOPick table. They may be used if components are not imported through the MOPick table.
  • A Default Scheduling Preference must be set in the MO Scheduled Preferences setup window.
  • Actual Cost Components are not used in the manufacturing process for a Standard Cost Finished Good.
  • Routings do not have Outsourced Sequences (no outside processing)
  • Outsourcing is allowed if integrating a single receipt
  • Outsourcing is not allowed if integrating partial receipts
  • WIP data collection has not been recorded
  • WIP Data Collection is allowed if integrating a single receipt
  • WIP Data Collection is not allowed if integrating partial receipts
  • All Components and Subassemblies are set to backflush
  • Serial/Lot Linking is not supported

Allocate On Release

Navigation: Tools >> Setup >> Manufacturing >> System Defaults >> Manufacturing Orders

//willoware.com/wp-content/uploads/2016/10/MORIAllocOnRel.png

If MO partial receipts will be recorded against existing MOs, those MOs must not have any activity recorded against them.  The MOs can be created and released inside GP, but no other processing on the MO should be recorded in GP.  If Allocate On Release is enabled, releasing the MO in GP will create an “Allocate” transaction in Manufacturing Component Transaction Entry, which will prevent MORI from creating and posting a receipt.

When MORI creates its own MOs during an MO Receipt, it will always act as-if the Allocate On Release box is not marked.  If your integration will not be posting receipts for existing MOs, the Allocate On Release setting will not affect MORI because MORI will override it when the MO is created and inventory will not be allocated when it releases the MO.

Allocate On Release is allowed when integrating single receipts.  In this case inventory can be allocated when the MO is released, everything is recorded in an external system, and when manufacturing is complete, a single receipt is integrated into the system.

Override Shortages

Navigation: Tools >> Setup >> Inventory >> Inventory Control

//willoware.com/wp-content/uploads/2016/10/MORIOverrideShort.png

MORI requires that Adjustment Overrides is set to TRUE (checkbox is marked).  The reason for this is that since production was recorded in an external system, there must have been enough inventory to produce it.  If there is a component shortage in GP, the inventory count in GP must be inaccurate.  Rather than cause the integration to reject valid import records, MORI overrides the inventory count in GP so that production can be recorded.

Generally, it is preferable to NOT allow Adjustment or Variance overrides because it can create negative On Hand inventory quantities.  However, since MORI requires the ability to override shortages, you should closely watch for negative inventory counts and quickly remedy the situation by conducting a physical count of the affect items(s) and adjusting the quantities in GP.

18.Staging Tables #

Staging Tables

The following Staging Tables are used by the MO Receipt Integration (MORI).  Not all of the tables are required.

W7158MOHdr – this table is used to record the Item Number and Quantity to receive.  If other tables are included in the integration, such as the Picklist, the MOHdr table should be populated LAST.  MORI will read this table to find new receipts to process, so the Picklist and Routing tables should be populated first, then the MOHdr record created as the last step of your integration.  This ensures that MORI will not attempt to process the MO Receipt before you have finished populating the tables.

W7158MOHdrOpt – this table is used to provide optional settings if the defaults should not be used.  Optional settings can be provided for BOM Type & BOM Name, Routing Name, and Scheduling Preference, and Material Receipts Bin.  By default, MORI will use the MFG BOM, the Primary Routing, and the default Scheduling Preference.

W7158MOIVTrx – this table is used to provide a reference to Inventory Transfers that have been performed to move inventory for an MO from general inventory into WIP. Using this table is optional. See WIP Inventory for more details.

W7158MOPick – If provided only the MOHdr record, MORI will backflush components from the MFG BOM of the made item.  You can override this by providing actual component consumption by populating the MOPick table.

W7158MORouting – If provided only the MOHdr record, MORI will backflush labor based on the Primary Routing of the made item.  You can override this providing actual labor in the MORouting table.

W7158MOSer – this table is used to provide a list of serial numbers for an MO Receipt.

18.1.Header (W7158MOHdr) #

Header (W7158MOHdr)

Column Description
MANUFACTUREORDER_I This column is the Key for the table.

If the MO Receipt should create a new MO and post the receipt, a unique Manufacturing Order number MUST be provided.  This will be used to create the MO in GP.  Manufacturing Order numbers may NOT be duplicated.

If the MO Receipt should be recorded against an existing MO, provide the MO Number and mark the Allow Receipts on Existing MOs box on MOGen.

Do not use a numbering sequence that includes a dash “-“.  Such as MO0123-16384.  Since the MO Receipt Integration also uses a dash, this will prevent it from correctly identifying the “parent” MO.

SEQUENCE1 This column is the Key for the table.

This may be zero.  If multiple receipts for an MO are added to MOHdr, SEQUENCE1 should increment by 1 for each receipt.  If only one receipt is created per MO, SEQUENCE1 may be zero or one.

ITEMNMBR The Item Number produced.  The Item Number must be an existing Dynamics GP Item Number, which has at minimum, a MFG BOM Header and Primary Routing.  The Item Number must be Active.

30-character, upper-case string.

Not required is posting a receipt for an existing MO.

QUANTITY The quantity of the Item Number produced.  This will be the End Quantity for the MO.  As is standard functionality within Dynamics GP, the Base UOM will be used when processing MO’s.

The quantity must be compatible with the Item’s Quantity Decimals in GP.  For example, if the item has zero quantity decimals, entering a Receipt Quantity of 1.25 will result in an error.

SERLTNUM For non-serial/lot tracked items, leave this field blank.

20-character, upper-case string.

If the MO Receipt produces one Lot Number or Serial Number, populate this field.

For multiple serial numbers, leave this field blank and use the W7158MOSer table to list the serial numbers.

For multiple lot numbers, create a separate MO Receipt record for each Lot Number received.

LOTATRB1 May be populated for Lot Controlled items.  Ignored for all other items.

10-character string

LOTATRB2 May be populated for Lot Controlled items.  Ignored for all other items.

10-character string

LOTATRB3 May be populated for Lot Controlled items.  Ignored for all other items.

10-character string

LOTATRB4 May be populated for Lot Controlled items.  Ignored for all other items.

Date

LOTATRB5 May be populated for Lot Controlled items.  Ignored for all other items.

Date

MFGDATE May be populated for Lot Controlled items.  Ignored for all other items.

Date

EXPNDATE May be populated for Lot Controlled items.  Ignored for all other items.

Date

DATE1 MO Due Date.  This is the date on which the MO should finish.  The MO will use Backward Scheduling to arrive at a Start Date. This field is only used when creating an MO and Receipt in a single step. Receipts on existing MOs do not use this field.
TIME1 Not used.
LOCNCODE The Post To site for the MO. This may be blank if the Default Scheduling Preference, or the MOHdrOpt Scheduling Preference, provides a Post To Site.

See Using MORI: Sites for more information.

ImportBOM A value of 0 or 1 will be entered:

0 – The standard components and quantities from the Bill of Materials should be used to generate the Manufacturing Order’s Pick List.

1 – The staging table for the MO Pick List should be used to generate the Manufacturing Order’s Pick List.

If ANY of the Components are serial/lot tracked, you must set ImportBOM = 1 and provide the complete component list in the MOPick table.  The MO Receipt Integration will NOT auto-select serial/lot numbers.

ImportRoute A value of 0 or 1 will be entered:

0 – The Primary Routing, its sequences and Setup Time, Labor Time and Machine Time should be used.

1 – The Primary Routing and its Routing sequences (including Setup Labor Code, Labor Code and Machine ID’s) should be used, however, the Routing’s Setup Time, Labor Time and Machine Time should populate from the staging table for the MO Routing.

STATUS Always enter zero.  A value of 0 means that the MO record has NOT been processed.  The MO Receipt Integration will only process records with a value of 0.

The MO Receipt Integration will update the value to 2 if the MO record was processed successfully.

The MO Receipt Integration will update the value to 1 if the MO has an error.

If errors are encountered, resolve the errors and change the STATUS back to zero to have the MO Receipt Integration attempt to process the receipt again.

9999 – Status will temporarily be 9999 while the record is being processed.

NOTEINDX Always enter zero.

A short error message will be entered by the MO Receipt Integration in the SY03900 (Record Notes) table if the MO was unable to be processed.  Every error encountered will be reported by writing a message to the Note.

Examples of the error message include:
>MO Number already exists
>Item Number does not exist
>A Bill of Material does not exist
>A Primary Routing does not exist
>The Post To Site does not exist
>The Item Number is not assigned to the Post To Site

The following SQL statement can be used to build a simple report to view errors of failed Manufacturing Orders which require review:

select a.MANUFACTUREORDER_I, b.TXTFIELD
from W7158MOHdr a (nolock)
join SY03900 b (nolock) on
a.NOTEINDX = b.NOTEINDX
where a.MANUFACTUREORDER_I NOT IN (select c.MANUFACTUREORDER_I from WO010032 c (nolock))

LastReceipt Set to zero.

If you are integrating the final receipt for an MO, and the total quantity received is less than the End Quantity on the MO, set the LastReceipt flag to 1.  MORI will then post the receipt and close the MO (or Cancel it if there were several partial receipts).  If the last receipt brings the total quantity received equal to (or greater than) the End Quantity, MORI will automatically Cancel the source MO.

If you are going to Allocate inventory to the MO, or use Outsourcing, or perform WIP Data Collection, you may integrate one and only one receipt for the MO, and the LastReceipt flag must be set to 1 (true).

18.2.Options (W7158MOHdrOpt) #

Options (W7158MOHdrOpt)

Column Description
MANUFACTUREORDER_I This column is the Key for the table.

30-character upper-case string.

If the MO Receipt should create a new MO and post the receipt, a unique Manufacturing Order number MUST be provided.

This will be used to create the MO in GP.  Manufacturing Order numbers may NOT be duplicated. If the MO Receipt should be recorded against an existing MO, provide the MO Number and mark the Allow Receipts on Existing MOs box on MOGen.

SEQUENCE1 This column is the Key for the table.

This may be zero.  If multiple receipts for an MO are added to MOHdr, SEQUENCE1 should increment by 1 for each receipt.  If only one receipt is created per MO, SEQUENCE1 may be zero or one.

RoutingName If blank, the Primary Routing is used.
BOMCat Allowed values
0 or 1 = MFG BOM
2 = ENG BOM
3 = ARCH BOM
4 = CONFIG BOM
BOMName Must be populated if BOMCat = 3 or 4
SchedPref If blank, the default Scheduling Preference is used.  If a Scheduling Preference is used, it provides the Draw From and Post To sites (this overrides the location code provided in MOHdr).
BINNMBR Overrides the Material Receipts Bin from the Item Site Default Bins window.  The Bin must be valid for the Post To Site.  See MOHdr.LOCNCODE code for Post To Site rules.

18.3.Picklist (W7158MOPick) #

Picklist (W7158MOPick)

The MO Pick List Staging Table must be populated if the W7158MOHdr table has column ImportBOM set to 1.  If MOPick is used, the MO Receipt Integration assumes it will provide ALL component information.  The Picklist in GP is deleted and built entirely from information in the MOPick table.  If there are serial/lot controlled components, the serial/lot number provided must exist as available inventory in GP.  MO Receipt Integration will not override shortages for serial/lot controlled items.

Column Description
MANUFACTUREORDER_I This column is a Key for the table.

30-char upper-case string.

The Manufacturing Order Number must be entered. A corresponding record in the W7158MOHdr must exist. The ImportBOM column in the W7158MOHdr table must be set to 1.

SEQUENCE1 This is a Key for the table.

Currency

This should match the SEQUENCE1 column in MOHdr.

LNITMSEQ This column is a Key for the table.

Long integer.

A unique Sequence number must be entered for each picklist line associated with a Manufacturing Order.

The Component Item Number’s Sequence Number – otherwise known as Pick List Position – may be utilized as the LNITMSEQ.

ITEMNMBR The Component Item Number. The Item Number must be an existing Dynamics GP Item Number which is Active.

30-character upper-case string.

QUANTITY The quantity of the Component Item Number consumed will be entered. If the Item is Serialized, the QTY must be set to 1.
SERLTNUM If the Component Item Number is Lot Controlled, the Lot Number will be entered. Only one (1) Lot Number is allowed per record. If multiple Lot Numbers of a Component Item are consumed, enter them as separate lines in the MOPick table.

If the Component Item Number is serialized, the Serial Number will be entered. Only one (1) Serial Number is allowed per record. If multiple Serial Numbers of a Component Item are consumed, enter them as separate lines in the MOPick table.

20-char upper-case string.

UOFM Enter the U of M in which the component should be consumed.  This must be a valid U of M for the Item.
LOCNCODE Enter the Site ID from which the Component Part will be consumed. The Site ID must be an existing Site ID within GP and must be assigned to the Item Number.

10-character upper-case string

 

18.4.Routing (W7158MORouting) #

Routing (W7158MORouting)

The MO Routing Staging Table must be populated if the W7158MOHdr table has column ImportRoute set to 1.  The Routing table is used to REPLACE Setup Time, Labor Time, and Machine Time from the original Routing with the imported values.  The Routing Sequences used in this table MUST exist on the Primary Routing.  Routing Steps cannot be added.

The Working Routing for the MO will be created from the item’s Primary Routing.  The Setup, Labor and Machine time values for all sequences will be set to zero.  The MORouting table will then be used to set Setup, Labor and Machine to new values.  If you routinely have rework, you should include a sequence on the Primary Routing for rework, with no labor/machine time.  If rework is recorded during production, add the Rework routing sequence to MORouting and set the labor/machine time.

The MO Receipt Integration assumes that if MORouting is being used, you will provide ALL routing information (i.e. it zeros the Working Routing in GP, so any labor/machine time for any of the sequences must then come from MORouting).

Column Description
MANUFACTUREORDER_I This column is a Key for the table.

30-char upper-case string.

The Manufacturing Order Number must be entered.  A corresponding record in the W7158MOHdr must exist.  The ImportRoute column in the W7158MOHdr table must be set to 1.

SEQUENCE1 This column is the Key for the table.

This should match the SEQUENCE1 column in MOHdr.

RTSEQNUM_I This column is a Key for the table.

The Routing’s Sequence Number will be entered.

SETUPTIME_I The Routing Sequence’s Setup Time in hours.
LABORTIME_I The Routing Sequence’s Labor Time in hours.
MACHINETIME_I The Routing Sequence’s Machine Time in hours.

 

18.5.Serial Numbers (W7158MOSer) #

Serial Numbers (W7158MOSer)

If the MO Receipt is for a Serial Numbered item, add one record per serial number to this table.  If this table is used, the SERLTNUM field in W7158MOHdr should not be used. See Using MORI: Serial/Lot Numbers for more information.

Column

Description

MANUFACTUREORDER_I

This column is a Key for the table.

30-character, upper-case string.

The Manufacturing Order Number must be entered. A corresponding record in the W7158MOHdr must exist.

SEQUENCE1

This column is the Key for the table.

Currency

This should match the SEQUENCE1 column in MOHdr.

SERLNMBR

20-character, upper-case string

18.6.WIP Inventory (W7158MOIVTrx) #

WIP Inventory (W7158MOIVTrx)

Transfer of inventory for manufacturing can be recorded for each MO. See WIP Inventory for more details.

Column Description
MANUFACTUREORDER_I This column is the Key for the table.

30-character, upper-case string.

The Manufacturing Order Number must be entered. A corresponding record in the W7158MOHdr must exist.

IVDOCNBR This column is the Key for this table.

Must match a posted IV Transfer.

NOTEINDX Internal use. Always set to 0 (zero).
Status Internal use. Always set to 0 (zero).

19.Data Validation #

Data Validation

The following validations will be performed on the records imported into the MORI tables:

MOHdr & MOSer Checks

  • If the MO Number exists in GP, is it locked? If an MO Receipt will not process, check Manufacturing Order Security (Transactions >> Manufacturing >> Manufacturing Orders >> Security).  Locked MOs are recorded in MOP10223.  An MO Lock will prevent MORI from attempting to process the receipt, so no errors will be reported.
  • If the MO is linked to a Sales Order, is the Sales Order locked? If an MO Receipt will not process, check the DEX_LOCKS table in the tempdb for a locked Sales Order.  A SOP Transaction that is locked, and linked to an MO, will prevent MORI from attempting to process the receipt, so no errors will be reported.
  • Both the Inventory and Financial Fiscal Periods are open for the current period.
  • Inventory Setup allows Adjustment Overrides.
  • MO Activity check. A failure at this check will report an error that the “MO has activity”.
  • The MO Number must not exist in Dynamics GP, or, “Allow Receipts on Existing MOs” is marked and it passes the following tests:
    • If posting partial receipts, there can be NO Manufacturing Component Entry Transactions (MOP1210)
    • If posting a single receipt, Allocation/Reverse Allocation transactions are allowed (MOP1210 TRX_TYPE = 3 or 4)
    • There are no posted receipts for the Source MO (MOP1100). Since partial receipts “split” the MO (i.e. MO123-001), the Source MO does not have the partial receipts because they occur on the split MO.
    • If posting partial receipts, there can be NO financial activity recorded in WIP (MOP1002)
    • If posting a single receipt, Outsourced POs and WIP Data Collection are allowed (MOP1002 WIPCOSTIN fields 4,5,6 and 7,8,9 are allowed to have value).
  • The MO must be Released (WO010032 MANUFACTUREORDERST_I = 3)
  • The Finished Good Item Number is not blank, and exists in Dynamics GP
  • The Receipt Quantity is compatible with the Item’s Decimal Place Quantity. For example, if the item has zero decimals for the quantity and the receipt integration table has 1.25 for the receipt quantity.
  • Valid Draw From and Post To Sites exist, and the Made Item is assigned to the Post To Site. See Using MORI: Sites for more information.
  • The Item has an Item Engineering Record.
  • The Item has a MFG BOM, and the BOM is not locked.
  • The Item has a Primary Routing.
  • If the Item is Serialized, the Quantity entered in MOHdr table matches the number of serial numbers provided. If only one serial is provided it can be in the MOHdr table, but if the receipt will produce multiple serials they must be in the MOSer table.
  • If the Item is Serialized, the Serial Number(s) provided do not already exist in GP.
  • If multi-bin is enabled, there must be a Default Material Receipts bin for the Post To site, or a Bin must be provided in MOHdrOpt.

 

MOHdrOpt Checks

A record does not need to be in this table for each record in MOHdr, but if one exists:

  • If RoutingName is not blank, verify that the routing exists
  • If BOMCat > 0, verify the BOM exists
  • If SchedPref is not blank, verify it exists
  • If BINNMBR is not blank, verify it exists and is valid for the Site. Site comes from the Default Scheduling Preference “Post To”, or the MOHdr “Location Code”, or the MOHdrOpt Scheduling Preference “Post To” (in that order).

 

MORouting Checks

  • If MOHdr ImportRoute = 1, records exist in MORouting.
  • If MOHdr ImportRoute = 1, MORouting contains only routing sequences which exist on the Item’s Primary Routing.

 

MOPick Checks

  • If MOHdr ImportBOM = 1, records exist in MOPick.
  • Components exist as valid Item Numbers in GP
  • If there are serialized components, the quantity must be 1.
  • Components have valid Units of Measure
  • Components have valid Item-Site assignments
  • Components have valid Item Types (they must be Sales Inventory)
  • Components are not marked Inactive
  • Components have quantities greater than zero, and the quantity is compatible with the Item’s Quantity Decimals.
  • Components have a valid Valuation Method (see Manufacturing for more information about Valuation Methods in Bills of Material).
  • Components have serial/lot number that exist in GP, and are available.
  • If MOHdr ImportBOM = 0, the MFG BOM does NOT have any serial/lot controlled components.

 

If any of the above validations fail, the MO Creation process will stop for that record.  The STATUS column in the MOHdr table will be set to 1.  Successfully processed records will have STATUS = 2.

MORI will NOT delete any records from the Staging Tables.  Periodically, you may wish to delete processed records (Status = 2) from the Staging Tables so the tables do not grow excessively large.

If the record is validated successfully, and a new MO needs to be created, the Manufacturing Order will be generated based on the following:

 

MO Number = MANUFACTUREORDER_I from MOHdr

MO Description = “MOGen – Receipt Integration”

MO Status = Released

Item Number = ITEMNMBR from MOHdr

BOM Cat = 1 (MFG), or the BOMCat provided in MOHdrOpt

BOMName = blank (or the BOMName provided in MOHdrOpt)

Routing Name = Item Number’s Primary Routing (or RoutingName from MOHdrOpt)

End Quantity = QTY from MOHdr

Start Quantity = QTY from MOHdr

Due Date = DATE1 from MOHdr

Draw Inventory From Site = The Default Scheduling Preferences “Default Site to Draw Inventory From” in the MO Sched Prefs setup window (or from the Draw From Site if a Scheduling Preference is provided in MOHdrOpt)

Post To Site = POSTTO from MOHdr (or from the Post To Site if a Scheduling Preference is provided in MOHdrOpt)

Scheduling Method = The Default Scheduling Preferences in the MO Sched Prefs setup window (or the Scheduling Preference provided in MOHdrOpt)

 

If the Item Number is Serialized or Lot Controlled, the Serial Number(s) or Lot Number provided in MOHdr (serial or lot), or on MOSer (serial numbers only) will be pre-assigned to the Manufacturing Order.

The MO Receipt Integration will then move to the next step which is to create the MO Routing.  If the MOHdr column ImportRouting is set to 0, the Working Routing will be created normally by GP Manufacturing.

If the ImportRouting is set to 1, the Working Routing will be created normally by GP Manufacturing (using the Primary Routing, or Routing Name provided in MOHdrOpt), but it will then set the all the MO’s Routing Sequences Labor Time, Setup Time and Machine Time to zero.  The MO’s Routing record will then be updated for each Manufacturing Order/Routing Sequence Combination based on the data populated in the MORouting table.  Note that the Cycle Time will NOT be populated.

 

Setup Time = SETUPTIME_I from MORouting

Labor Time = LABORTIME_I from Routing

Machine Time = MACHINETIME_I from MORouting

 

If any Routing Sequences exist on the Routing, but are NOT entered in the MORouting table, they will remain at 0 and NOT be populated with any Setup Time, Labor Time or Machine Time.

Regardless of whether the default routing is used, or a routing is imported, the Auto-Backflush Labor and Auto-Backflush Machine options will always be set to TRUE.

The MO Receipt Integration will then move to the next step which is to create the MO Pick List.  If the MOHdr ImportBOM is set to 0, the Picklist will be created normally by GP Manufacturing.  The MFG BOM will be used (or the BOM specified in MOHdrOpt), and all components will be set to backflush.  If serial or lot numbered components exist on the BOM, serial/lot numbers will be auto-selected.  The Lot Number selection method set in Manufacturing Order Preference Defaults will be used.

If the ImportBOM is set to 1, the MO’s Pick List will be based on the data entered in the MOPick table:

 

MO Number = MANUFACTUREORDER_I from MOPick

Sequence = LNITMSEQ from MOPick

MO Status = Released

FG Item Number = ITEMNMBR from MOHdr

Component Item Number = ITEMNMBR from MOPick

Position = LNITMSEQ from MOPick

Routing Name = FG Item Number’s Primary Routing Name

Routing Sequence = FG Item Number’s Routing’s 1st Sequence

Quantity = QTY from MOPick

Backflush = Set to 1 (Set to Backflush)

Site ID = LOCNCODE from MOPick

 

Finally, the MO Receipt Integration will create and post an MO Receipt for the quantity specified in the MOHdr table, and close the MO.

The standard Dynamics GP Manufacturing Posting/Closing Reports will NOT print.

20.Error Reporting #

Error Reporting

As MORI processes each record it will generate a Note Index (MOHdr.NOTEINDX). It records all errors for an MO in a note in the Record Notes table (SY03900).

If there are any errors, you will need to correct them, and set STATUS in MOHdr back to zero for the affected records.

The MORI errors can be viewed in the Error Log window, and the Status reset from there so the MO can be reprocessed. See the Error Log chapter for more information.

You may want to create a report or query to review any unprocessed records and records with errors.  A simple SQL query to view the error records is:

select a.MANUFACTUREORDER_I, b.TXTFIELD

from W7158MOHdr a (nolock)

join SY03900 b (nolock) on

a.NOTEINDX = b.NOTEINDX

where a.STATUS = 1

21.Error Messages #

Error Messages

Component Qty Shortage

Raw materials could not be allocated.  This indicates a shortage.  Check that Inventory Setup allows overriding shortages (Tools >> Setup >> Inventory >> Inventory Control–Adjustment Overrides checkbox)

Component Qty Shortage #2

May be caused by the same component appearing on the Picklist multiple times, so the cumulative quantity creates a shortages.  Check that Inventory Setup allows overriding shortages (Tools >> Setup >> Inventory >> Inventory Control–Adjustment Overrides checkbox)

Error building picklist

See Error creating Picklist from Import.

Error creating Picklist from Import

The most likely cause is invalid data in the MOPick table, such as a date/time value inserted into one of the Date fields.

FG Item is missing a MO Receipt Bin for Site

No Bin is specified in MOHdrOpt, and no Default Manufacturing Receipts bin is specified.

FG Item-Site Combination is not valid

The FG Item in the MOHdr table is not assigned to the Site in the MOHdr table.  Check Cards >> Inventory >> Quantities/Sites.

Financial/Inventory periods closed

MORI uses the User Date.  Check that Period is open for the Financial and Inventory Series (Tools >> Setup >> Company >> Fiscal Periods).

Import BOM set to FALSE but there are components to import

The ImportBOM Flag in W7158MOHdr is set to FALSE, but components exist in W7158MOPick.

Import BOM set to TRUE and a component has an invalid Item Type

Components must be Sales Inventory.

Import BOM set to TRUE and a component has an invalid U of M

The UofM for one or more components in the MOPick table has a UofM that does not exist on the UofM Schedule for the item.

Import BOM set to TRUE and a component is Inactive

Components cannot have the Inactive checkbox marked on Item Maintenance.

Import BOM set to TRUE and invalid Item Numbers exist

MOPick contains Item Numbers that do not exist in GP.

Import BOM set to TRUE and a Quantity is <= 0, or has incorrect decimal qtys

MOPick contains a negative, zero, or invalid quantity given the item’s decimals places.

Import BOM set to TRUE and serialized item quantity <> 1

Serial numbered components must have one MOPick record for each serial number, and the quantity on each line must be 1.

Import BOM set to TRUE and there are incompatible Valuation Methods

Standard Cost finished good items must have standard cost components.

Import BOM set to TRUE and there are invalid ser/lot numbers

Serial and Lot Numbers provided for Component Items must exist in GP.

Import BOM set to TRUE and there is an invalid Item-Site

The Location Code, on one or more lines in the MOPick table, either does not exist in GP or the Item is not assigned to the Site.

Import BOM set to TRUE and there are lot numbers with negative allocations in IV00300

A negative allocation is an abnormal condition that needs to be corrected.  Try running Inventory Reconcile and Checklinks.

Import BOM set to TRUE and there are serial/lot shortages

The Inventory Adjustment Overrides setting does not affect serial or lot numbered components-these items must have available inventory of the specified serial/lot numbers.

Import BOM set to TRUE but there are no components

MOHdr ImportBOM is TRUE, but there are no records in the MOPick table.

Import Routing is set to FALSE but there are import routing sequences

The ImportRoute flag is FALSE in the MOHdr table, but there are routing sequences to import in the MORouting table.

Import Routing is set to TRUE and there are invalid Routing Sequences

There are records in the MORouting table, but there are sequences that do NOT exist on the Item’s Primary Routing (the MORouting table can provide time values for existing routing sequences, but it cannot be used to import/create new sequences).

Import Routing is set to TRUE but there are no import sequences

The MOHdr ImportRoute field is set to true, but there are no records in the MORouting table.

Inventory Setup must allow Adjustment Overrides

MORI operates on the assumption that if the product was produced, there must have been enough inventory to produce it.  So, if there is a shortage in GP, it should be overridden to allow production.  Check that Inventory Setup allows adjustment overrides (Tools >> Setup >> Inventory >> Inventory Control–Adjustment Overrides checkbox).

Item Engineering record does not exist for FG item

Check that the made Item has an Item Engineering Records (Cards >> Manufacturing >> Inventory >> Engineering Data).

Item Number does not exist, or is Inactive/Discontinued

The MOHdr Item Number does not exist in GP, or is Inactive or Discontinued on Item Maintenance.

Item Number is blank

The Item Number in the MOHdr table is blank.  When doing a receipt of an existing MO, Item Number does not need to be provided because it is pulled from the MO.  Normally this error is only seen when MORI is creating MOs and posting them in one step, and the Item Number is missing.

MFG BOM does not exist

If not importing the Picklist, and no BOM is specified in MOHdrOpt, the MFG  BOM must exist.  Check Cards >> Manufacturing >> Bill Of Materials.

MFG BOM is locked

If not importing the Picklist, and no BOM is specified in MOHdrOpt, MORI will use the MFG BOM.  This error means the MFG BOM is open in BOM Maintenance, or there is a stranded BOM Security record (Transactions >> Manufacturing >> Bill of Materials >> Security).

MO has activity.  Receipt cannot be created.

Several actions in GP can cause this error, such as:

The MO has a Status > Released (3)

The MO has Issue, Reverse Issue transactions (only Allocate & Reverse Allocate transaction are allowed) when doing a Single Receipt.  If doing partial receipts, the MO cannot have ANY MFG Component Transactions.

The MO cannot have previously posted Receipts.

The MO cannot have WIP or Outsourcing when posting partial receipts.

MO is not Released.  Receipt cannot be created

Receipts for existing MOs can only be created if the MO is in a Released status.

MO Number already exists

The MO Number in the MOHdr table already exists in the Work Order Master (WO010032), and the MORI option to Allow Receipts On Existing MOs is not marked.

MOHdrOpt: BOM is locked

The MOHdrOpt table specifies a BOM, but the BOM is open in BOM Maintenance, or there is a stranded BOM Security record (Transactions >> Manufacturing >> Bill of Materials >> Security).

MOHdrOpt: Invalid BOM

The MOHdrOpt table specifies a BOM, but it does not exist.

MOHdrOpt: Invalid or missing Bin for Site

MORI uses the Default Manufacturing Receipts bin, unless a Bin is specified in the MOHdrOpt table.  This error means that either no Bin is present in either of those locations, or the Bin in MOHdrOpt is not valid for the finished good site.

MOHdrOpt: Invalid Scheduling Preference

The MOHdrOpt table specifies a Scheduling Preference, but it does not exist.  Check Scheduling Preferences in Tools >> Setup >> Manufacturing >> System Defaults >> MO Schedule Prefs.

MOHdrOpt: Routing Name does not exist

The MOHdrOpt table specifies a Routing Name that does not exist.

No Lot Number provided

The finished good is Lot Controlled, but no lot number is provided in MOHdr.

Picklist has an invalid Item-Site

The imported Picklist either contains a Location Code that does not exist as a valid site in GP, or it is blank.  When importing the Picklist the site must either be provided in the import table, or the Draw From Site will be used from the Scheduling Preference.  If a Scheduling Preference is not provided in the MO Header Options table, the Default Scheduling Preference will be used.

Picklist has floor stock items, but Floor Stock Expense account is missing

The Floor Stock Expense Account is set in the Manufacturing Order Preference Defaults window (Tools >> Setup >> Manufacturing >> System Defaults >> Manufacturing Orders).

Post-To Site is not valid

MOHdr Location Code does not exist as a valid site.  Check Cards >> Inventory >> Site.

Primary Routing does not exist

The Routing is not imported, and MOHdrOpt does not specify an Routing Name to use, and no Primary Routing could be found.

QTY is less than or equal to ZERO

The finish good quantity in the MOHdr table must be greater than zero.

Rct Qty <> Qty of Serial Numbers

When receiving serial numbers, there should be one receipt line (quantity of 1) for each serial number produced.  Check that the quantity in MOHdr is 1.

Receipt Qty is not compatible with the Item’s Qty Decimals

The MOHdr quantity has value in decimals, such as 1.25, when the Item has zero quantity decimals (for example).

Serial/Lot Numbers provided for a non-SN Item

The finished good item is NOT serial or lot tracked, but the Serial/Lot Number field is populated in MOHdr.

SN Exists

The finished good serial number provided in the MOHdr table already exists in GP.  You cannot produce a duplicate serial number.

22.WIP Inventory #

WIP Inventory

HelpID: 715822026

Inventory for use by a manufacturing order can be “reserved” for that MO by transferring it into a WIP Location Code. MORI will still “backflush” inventory with each receipt, but when WIP Sites are set up, it will consume raw materials out of the WIP Site rather than regular inventory.

MORI looks for transfers into WIP and adjusts the Picklist accordingly. As shown below, 0.75 have been transferred into WIP. The original picklist line has been reduced by 0.75, and a new line has been added for 0.75. Notice that the new line has the Issue From of WIP.

Using a WIP Site with Inventory Transfers into WIP has several benefits.

First, inventory can be pulled from regular stock by transferring it into the WIP site at the moment it is picked. This ensures that the inventory quantities in GP are accurate and current.

Second, because the main inventory site has accurate inventory, and the Picklist is adjusted for the WIP inventory, Materials Requirements Planning can accurately detect shortages.

Third, since the Picklist is updated automatically to reflect the transfers into WIP, the Picklist becomes a tool for quickly viewing inventory remaining to issue, and inventory sitting in WIP.

Lastly, because the inventory is transferred to another Site in GP, it remains in a state that can be counted. The WIP inventory site can by cycle-counted.

A transfer into WIP is reflected on the Picklist as shown above. The WIP line will reflect the entire quantity transferred into WIP, which may be greater than the original Picklist quantity. For example, you might issue a 10-LB BAG for a line where only 6.6 LBS are needed. The original line will be reduced until it reaches zero, and the WIP line will be increased as needed to record all inventory transferred into WIP.

If inventory is transferred back into regular inventory (i.e. an Inventory Transfer from WIP to WAREHOUSE), the original Picklist line will be increased until it reaches its original quantity, but not beyond. In the previous example, if the 10-LB BAG is transferred out of WIP, the original Picklist line will be increased from 0 to 6.6, and the WIP line will be decreased from 10 to 0.

The WIP Inventory functionality in MORI is intended to be used with external Shop Floor control systems, or Warehouse Management systems, that can create and post Inventory Transfers. The purpose of the WIP functionality is, as described above, to help improve inventory accuracy for long running manufacturing processes using the Two Step MORI process (i.e. the MO already exists in GP).

If you are also integrating the Picklist with each receipt, the Issue From Site should be set to the WIP Site from the outset. The WIP Inventory functionality runs BEFORE any MO Receipts are processed, and an MO Receipt that backflushes inventory will be adjusted to draw from WIP rather than the normal Issue From Site. However, with an integrated Picklist, that information will replace the “default” picklist created by MORI, so the integrated Picklist should be added to the W7158MOPick table with the WIP Site already set to the Issue From site.

Setup

Navigation: From the MO Generator window, click the GoTo button >> WIP Sites.

There is a one-to-one relationship between a “regular” inventory Site and a WIP Site. MORI can support an unlimited number of WIP Sites, so that different manufacturing sites can have different WIP Sites. For example, NORTH might have a WIP Site called WIP-NORTH.

Once an Issue From Site is linked to a WIP Site, MORI will begin using it. See Using WIP Inventory. Unlike some of the other MOGen setup options, WIP Sites are NOT user-specific.

Using WIP Inventory

Once the Issue From Site is linked to a WIP Site, MORI will begin consuming inventory for MOs out of the WIP Site.

MOs should still be created with the Issue From Site set to your main inventory site. In Fabrikam this would normally be WAREHOUSE. This will ensure that MRP sees the inventory demand from Picklist as coming out of WAREHOUSE. As inventory is transferred into WIP, MORI will adjust the Picklist so that demand for raw materials is reduced in WAREHOUSE and increased in WIP.

MORI will attempt to backflush out of the WIP Site, all inventory for an MO with an Issue From of WAREHOUSE.

There is one exception to this. Specific components can be set to always draw from the Issue From Site specified on the BOM Line (shown below).

To force a component to always be consumed out of a specific site:

  1. Set the Issue From site on the Component Line
  2. Set the BOM Component User Defined #1 to YES

When a WIP Site exists, MORI will do two things:

  1. If transactions are populated into the MOIVTrx table, it will adjust picklists to reflect the transferred inventory. Inventory can be transferred into WIP, and out of WIP as needed. The changes will be reflected in updates to the Picklists.
  2. Partial Receipts will automatically consume out of the WIP site regardless of any other information provided

Inventory Transfers used to transfer inventory into WIP should be MO-Specific. The Key on the MOIVTrx table is:

  1. Manufacture Order
  2. IV Document Number

When WIP Sites are used, each time MORI checks for MO Receipts it will first check if there are any inventory transfers to process. If so, it processes transfers into WIP before transfers out of WIP. Once the transfers are processed (by updating the associated Picklists), it will begin the normal MORI receving process.

It is not a requirement to use the MOIVTrx table when using WIP Sites. Providing MORI with the Inventory Transfers ensures that the Picklists are updated, which primarily affects MRP. If you are not using MRP, this feature may not be as important.

You can transfer inventory into WIP without populating MOIVTrx. When an MO Receipt is posted, it will draw inventory out of WIP instead of from the Issue From Site recorded on the MO.

The MOPick table can still be used to provide specific material consumption information.

23.Remote Monitoring #

Remote Monitoring

The MOGen utilities can be run once, or run continuously.  If run continuously, you can specify how often MOGen should check the integration source for new data.  If a large amount of data is added infrequently, set the Minutes field to a large number so the utility has time to complete processing before attempting to start another import, and so that it does not check for new data with excessive frequency.

If a previous process is still running, the timer will not attempt to start again until the previous process has completed.

When running continuously the GP client may be left unattended.  Each time the MOGen timer checks for new data to import, it updates a “heartbeat” table.  The Heartbeat table is W7158MOGenStatus and is located in the company database.  This table can be added to SmartList and monitored to see if MOGen is running.  If the last run time set by MOGen is significantly beyond the normal “timer minutes”, something has probably caused MOGen to quit processing.

Help Guide Powered by Documentor
Suggest Edit