BOM Enhancements for Optimal Manufacturing Efficiency
Elevate your business processes with Mascidon, LLC's BOM enhancements implemented using Boyum B1 Usability. As an experienced SAP Business One consultant, my innovative solutions are designed to take your BOM functionality to the next level. This gives you the tools to streamline your operations and enhance overall efficiency.
Comprehensive BOM Reporting
BOM enhancements provide extensive reporting capabilities, including generating detailed BOM reports and extending report fields using SQL queries. This feature allows for customizable and in-depth insights into your BOM data, ensuring you have all the information you need at your fingertips.
Key Reporting Features:
- Where Used Reports: Easily identify where specific components are used across various BOMs.
- Indented BOM Reports: View multi-level BOM structures in a clear, hierarchical format.
Streamlined BOM Approval Process
Implementing an approval process for BOMs is crucial for maintaining accuracy and control in manufacturing operations. The enhancements include a robust BOM approval process that ensures only authorized changes are made, reduces errors, and improves overall efficiency. This particularly benefits capital equipment manufacturers dealing with large, multi-level BOMs.
Track Engineering Revisions
Keeping track of engineering changes over time is vital for maintaining the integrity of your manufacturing processes. BOM enhancements incorporate engineering revision tracking, allowing you to monitor and document changes to your BOMs throughout the lifecycle of your products.
User view of BOM Enhancements
The engineering department have more tools at their fingertips with the BOM enhancements from Mascidon. If they are having difficulty with a component item that is commonly used throughout their product line, the Where Used reporting function will tell them everywhere a component is used. If they need to replace a component, the where used report and the where used documents report are utilized to determine the impact of changing this component.
When engineers develop a BOM for a multi-level BOM with hundreds or thousands of components, the 'approval' process assists in the management of the development.
When your products are complex and are used by your customers over long periods of time, some components may need to be replaced. It is likely that over time engineering revisions will be made to these products. By tracking these revisions, when a part failure occurs customer support is enhanced - you know the revision of the part(s) at the time the sale to the customer. Using SAP and this BOM enhancements functions you can easily track the relevant engineering revisions and determine if this component has been affected by the revisions made since the sale to the customer.
Altering a BOM report
The BOM indented BOM report and the Where Used reports are implemented within Boyum Universal Functions - SQL functions. Users can access these functions and alter the output of the reports to match their needs.
The standard SAP indented BOM report shows: Item, Description, Unit of Measure, Quantity, Warehouse, Price, Depth, BOM type, Stage and Stage description. Our out of the box reports shows 17 fields of information - shown below. Let's assume the engineering revision should be included in this report. This is a user defined field in the item master - U_EngrRevision. This revised indented BOM is shown below the original Mascidon indented BOM.
The same capability can be used for any of the BOM reports. The 'traversing' of the BOM is part of the Boyum UF code (this part of the code should not be modified).
BOM Enhancements
SAP presents the bills of material one level at a time in the BOM form. There is an SAP BOM report showing multi-level bills of material. A BOM 'PLD' report shows a single-level BOM and could be modified to show more single-level data. Other than that, BOM reports are non-extendable.
Mascidon's BOM enhancements address these shortcomings with 2 basic reports - an Indented BOM report and an Indented Where Used report. Both of these reports are implemented using SQL code within Boyum Universal functions. The advantage of this approach is that a SQL knowledgeable user can modify the format of the indented reports.
Two other issues are addressed with these enhancements. The first is how to manage the development of a large, multi-level BOM. Picture a six to ten-level BOM with 200 - 2,000 components as an example. This BOM is developed (usually by your engineering department) over the course of several days or weeks. The approval process with these BOM enhancements provides the means to easily see the current approved BOM - using coloring of the item background in the item master and BOM forms.
The second additional enhancement provides the means to track engineering revisions within a BOM. Any item within a BOM - parent or child component - can have the revision history tracked. Over time engineering revisions provide the means to provide customer service to customers that have a breakdown of the finished product your company sold. Picture an internal component wearing out 3 years after you sold the finished product. The enhancement will track the engineering revision at the time of the sale - allowing you to pull the engineering information for this part back when the product was sold.
BOM Approval
As new parts are created to be included within a BOM, an approval flag is set to indicate that this part has not yet been approved. The item property 64 was renamed to 'BOM needs approval' and is used to indicate an approval is required. Refer to the photo below. The item itself has a red background to indicate that this parent item needs an approval of its BOM.
When the user has completed the input of this level of the BOM, clicking the 'BOM Reports' button displays an option for 'Approval'. If this button is clicked, the approval completed. The property 64 for this item is unchecked and the BOM fields 'Date Approved' and 'Approved by' are updated. At any time the approval status report can be printed from the BOM form.
This is the original SQL used for the report:
select s.itemdisp as 'Indented Item' , s.fg as 'BOM FG' , s.parent as 'Parent Item' , ii.itemname as 'Parent Description' , s.component as 'Component Item' , case when cc.itemname is null then r.resname else cc.itemname end as 'Component Description' , cc.phantom as 'Phantom' , cc.cardcode as 'Default Vendor' , s.TLevel as 'Level in BOM' , s.qtyreqd as 'Qty Reqd' , isnull(c.onhand,0) as 'Component On Hand' , isnull(c.onorder,0) as 'Component on order' , isnull(c.iscommited,0) as 'Component Committed' , (isnull(c.onhand,0) + isnull(c.onorder,0) - isnull(c.iscommited,0)) as 'Net On Hand' , i.onhand as 'Parent On Hand' , s.childnum , s.recnum from #stack s left join oitw i on i.itemcode = s.parent and i.whscode = @whs left join oitm ii on ii.ItemCode = i.itemcode left join oitw c on c.itemcode = s.component and c.whscode = @whs left join oitm cc on cc.itemcode = c.itemcode left join orsc r on r.rescode = @component order by s.recnum
This is the modified SQL in the UF BOM-02 - change is in bold:
select s.itemdisp as 'Indented Item' , s.fg as 'BOM FG' , s.parent as 'Parent Item' , ii.itemname as 'Parent Description' , s.component as 'Component Item' , case when cc.itemname is null then r.resname else cc.itemname end as 'Component Description' , cc.u_engrrevision as 'Engr Revision' , cc.phantom as 'Phantom' , cc.cardcode as 'Default Vendor' , s.TLevel as 'Level in BOM' , s.qtyreqd as 'Qty Reqd' , isnull(c.onhand,0) as 'Component On Hand' , isnull(c.onorder,0) as 'Component on order' , isnull(c.iscommited,0) as 'Component Committed' , (isnull(c.onhand,0) + isnull(c.onorder,0) - isnull(c.iscommited,0)) as 'Net On Hand' , i.onhand as 'Parent On Hand' , s.childnum , s.recnum from #stack s left join oitw i on i.itemcode = s.parent and i.whscode = @whs left join oitm ii on ii.ItemCode = i.itemcode left join oitw c on c.itemcode = s.component and c.whscode = @whs left join oitm cc on cc.itemcode = c.itemcode left join orsc r on r.rescode = @component order by s.recnum
Where Used Reports
The where used reports can be accessed from the item master form by clicking on the 'BOM Reports' button. There are 2 'item related' where used reports. The first shows the where used part information in an 'indented' manner. The second shows the open sales, purchasing and production documents that may be affected if you intend to alter the usage of this component in the BOM.
There is a third where used report that is accessed from the 'Resource Master Data' form. It shows the all instances of where a 'resource' is associated with a BOM. An example of where this could be useful - let's say you have 'manual welding' resources in use for manufacturing parts and you are switching over to robotic welding devices. You would need to modify every BOM that requires manual welding currently - and this report would expedite this process.
Item Engineering Revisions
Any items can have an 'engineering revision' defined. Entry of the revision is within the 'Production Data' tab in the item master form. The engineering revision is automatically added to sales and purchasing documents as they are added. It is also added to production orders as they are entered.
How is this 'productive'? An example will clarify this. As line items for a sales order are entered into SAP the engineering revision number for the items are included in the sales order line. Subsequent sales documents 'inherit' this engineering revision number. When an invoice is set to the customer the invoice within SAP includes the engineering revision number.
Two years from now the customer has an issue with the part sold to them. The SAP database has all invoices associated with this customer and you would have the capability to review the engineering revisions associated with each invoice line item. Your repair / replace function can then quickly determine the engineering information associated with the parts for this revision of the item sold. SAP tracks all BOM changes in their change log. With the addition of an engineering revision associated with the parts, the changes since you sold the customer this part can be easily identified - making customer support that much more efficient. From the Business partner master form, click on the 'Engr Rev Lookup' button to see the report of revisions and the associated invoices for this customer.
Boyum Functions
SAP File Changes
Use standard SAP functionality to add the following fields to the database.Item Master• EngrRevision – Engr Revision, Alpha 30 charactersMarketing Documents – Rows• EngrRevision – Engr Revision, Alpha 30 charactersBOM Title• DateApproved – Date Approved, Date Field• ApprovedBy – Approved By, Alpha 100 charactersProduction Order Title• EngrRevision – Engr Revision, Alpha 30 charactersItem Property 64 - Approvals
Use Administration --> Setup --> Inventory --> Item Properties to set up the naming of property 64.Test BOM
This is the BOM used to show the functionality of the BOM Enhancement functions. NOTE: B-300A is a manufactured item used in the manufacture of B-200B and B-200C. NOTE: B-200F is a 'phantom' part. NOTE: B-400A is used in 2 components: B-300A and B-200F --> at different BOM levels!Create BOM Reports Buttons
BOM Reports are accessible from many SAP forms. These forms have a button 'BOM Reports'. The Boyum Item Placement tool was used to add the button to the forms. The ITP for the item master is shown above. Similar additions have been made to add buttons to these forms: BOM; Production Orders; MRP forecasts; Sales Quotes; Sales Orders; Delivery Orders; Invoices; Purchase Orders; and PO Goods Receipts. There are B1 Validations for each of the buttons. These B1 Validations result in the the Boyum Universal Function BOM-01 being called. It is the 'traffic cop' for which reports are available after the BOM Reports button is clicked.BOM-01 as 'Traffic Cop'
All B1 Validations for the 'BOM Reports' button click call the UF BOM-01. Let's examine the logic in this UF. The first transfer statement stores the form type in the variable @STORE1. The BOM reports available depend on the originating form - item master, BOM, etc.. The @STORE2 variable contains the item or document number information depending on the form. Depending on the form, either another Boyum UF is called directly - as in the MRP Forecast form calling BOM-02 directly, OR a UF macro 'Prompt' presents the available reports to the user. Depending on the selection one of these Universal Functions is called:- BOM-02 - Indented BOM
- BOM-03 - Where Used (indented)
- BOM-04 - Where Used Documents
- BOM-12 - Approval Status - this is an update
BOM Reports
The availability of the BOM reports depends on the form within SAP. Here is a summary:- Item master - Indented BOM, Where Used and Where Used Documents reports
- Bill of materials - Indented BOM, Approval Status Report.
- MRP Forecast - Indented BOM. NOTE: All items in the forecast are shown in the indented BOM.
- Sales quotes, sales orders, delivery orders, and invoices - Indented BOM. NOTE: all items in the sales document are shown in the indented BOM.
- Purchase Orders, PO Goods Receipts - Where Used and Where Used Documents
- Resource Master - Where Used Resource
Engineering Revision - 1
The engineering revision for the manufactured item is shown on the main production order form. ITP was used to moved the user defined field u_engrrevision to the main form. The B1 Validation is initiated on the production order form in 'Add Mode' when the item manufactured is validated. The UF BOM-05 gets the engineering revision from the item master and places it on the production order form.Engineering Revision - 2
The engineering revision is added to the sales quote, sales order, delivery order and invoice forms when the item entry is validated. The enginering revision is retrieved from the item master.Approval Process
These 4 screen shots show the approval process from start to finish - for a single level of the BOM..Approval Status Report
The BOM approval status report is available from the BOM form button 'BOM Reports' - for any item that has been approved. This will show the lower levels of this BOM and their approval status. BOM-12 shown below is the Boyum UF used to produce this report. The Boyum UF BOM-12 updates the approval. It does the following updates:- Updates the date approved and the approved by fields on the BOM form.
- Unchecks the property 64 flag on the item master for this BOM parent item.
- Unchecks the property flag 64 for all components of this BOM parent that are not parents in another BOM.
- Changes the back color on the BOM product no. field to White.
- Refreshes the BOM screen to show the updates made.
- Provides a message that the approval is complete.
Approval Process
There are two Boyum Universal Functions used to color the item background red in the item master and the BOM master forms.