{"id":30079,"date":"2024-09-30T10:35:05","date_gmt":"2024-09-30T10:35:05","guid":{"rendered":"https:\/\/www.greytrix.com\/blogs\/sagex3\/?p=30079"},"modified":"2024-09-30T10:35:05","modified_gmt":"2024-09-30T10:35:05","slug":"automated-creation-of-operation-wise-product-code","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagex3\/2024\/09\/30\/automated-creation-of-operation-wise-product-code\/","title":{"rendered":"Automated Creation of Operation Wise &#8211; Product Code"},"content":{"rendered":"\n<p>In <a href=\"https:\/\/www.greytrix.com\/sage-x3\/development\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/www.greytrix.com\/sage-x3\/development\/\" rel=\"noreferrer noopener\">Sage X3<\/a> Bills of Materials (BOM) play a significant role for companies involved in manufacturing finished products. They enable the manufacturing unit to plan inventories, design, and estimate the final cost of the entire manufacturing process.<\/p>\n\n\n\n<p>One of our clients required the automated creation of Operation-wise Product codes from the routing screen of the Production BOM screen in such a way that the user could create the Engineering BOM FG01 with the code as 10 and update the routing for the same product as 10.<\/p>\n\n\n\n<p>New Stuff: <a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2024\/09\/30\/crystal-report-with-oracle-query-in-sage-x3\/\" data-type=\"link\" data-id=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2024\/09\/30\/crystal-report-with-oracle-query-in-sage-x3\/\" target=\"_blank\" rel=\"noreferrer noopener\">Crystal report with oracle query in sage X3<\/a><\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/Fig-1-Prodution-BOM-screen.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; \nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/Fig-1-Prodution-BOM-screen.png\" alt=\"Fig 1: Production BOM Screen\"><\/a><\/center>\n<font size=\"2\"><center>Fig 1: Production BOM Screen<\/center><\/font>\n\n\n\n<p><\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/fig-2-Routing-screen-1024x527.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; \nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/fig-2-Routing-screen-1024x527.png\" alt=\"Fig2 : Routing Screen\"><\/a><\/center>\n<font size=\"2\"><center>Fig2 : Routing Screen<\/center><\/font>\n\n\n\n<p>By taking this as a reference, the system was supposed to create the operation-wise Product Code.<\/p>\n\n\n\n<p>1)In the BOM and Routing screens, all data should be entered manually. While creating the Routing, the product code (formed by combining the Routing product and Operation number, separated by &#8216;_&#8217;) must be generated and added to the Product master. This newly created product code should then flow into the Product Outcome field (a custom field in the Routing tab).<\/p>\n\n\n\n<p>2)The 1st Operation is Bar-Cutting. By referencing the routing and routing operation sequence from the routing screen, the system should generate the new product code as FG01_10 in the Product master and display the Product Outcome as FG01_10.<\/p>\n\n\n\n<p>3)The 2nd Operation is Pre-Machining. By referencing the header and routing operation sequence from the routing screen, the system should generate the new product code as FG01_20 in the Product master and display the Product Outcome as FG01_20.<\/p>\n\n\n\n<p>4)The 3rd Operation is Final Inspection. Here, by referencing the Main FG Code, the system should display the Product Outcome as FG01.<\/p>\n\n\n\n<p>5)The system will generate operation-wise product codes for all operations except the last one. For the final operation, the product code will be designated as FG01_BC in Product master.<\/p>\n\n\n\n<p>For the above requirement, there were some conditions like :<br>\uf06cProduct Category of Parent Product could be any type but Product Category of the automated product code that we\u2019re creating using the code must be OPER type.<br>\uf06c BOM code of Parent Product must be 10.<br>\uf06c Routing code must be 10.<\/p>\n\n\n\n<p>To accomplish the aforementioned requirement, we executed the following steps:<br>Step 1:<br>A new display field was added in Routing Operations labeled as Product Outcome.<\/p>\n\n\n\n<p>Step 2:<br>For streamlining the process, a custom Import\/Export template named ZITM was generated. This template mirrored the standard ITM template, encompassing only the essential fields.<\/p>\n\n\n\n<p>Step 3:<br>The ZITM template was imported using a 4GL script in the SPEROU script. The Product Category was configured as OPER, and other details were retained identical to the Parent Product during the import.<\/p>\n\n\n\n<p>Step 4:<br>A fresh folder titled ROU was established within the server&#8217;s directory to store the imported files.<\/p>\n\n\n\n<p>Step 5:<br>Additionally, a ZTEMP sequence number was established, incorporating a constant and a sequence to generate unique files in the ROU folder.<br>Sequence Number path : All -&gt; Setup -&gt; General parameters -&gt; Sequence number definition<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/Fig-3-Sequence-number-definition.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; \nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/Fig-3-Sequence-number-definition.png\" alt=\"Fig 3: Sequence Number Definition\"><\/a><\/center>\n<font size=\"2\"><center>Fig 3: Sequence Number Definition<\/center><\/font>\n\n\n\n<p>Ultimately, the products newly generated (formed by combining the Routing product with &#8216;_&#8217; and the Operation Number) are showcased in the Product Outcome field through the implementation of a 4GL script within the SPEROU script.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/fig-4-Routing-screen-with-product-outcome-1024x527.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; \nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2024\/09\/fig-4-Routing-screen-with-product-outcome-1024x527.png\" alt=\"Fig 4 : Routing with Product Outcome\"><\/a><\/center>\n<font size=\"2\"><center>Fig 4 : Routing with Product Outcome<\/center><\/font>\n\n\n[about_us_blog_common]\n","protected":false},"excerpt":{"rendered":"<p>In Sage X3 Bills of Materials (BOM) play a significant role for companies involved in manufacturing finished products. They enable the manufacturing unit to plan inventories, design, and estimate the final cost of the entire manufacturing process. One of our clients required the automated creation of Operation-wise Product codes from the routing screen of the\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2024\/09\/30\/automated-creation-of-operation-wise-product-code\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,3642],"tags":[4305,217,1246,1549,3199],"class_list":["post-30079","post","type-post","status-publish","format-standard","hentry","category-integration","category-sage-x3","tag-automated-product-creation","tag-bom","tag-manufacturing","tag-products","tag-routing"],"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/30079","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/comments?post=30079"}],"version-history":[{"count":12,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/30079\/revisions"}],"predecessor-version":[{"id":30091,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/30079\/revisions\/30091"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/media?parent=30079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/categories?post=30079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/tags?post=30079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}