Release Date: 1-FEB-2024
GP Versions: 12/14/16/18
MFG Import Build: 5.74
* Errors Window: update to excel export query
Author: admin
MFGImport 2024-01-30
Release Date: 30-JAN-2024
GP Versions: 12/14/16/18
MFG Import Build: 5.73
* Updated internal resources
* Errors Window: changes sort order on excel row from descending to ascending
MOGenerator 2024-01-30
Release Date:30-JAN-2024
GP Versions: 12/14/16/18
MOGenerator Build: 4.132
* Updated internal resources
Engineer To Order (ETO) 2024-01-30
Release Date: 30-JAN-2024
GP Versions: 12/14/16/18
ETO Build: 2.45
* Updated internal resources
MFGPowerPack 2024-01-25
Release Date: 25-JAN-2024
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.232
* Fixed issue with new build notification that was presenting the notice to users if they were in the POWERUSER group in any company database, not just the current company database (#202400003)
MFGPowerPack 2024-01-23
========== Change History ========
Release Date: 23-JAN-2024
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.231
* TimeCard: (1) fixed issue that allows a user to get out of the window without filling in all required field (#202302033), (2) fixed issue with auto-tab and auto-start/stop where the window would set both start and stop entries on the first record.
Customization CR1196 – MFG Auto-allocation from Multiple Bins
Customization CR1196
MFG Auto-allocation from Multiple Bins
Description of Need:
When Manufacturing Allocates inventory it does so only from the Default Material Issue Bin set up on the Item-Site. If there is not enough inventory in that bin, the user must manually select one or more bins to meet the required quantity.
ACME would like manufacturing to automatically allocate from an many bins as needed, provided their business logic described below.
- If the Site ID is not 0FI (zero F i ), use the default Item-Site Material Issue Bin.
- Bins starting with “2-“
- Bins starting with “3-“
- Bins starting with a letter (A-Z) but not those starting with A, B, C, D, NW or RTL
- Bins starting with a number (0-9)
- Bins starting with A, B, C or D
- Bins starting with NW
- Bins starting with RTL
In all cases a bin “starting with” “A” can also just be “A”. So “starting with A” would retrieve A, AGG, A-123, and so on.
The rules should be processed in order. First try to allocate from “2-“ bins, then if more inventory is needed (or there are no 2- bins with inventory) check the 3- bins, and so on. For each rule, if there are multiple bins with inventory (i.e. there are multiple 2- bins with inventory), allocate by starting with the smallest quantity first (this should drive the system to consume small quantities thereby reducing the number of bins containing few items).
Description of Solution:
Navigation: Tools >> Setup >> Manufacturing >> Bin Allocation Setup
This window is used to define “rules” that govern how Manufacturing will locate bin inventory to allocate.
Field | Function |
Identifier | Use a naming convention that considers the following. (1) Rules will be processed in Alpha-numeric order. Use a naming convention that ensures the rules are processed in the desired order. (2) Using a naming convention that leaves space between Rules so that additional rules can easily be added between them. For example, A01, B01, C01, etc allows adding A02 so it falls between A01 and B01. |
Description | Plain text description of the rule |
Include list | Bins will be included if the Bin begins with, or equals, the specified value. For example, entering “2-“ will retrieve Bins such as 2-A, 2-B and so on. One ore more values is REQUIRED in the Include List. |
Exclude list | Bins will be excluded if the Bin begins with, or equals, the specified value. The Exclude List may be empty. |
As shown above, all Bins beginning with “N” will be excluded, except those beginning with (or equal to) “NW”.
The Manufacturing module allocates inventory using a stored procedure called mmopAllocateBinQuantities. WilloWare will create a modified version of that stored procedure that will use the Bin Allocation Rules to direct how inventory is allocated.
mmopAllocateBinQuantities is used to allocate inventory in bins from several locations in Manufacturing, so the proposed change to that stored procedure will affect allocation from the following windows:
- Manufacturing Order Close
- Manufacturing Component Transaction Entry
- Edit Manufacturing Order Status
- Quick MOs
- Manufacturing Order Receipt Entry
- Picklist
Assumptions/Requirements:
- The functionality described above will not work with eConnect, any software that uses eConnect, or any software that directly writes to, updates, or deletes from SQL tables.
- The functionality described above is intended for the GP Desktop client.
For information on this design, or any other WilloWare customization or product, please contact us:
MFGImport 2024-01-11
Release Date: 11-JAN-2024
GP Versions: 12/14/16/18
MFG Import Build: 5.72
* Excel Export from Errors window: fixed issue that could cause a datatype conversion error.
* Added label to GoTo buttons for better appearance with Action Pane menus
* This release will notify POWERUSERs when there is a new version of the software available for download
MOGenerator 2024-01-09
Release Date: 9-JAN-2024
GP Versions: 12/14/16/18
MOGenerator Build: 4.131
* Fixed error in projected resources calculation (WO010032 projected resources fields)
* Added label to GoTo buttons for better appearance with Action Pane menus
* This release will notify POWERUSERs when there is a new version of the software available for download.
Engineer To Order (ETO) 2024-01-09
Release Date: 9-JAN-2024
GP Versions: 12/14/16/18
ETO Build: 2.44
* Fixed error in project resources calculation (WO010032 projected resources fields)
* Added label to GoTo buttons for better appearance with Action Pane menus
* This release will notify POWERUSERs when there is a new version of the software available for download.
MFGPowerPack 2024-01-08
Release Date: 8-JAN-2024
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.230
* MO Split: Fixed issue in the split MO Scheduling routing that caused the projected values to not be recalculated correctly on the new MO (#202301689)
* Serial Number Mass Entry: (1) user is now prompted to confirm they are ready to run the import after clicking the Import button, (2) the status bar now displays “Done” when the import is complete
* Added label to GoTo buttons for better appearance with Action Pane menus
* This release will notify POWERUSERs when there is a new version of the software available for download.
MFG PowerPack BOM Compare
BOM Compare analyzes the exploded Bill of Materials for two or more Manufacturing BOMs to create a list of common components.
Enter two or more Bills of Material in the top scrolling window. BOM Compare loads the exploded bill of materials for each item, then compares them to create a count of the components found in each of the BOMs. Selecting a component shows which BOMs contain the selected component.
MFGImport 2023-12-07
Release Date: 7-DEC-2023
GP Versions: 12/14/16/18
MFG Import Build: 5.71
* BOM Import: (1) Added Item Engineering (IVR10015) to the pre-import check for blank records validation, (2) Changed Error Log button notification method to use different icons rather than backcolor change so that it works with both Action Pane menu and Menu Bar menu display settings.
* Routing Import: (1) Changed Error Log button notification method to use different icons rather than backcolor change so that it works with both Action Pane menu and Menu Bar menu display settings.
* FULL INSTALL REQUIRED! ALL USERS MUST BE OUT OF DYNAMICS GP. This releases changes the primary key on the Error Log table.
MFGPowerPack 2023-11-30
Release Date: 30-NOV-2023
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.229
* NEW TWEAK- Item LLC Recalc: The Manufacturing LLC Utility runs for all items and can take a long time to process. Adding a component in BOM Entry forces a recalc based on that single BOM. The BOM Mass Update utility does not recalculate LLC. Additionally integrated BOMs, and SQL table updates would also not trigger an LLC calc. This tweak will automatically recalculate LLC when changes are made in the BOM Mass Update window, and it will also add an Additional Menu to Item Engineering to recalc a single item.
MOGenerator 2023-11-29
Release Date: 29-NOV-2023
GP Versions: 12/14/16/18
MOGenerator Build: 4.130
* MO Gen Core/MO Receipt Integration: added integration to WilloWare’s MFG Import that allows the MOGen Scheduler to run BOM Import and/or Routing Import prior to any of the MO Gen Core Utilities or MO Receipt Integration. When the MOGen Scheduler is run continuously it will run the MFG Import utilities once per cycle (i.e. once per minute, or whatever the polling frequency is set to).
GPPowerPack 2023-11-21
Release Date: 21-NOV-2023
GP Versions: 12/14/16/18
GP PowerPack Build: 7.172
* Requested Ship Date Rolldown: added setup option to control if manufacturing Customer Promise Date is updated (by default it is) along with In House Due Date (#202301568).
* Sales Pro Item Lookup: the window will now remember each user’s last used “View” setting (i.e. Customer Items, All Items, etc), and will reopen to that view.
MFGPowerPack 2023-11-20
Release Date: 20-NOV-2023
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.228
* Capable To Promise (CTP): added open to explode both Regular and Phantom BOMs
SpellCheck 2023-11-20
Release Date: 8-JAN-2023
GP Versions: 12/14/16/18
SpellCheck Build: 1.32
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update SpellCheck even if you are not upgrading to GP18.6 at this time.
SOPPOPMultiLink 2023-11-20
Release Date: 20-NOV-2023
GP Versions: 12/14/16/18
SOPPOPMultiLink Build: 1.11
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update SOP-POP MuiltiLink even if you are not upgrading to GP18.6 at this time.
Preactor Integration 2023-11-16
Release Date: 16-NOV-2023
GP Versions: 12/14/16/18
Preactor Integration Build: 1.20
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update Preactor Integration even if you are not upgrading to GP18.6 at this time.
MOGenerator 2023-11-16
Release Date: 16-NOV-2023
GP Versions: 12/14/16/18
MOGenerator Build: 4.129
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update MOGenerator even if you are not upgrading to GP18.6 at this time.
MFGImport 2023-11-15
Release Date: 15-NOV-2023
GP Versions: 12/14/16/18
MFG Import Build: 4.70
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update MFG Import even if you are not upgrading to GP18.6 at this time.
* BOM Import: added data validation to catch importing MFG BOM with BOM Name populated, or ARCH/CONFIG BOM with BOM Name blank.
MFGDataArchive 2023-11-15
Release: 15-NOV-2023
GP Versions: 12/14/16/18
MFGDA Build: 1.32
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update MFG Data Archive even if you are not upgrading to GP18.6 at this time.
MFGPowerPack 2023-11-14
Release Date: 14-NOV-2023
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.227
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update MFGPowerPack even if you are not upgrading to GP18.6 at this time.
* Capable To Promise (CTP): (1) fixed issue in Max Build calculation where it was using the Component BOM Qty rather than the Ext BOM Qty (#202301546), (2) changed BOM Qty to show exploded BOM Qty calculation, (3) added a dropdown to the window to change if the window calculates based on QTY Quoted or QTY Required.
LeanMFG 2023-11-13
Release Date: 13-NOV-2023
GP Versions: 12/14/16/18
LeanMFG Build: 3.57
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update LeanMFG even if you are not upgrading to GP18.6 at this time.
* MO Entry: A link has been added on the MO Entry window to access the BOM Notes
LabelLink 2023-11-10
Release Date: 10-NOV-2023
GP Versions: 12/14/16/18
LabelLink Build: 2.46
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update LabelLink even if you are not upgrading to GP18.6 at this time.
GPPowerPack 2023-11-10
Release Date: 10-NOV-2023
GP Versions: 12/14/16/18
GP PowerPack Build: 7.171
* Kit Transfer: fixed issue that can cause incorrect QTY Allocated when using Kit Transfers with In Transit Transfers (#202301473). Running IV Reconcile will correct the allocations.
Item Process Tracking (IPT) 2023-11-06
Release Date: 6-NOV-2023
GP Versions: 12/14/16/18
IPT Build: 2.21
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update Item Process Tracking (IPT) even if you are not upgrading to GP18.6 at this time.
EZImport 2023-11-06
Release Date: 6-NOV-2023
GP Versions: 12/14/16/18
EZImport Build: 1.19
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update EZImport even if you are not upgrading to GP18.6 at this time.
Engineer To Order (ETO) 2023-11-06
Release Date: 6-NOV-2023
GP Versions: 12/14/16/18
ETO Build: 2.43
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update ETO even if you are not upgrading to GP18.6 at this time.
Consulting Toolkit 2023-11-03
Release Date: 3-NOV-2023
GP Versions: 12/14/16/18
CTK Build: 2.35
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update CTK even if you are not upgrading to GP18.6 at this time.
BlanketPO 2023-11-03
Release Date: 3-NOV-2023
GP Versions: 12/14/16/18
BlanketPO Build: 1.44
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update BlanketPO even if you are not upgrading to GP18.6 at this time.
CompleteCount 2023-11-02
Release Date: 2-NOV-2023
GP Versions: 12/14/16/18
CompleteCount Build: 4.60
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update CompleteCount even if you are not upgrading to GP18.6 at this time.
GPPowerPack 2023-11-02
Release Date: 2-NOV-2023
GP Versions: 12/14/16/18
GP PowerPack Build: 7.170
* Updates for GP18.6
* The updates to internal resources apply to all supported versions of GP and include performance improvements, updates to error reporting and version management, and other enhancements. Please update GP PowerPack even if you are not upgrading to GP18.6 at this time.
Customization DS1115- WIP Cost Reversal
Customization DS1115
WIP Cost Reversal
Problem Definition:
ACME builds water dispensers. Some units contain high value assemblies which are treated as capital equipment, so the value is not in an inventory account. When these assemblies are used on a manufacturing order, the normal posting process will adjust the value of the item out of the capital equipment GL account and into the WIP account of the finished good.
When Manufacturing posts the Actual Cost finished good into inventory, it uses the value in WIP to determine the cost of the finished good.
ACME needs the value of these capital items to remain in the capital equipment GL account and not get added to the final cost of the finished good.
Design Features:
Reversing WIP
The customization will monitor the Manufacturing Issue and Reverse Issue posting process. When it detects certain capital items in the resulting Inventory Adjustment, it will create and post a Journal Entry to reverse the GL effects of the Inventory Adjustment.
An Issue transaction credits Inventory and debits WIP. In this case the Inventory account will be a capital equipment account (a regular inventory account is shown below):
The reversing transaction will debit Inventory and credit WIP for the value of the inventory item (using the same GL accounts as the original transaction).
The reversing entry will also show the Item Number in the Distribution Reference field.
A Reverse Issue with a capital item will cause the transaction above to occur in reverse. Manufacturing will Debit the Inventory Account and Credit the WIP Account, and the customization will reverse that.
Assumptions/Requirements:
- The functionality described in this document is intended for the Dynamics GP desktop client. Unless specified otherwise, all testing will occur in the desktop client only. Projects created in Dexterity should have a very high level of compatibility with the Web Client, but cannot be guaranteed without explicitly including additional time in the estimate for testing in the Web Client.
MFGPowerPack 2023-10-24
Release Date: 24-OCT-2023
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.226
* Buy Picklist: Added reference to the MO# in the PO “Contract Number” field in the Purchasing Vendor Detail Entry window.
MFG PowerPack Buy Picklist
Buy Picklist is ideal for a Make to Order or Engineer to Order environment where you need to purchase the materials needed for a job, it is also useful for purchasing to address shortages on a job. Buy Picklist creates a link between the Manufacturing Picklist window and Purchase Request Resolution. With one click the Picklist requirements can be easily sent to Purchase Request Resolution where you can select Vendors and create Purchase Orders.
The link calculates the quantity to order by looking at the Item Resource Planning values (Order Quantity Modifiers), and if a Primary Vendor is assigned on the Item Quantities window it looks at the Minimum, Maximum and Order Increment from the Item-Vendor window.
MFGPowerPack 2023-10-17
Release Date: 16-OCT-2023
GP Versions: 12/14/16/18
MFG PowerPack Build: 13.225
* NEW – Buy Picklist: create purchase orders for everything on a picklist, or for shortages on a picklist.
* NEW – Tweak: Default MO Entry Date: when creating new MOs the MO Entry window defaults to a blank (zeros) date. The Default MO Entry Date tweak uses the Planning Time Fence to set the default dates to the User Date + Planning Time Fence Days from Item Resource Planning (Item-Site). Or you can customize the Tweak so use any value other than Planning Time Fence.
* FULL INSTALLATION ROUTINE REQUIRED
MFGPowerPack 2023-10-05
GP Versions: 12/14/16/18
MFG PowerPack Build: 12.224
Customization DS1452 Lot Adjustment
Customization DS1452
Lot Adjustment
Problem Definition:
ACME uses Dynamics GP lot tracking on their inventory items. Sometimes during stock counts they will find that a Lot Number is incorrect in GP for the physical inventory counted, so they need to adjust inventory to put the “correct” Lot Number in and remove the “incorrect” Lot Number. They are currently doing this manually with an Inventory Adjustment and would like a more automated way to do this.
The adjustment needs to retain the same Receipt Date, Cost, MFG Date, EXP Date and Lot Attributes.
Solution Overview:
WilloWare will create a dexterity enhancement for Dynamics GP that allows users to find a lot in the Lot Inquiry window and automatically create the complete IV Adjustment to adjust the lot number.
Design Features:
Navigation: Inquiry>> Inventory>>Lots
The Lot Number Inquiry window is used as a “lookup” window to locate a specific lot receipt that needs to be adjusted. Enter the Item Number and find the Lot that needs to be adjusted. Select the row as shown above, then go to Additional >> Adjust Lot.
Field | Function |
Item Number | Displays the Item Number |
Description | Displays the Item Description |
Receipt Date | Displays the Receipt Date for the Lot Number. This will be the IV Adjustment |
Lot Number | Displays the selected Lot Number |
New Lot Number | Enter the new Lot Number. For example, the adjustment will change TEST-A to TEST-AA |
QTY Available | Displays the QTY Available for the Lot Number |
New Lot QTY | Enter the adjustment quantity. This can be up to the QTY Available. New Lot QTY defaults to the QTY Available |
Reason Code | Enter an IV Adjustment Reason Code, or select one from the Lookup. This will be used on the lines of the Inventory Adjustment. A Reason Code is required |
Lot Adj Note | Enter text description explaining the Lot Number Adjustment. This will become the Inventory Adjustment document note. The Note is not required |
ADJUST: Click the Adjust button to create an inventory adjustment. You will be asked to confirm you are ready to adjust the lot number. If YES, the following will occur:
- And inventory adjustment will be created and saved in a Batch. The Batch ID will be up to 15-characters of the User ID.
- The Transaction Date will be set to the Lot Receipt Date. NOTE: it will be possible to create a transaction for a Closed Period. No warnings will be given, but it will not be possible to post the transaction without addressing the issue.
- The first line will be negative and adjust OUT the selected Lot and Quantity using the Site and Bin from the selected lot record.
- The second line will be positive and adjust IN the New Lot Number using the Site, Bin and Cost from the selected lot record.
- The MFG Date and EXP Date of the New Lot Number will be set based on the old Lot Number.
- If a Lot Attribute record does not exist for the New Lot, one will be created and the Attributes will be copied from the old lot. If a Lot Attribute record exists for the New Lot, it will NOT be changed based on Attributes from the Old Lot.
- If the user has security rights, the Item Transaction Entry window will open and display the transaction.
The net effect will be an Inventory Adjustment, as shown below, in and out on the original receipt date that results in a change to the Lot Number on that date, but the quantity and cost stay the same.
Assumptions/Requirements:
- The functionality described above will not work with eConnect, any software that uses eConnect, or any software that directly writes to, updates, or deletes from SQL tables.
- The functionality described above is intended for the GP Desktop client.
- National Accounts functionality is NOT used.
- Advanced Distribution functionality is NOT used.
- Unless otherwise noted in this document, reporting is not included in this estimate.
- Unless otherwise noted in this document, Word Template functionality is not addressed.
- Unless otherwise noted in this document, the enhancement will not integrate with 3rd party products. Some examples of 3rd party products would be:
- An ISV plug-in product including WilloWare products
- A dexterity customization designed by another developer
- Dynamics GP Modules including, but not limited to:
- Project Accounting
- MDA
- Analytical Accounting
- Copy functionality found in SOP, POP and Inventory
- Field Service
- Extended Pricing
- Manufacturing
For information on this design, or any other WilloWare customization or product, please contact us:
CompleteCount 2023-09-21
Release Date: 21-SEP-2023
GP Versions: 12/14/16/18
CompleteCount Build: 4.59
* Stock Count Maintenance: CompleteCount now has a replacement for the GP Stock Count Schedule window that significantly improves performance. The CC Stock Count Schedule window performs the same function as the GP Stock Count Schedule window but has been optimized for large amounts of data. Plus it has speedy filters for quickly restricting the window using a “contains” search on Item Numbers, Bins, Location Codes and Item Descriptions.
*COMPLETE INSTALLATION ROUTINE REQUIRED! This release includes a new window, CC Stock Count Schedule. Security settings will be updated during the installation to add the window.
This is a quick demonstration of the new window showing how much faster it is than the GP window even with just 300 rows.
MOGenerator 2023-09-07
Release Date: 7-SEP-2023
GP Versions: 12/14/16/18
MOGenerator Build: 4.128
* MORI: fixed issue where the Location Code in MOHdr was not overriding the defaults from the Scheduling Preference. The logic for retrieving sites has been modified slightly to fit how users assumed it would work, in the order shown:
–Draw From and Post To Sites are retrieved from the original MO (for partial receipts)
–If a site is missing, use the Default Scheduling Preference to find a site
–If a site is missing, and if MOHdrOpt has a Scheduling Preference, use to find a site
–If MOHdr has a Location Code, use that for the PostTo
If you need to do a single complete receipt on an existing MO and change the Post To site, mark the “Auto Close/Cancel MO” option and do a single receipt for the entire qty. MORI will create a “split” MO for the entire QTY, use the PostTo specified in MOHdr, and cancel the original MO.
GPPowerPack 2023-08-03
Release Date: 3-AUG-2023
GP Versions: 12/14/16/18
GP PowerPack Build: 7.169
* Tweaks: Purchasing Distribution Override-changed timing of when the GL account validations run so that if the default POP distributions contain an inactive account or account that does not allow account entry, the POP Distribution Override window does not run the validations on the default account but only when the user enters a new account.
CompleteCount 2023-07-20
Release Date: 20-JUL-2023
GP Versions: 12/14/16/18
CompleteCount Build: 3.58
* Tag Printing: the option to “Print Tags for On Hand Quantities Only” was only considering the Item-Site table quantities so bin-level tags were printing that had no inventory. This build alters the tag printing when multi-bins is enabled and this option is marked so it only prints tags if the bin has On Hand inventory.
GPPowerPack 2023-07-10
Release Date: 10-JUL-2023
GP Versions: 12/14/16/18
GP PowerPack Build: 7.168
* Tweaks: Lock POP Cost Fields – added a password override so that an admin user can enter these values when they must be changed. All windows where costs can be locked now have an Additional Menu (Additional >> Unlock Costs) to unlock the fields.
Manufacturing Scheduling Bug
We recently received a support case regarding the MO Scheduler utility in the MO Generator Suite. The consultant reported that when attempting to reschedule an MO they received a SQL error:
Conversion failed when converting the varchar value ‘50.01’ to data type int.
Since all WilloWare code has custom error handling (we have our own window for displaying errors) it was immediately clear the error was coming from GP Manufacturing.
“50.01” is a Routing Sequence. We set up a routing with a similar sequence, but the MO Scheduler ran fine. We couldn’t duplicate the issue. The usual suspects for an error like this are either a VBA customization or a SQL table trigger, but neither of those were present.
The consultant provided a SQL trace that showed the scheduling process was failing on a stored procedure called mmopUpdatePicklist. It has three input parameters:
- MO Number
- First Routing Sequence
- End Routing Sequence
The trace also showed that “50.01” was the First Routing Sequence. We changed our routing to make it the first sequence, ran MO Scheduler…and got the error!
Our code was calling the stored procedure through the manufacturing module, and it was (1) correctly finding the first and last sequences, and (2) passing everything in correctly. We then executed the stored procedure in SQL Management Studio:
That also generated the error, so we knew it was not MO Scheduler causing the problem.
A trace of rescheduling an MO in the MO Entry window, which uses mmopUpdatePicklist but does not create an error, produced something odd. The call to the stored procedure looked like this:
mmopUpdatePicklist “MO0196”, “-1”, “-1”
“-1”? Those two fields are supposed on contain the first and last routing sequences. In this case we expected it to look like this:
mmopUpdatePicklist “MO0196”, “50.01”, “900”,
Digging into the Manufacturing source code revealed that mmopUpdatePicklist is used in six different places in the code and five of them do NOT pass in the routing sequence, they pass in a hard-coded value of “-1”! However, the Manual Scheduling window does use the First and Last Routing sequences. We tried rescheduling from that window and got the same error:
Digging further, we investigated the mmopUpdatePicklist stored procedure and discovered that it is hard-coded to recognize “-1” as a magic value.
A “magic value” is a parameter you pass into code to make something happen, and it is a very bad idea. In this case since the input parameters for mmopUpdatePicklist are MO Number, First Routing Sequence and Last Routing Sequence, you should expect those are the values used by the code. Instead, it is using the magic value of “-1” to determine if it should schedule a specific sequence/range (the top case) or all sequences (the bottom case). However, since the magic value of “-1” is an integer and FirstSeq is a string, the IF statement requires SQL Server to do an implicit data type conversion from string (varchar) to integer, and that means if you have routing sequences with letters, or decimal places, it will create an error because there is no way for it to compare “A001” to “-1”.
What would be preferable is to have the code always expect and use two inputted routing sequences. If you give it the first and last it reschedules everything. Or you could give it the 1st and 2nd, or 3rd and 7th to reschedule that range. It would even be reasonable to allow passing in blanks to have it reschedule the entire MO.
If you have routing sequences with letters (or other characters) and you have encountered this issue, there is a relatively simple fix. Just edit the stored procedure to replace -1 with ‘-1’, SQL will treat it as a string (varchar) and everything works fine.
MOGenerator 2023-07-03
Release Date: 3-JUL-2023
GP Versions: 12/14/16/18
MOGenerator Build: 4.127
* MO Scheduler: changed how our scheduling code works to accomodate a bug in a manufacturing stored procedure called mmopUpdatePicklist. If the first routing sequence is not an integer, attempting to reschedule the MO would result in a SQL error from Manufacturing (“Conversion failed when converting the varchar value ‘50.01’ to datatype int”).
MFGPowerPack 2023-06-26
Release Date: 26-JUN-2023
GP Versions: 12/14/16/18
MFG PowerPack Build: 12.222
* MRP Alternates: fixed case sensitivity issue with binary sort databases (#202300922)
* Item Copy: added nolock hint to source record selection query of the TableCopy routine
MFGImport 2023-06-22
Release Date: 22-JUN-2023
GP Versions: 12/14/16/18
MOGenerator Build: 4.126
* MO Scheduler: fixed issue that could result in changing the MO Header “Routing Name” field to be the MO Number (#202300902)
MFGImport 2023-06-20
Release Date: 20-JUN-2023
GP Versions: 12/14/16/18
MFG Import Build: 4.69
* FULL INSTALLATION ROUTINE REQUIRED
* Creates in the company database: W7048BOMLoadTemp, wspBOMImportPRE, wspBOMImportPOST, wspImportErr, W7048RouteLoadTemp, wspRTImportPRE, wspRTImportPRE
* BOM & Routing Imports: NEW- custom business logic. ImportPRE: After reading the Excel file, but before processing begins, run SQL update scripts on the imported data. Use this to add Template Items, set default values based on rules rather than a fixed value, set unit of measure, and more. ImportPOST: perform additional post integration updates, such as clearing certain fields.
* Enable Debug Mode with this dex.ini setting: MFGImportDebug=true. This will add several break points to the import routines where the process stops so you can verify what has occurred at the SQL level before proceeding.
* BOM & Routing Imports: added multi-user control to prevent to concurrently run imports from attempting to create the same records