:-)

Thank you Jacques!

On Wed, Feb 26, 2025 at 1:40 PM Jacques Le Roux <jler...@apache.org> wrote:

> Hi,
>
> I'm quite happy sot see some recent activity in the wiki, including
> Jacopo's
>
> :)
>
> Jacques
> Le 26/02/2025 à 12:31, Yashwant Dhakad (Confluence) a écrit :
>
>
> <https://cwiki.apache.org/confluence/display/~yashwant.dhakad?src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e>
>  Yashwant
> Dhakad *created* a page
>
> [image: page icon]
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037431&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=view>
>  Apache
> OFBiz Manufacturing – Parts Assembly Process
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037431&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=view>
>
> This guide explains how to set up the data for assembling a part
> comprising of multiple components and subsequently how to execute the
> assembly process using Manufacturing module available in *Apache OFBiz
> suite. *
>
> For understanding it better let us take an example of assembling a *Skateboard
> Deck* by first defining its structure.
> *Step 1: Defining Products and Components* *1.1 Products List*
>
> *Product ID*
>
> *Name*
>
> *Type*
>
> *BoM Level*
>
> 1000
>
> Skateboard Deck FG
>
> FINISHED_GOOD
>
> 0
>
> 1001
>
> Skateboard Deck Sub Assembly
>
> FINISHED_GOOD
>
> 1
>
> 1002
>
> Sticker
>
> FINISHED_GOOD
>
> 1
>
> 1003
>
> Warranty Card
>
> FINISHED_GOOD
>
> 1
>
> 1004
>
> Glue
>
> FINISHED_GOOD
>
> 2
>
> 1005
>
> Veneer Maple Face
>
> FINISHED_GOOD
>
> 2
>
> 1006
>
> Veneer Maple X Ply
>
> FINISHED_GOOD
>
> 2
>
> 1007
>
> Veneer Maple Core
>
> FINISHED_GOOD
>
> 2
> *1.2 Defining Products in XML*
>
> <entity-engine-xml>
>     <Product productId="1000" productTypeId="FINISHED_GOOD"
> internalName="Skateboard Deck FG"/>
>     <Product productId="1001" productTypeId="FINISHED_GOOD"
> internalName="Skateboard Deck Sub Assembly"/>
>     <Product productId="1002" productTypeId="FINISHED_GOOD"
> internalName="Sticker"/>
>     <Product productId="1003" productTypeId="FINISHED_GOOD"
> internalName="Warranty Card"/>
>     <Product productId="1004" productTypeId="FINISHED_GOOD"
> internalName="Glue"/>
>     <Product productId="1005" productTypeId="FINISHED_GOOD"
> internalName="Veneer Maple Face"/>
>     <Product productId="1006" productTypeId="FINISHED_GOOD"
> internalName="Veneer Maple X Ply"/>
>     <Product productId="1007" productTypeId="FINISHED_GOOD"
> internalName="Veneer Maple Core"/>
> </entity-engine-xml>
>
> *1.3 Defining Products in SQL*
>
> INSERT INTO PRODUCT (PRODUCT_ID, PRODUCT_TYPE_ID, INTERNAL_NAME) VALUES
> ('1000', 'FINISHED_GOOD', 'Skateboard Deck FG'),
> ('1001', 'FINISHED_GOOD', 'Skateboard Deck Sub Assembly'),
> ('1002', 'FINISHED_GOOD', 'Sticker'),
> ('1003', 'FINISHED_GOOD', 'Warranty Card'),
> ('1004', 'FINISHED_GOOD', 'Glue'),
> ('1005', 'FINISHED_GOOD', 'Veneer Maple Face'),
> ('1006', 'FINISHED_GOOD', 'Veneer Maple X Ply'),
> ('1007', 'FINISHED_GOOD', 'Veneer Maple Core');
>
>
> *Step 2: Setting Up Bill of Materials (BoM)* *2.1 BoM Structure*
>
> *Parent Product*
>
> *Component Product*
>
> *Quantity*
>
> 1000
>
> 1001
>
> 1.000000
>
> 1000
>
> 1002
>
> 1.000000
>
> 1000
>
> 1003
>
> 1.000000
>
> 1001
>
> 1004
>
> 0.830000
>
> 1001
>
> 1005
>
> 2.000000
>
> 1001
>
> 1006
>
> 2.000000
>
> 1001
>
> 1007
>
> 3.000000
>
>
> *2.2 Defining BoM in XML*
>
> <entity-engine-xml>
>     <ProductAssoc productId="1000" productIdTo="1001"
> productAssocTypeId="MANUF_COMPONENT" quantity="1.000000"/>
>     <ProductAssoc productId="1000" productIdTo="1002"
> productAssocTypeId="MANUF_COMPONENT" quantity="1.000000"/>
>     <ProductAssoc productId="1000" productIdTo="1003"
> productAssocTypeId="MANUF_COMPONENT" quantity="1.000000"/>
>     <ProductAssoc productId="1001" productIdTo="1004"
> productAssocTypeId="MANUF_COMPONENT" quantity="0.830000"/>
>     <ProductAssoc productId="1001" productIdTo="1005"
> productAssocTypeId="MANUF_COMPONENT" quantity="2.000000"/>
>     <ProductAssoc productId="1001" productIdTo="1006"
> productAssocTypeId="MANUF_COMPONENT" quantity="2.000000"/>
>     <ProductAssoc productId="1001" productIdTo="1007"
> productAssocTypeId="MANUF_COMPONENT" quantity="3.000000"/>
> </entity-engine-xml>
> *2.3 Defining BoM in SQL*
>
> INSERT INTO PRODUCT_ASSOC (PRODUCT_ID, PRODUCT_ID_TO, ASSOC_TYPE_ID,
> QUANTITY) VALUES
> ('1000', '1001', 'MANUF_COMPONENT', 1.000000),
> ('1000', '1002', 'MANUF_COMPONENT', 1.000000),
> ('1000', '1003', 'MANUF_COMPONENT', 1.000000),
> ('1001', '1004', 'MANUF_COMPONENT', 0.830000),
> ('1001', '1005', 'MANUF_COMPONENT', 2.000000),
> ('1001', '1006', 'MANUF_COMPONENT', 2.000000),
> ('1001', '1007', 'MANUF_COMPONENT', 3.000000);
> *2.4 Screenshot For BoM *
>
> *2.5 Screenshot for BoM Simulation*
>
>
> *2.6 Screenshot of BoM for Sub-Assembly*
>
> *2.7 Screenshot of BoM Simulation for Sub-Assembly*
>
> *Step 3: Configuring Manufacturing Routing & Tasks*
>
> Each *Work effort (Task)* represents a *step in skateboard assembly*.
> *3.1 Routing for Skateboard Assembly*
>
> *WorkEffort ID*
>
> *Name*
>
> *Type*
>
> 2000
>
> Apply Transfer to deck
>
> ROUTING
>
> 2001
>
> Apply Transfer
>
> ROU_TASK
>
>
> *3.2 Defining Routing in XML*
>
> <entity-engine-xml>
>     <WorkEffort workEffortId="2000" workEffortTypeId="ROUTING"
> currentStatusId="ROU_ACTIVE" workEffortName="Apply Transfer to deck"
> description="Apply Transfer to deck" quantityToProduce="0.000000"/>
>     <WorkEffort workEffortId="2001" workEffortTypeId="ROU_TASK"
> currentStatusId="ROU_ACTIVE" workEffortPurposeTypeId="ROU_ASSEMBLING"
> workEffortName="Apply Transfer" description="Apply Transfer"/>
>
>
>     <WorkEffortAssoc workEffortIdFrom="2000" workEffortIdTo="2001"
> workEffortAssocTypeId="ROUTING_COMPONENT" sequenceNum="10"
> fromDate="2016-11-10 16:28:27.529"/>
>
>
>     <WorkEffortGoodStandard workEffortId="2000" productId="1000"
> workEffortGoodStdTypeId="ROU_PROD_TEMPLATE" fromDate="2016-11-01
> 12:00:00.0"/>
> </entity-engine-xml>
> *3.3 Defining Routing in SQL*
>
> INSERT INTO WORK_EFFORT (WORK_EFFORT_ID, WORK_EFFORT_NAME,
> WORK_EFFORT_TYPE_ID) VALUES
> ('2000', 'Apply Transfer to deck', 'ROUTING'),
> ('2001', 'Apply Transfer', 'ROU_TASK');
> *3.4 Screenshot of Routing*
>
> *3.5 Screenshot of Routing Task *
>
> *3.6 Screenshot of Routing with Routing task Assoc:*
>
> *3.7 Screenshot of Routing with Deliverable Product Assoc:*
>
> *Step 4: Configuring Manufacturing Routing & Tasks For Sub Assembly*
>
> Each *WorkEffort* represents a *manufacturing step* in *Skateboard Deck
> Assembly*.
> *4.1 Routing for Skateboard Assembly *
>
> *WorkEffort ID*
>
> *Name*
>
> *Type*
>
> 3000
>
> Skateboard Sub Assembly
>
> ROUTING
>
> 3001
>
> LAM
>
> ROU_TASK
>
> 3002
>
> Shape Deck
>
> ROU_TASK
>
>
> *4.2 Defining Routing in XML*
>
> <entity-engine-xml>
>     <WorkEffort workEffortId="3000" workEffortTypeId="ROUTING"
> currentStatusId="ROU_ACTIVE" workEffortName="Skateboard Deck Sub Assembly"
> description="Skateboard Deck Sub Assembly" quantityToProduce="0.000000"/>
>     <WorkEffort workEffortId="3001" workEffortTypeId="ROU_TASK"
> currentStatusId="ROU_ACTIVE" workEffortPurposeTypeId="ROU_ASSEMBLING"
> workEffortName="LAM" description="LAM" quantityToProduce="0.000000"/>
>     <WorkEffort workEffortId="3002" workEffortTypeId="ROU_TASK"
> currentStatusId="ROU_ACTIVE" workEffortPurposeTypeId="ROU_ASSEMBLING"
> workEffortName="Shape Deck" description="Shape Deck"/>
>
>     <WorkEffortAssoc workEffortIdFrom="3000" workEffortIdTo="3001"
> workEffortAssocTypeId="ROUTING_COMPONENT" sequenceNum="10"
> fromDate="2016-11-01 12:00:00.0"/>
>     <WorkEffortAssoc workEffortIdFrom="3000" workEffortIdTo="3002"
> workEffortAssocTypeId="ROUTING_COMPONENT" sequenceNum="20"
> fromDate="2016-11-01 12:00:00.0"/>
>
>     <WorkEffortGoodStandard workEffortId="MANUF10169"
> productId="DSK15144-00" workEffortGoodStdTypeId="ROU_PROD_TEMPLATE"
> fromDate="2016-11-01 12:00:00.0"/>
> </entity-engine-xml>
> *4.3 Defining Routing in SQL*
>
> INSERT INTO WORK_EFFORT (WORK_EFFORT_ID, WORK_EFFORT_NAME,
> WORK_EFFORT_TYPE_ID) VALUES
> ('3000', 'Skateboard Deck Sub Assembly', 'ROUTING'),
> ('3001', 'LAM', 'ROU_TASK'),
> ('3003', 'Shape Deck', 'ROU_TASK');
> *4.4 Screenshot of Routing for Sub-Assembly*
>
> *4.5 Screenshot of Routing Task for Sub-Assembly*
>
> *4.6 Screenshot of Routing Assoc with Routing Task  for Sub-Assembly *
>
> *4.7 Screenshot of Routing Assoc with Deliverable Product for Sub-Assembly*
>
> *5.4 Screenshot of Routing with Routing Task* *Step 6: Running Production*
>
> Now that we have *Products, BoM, Routing, and Tasks*, we can create a 
> *Production
> Run*.
> *6.1 Create Production Run*
>
> *6.2 View Production Run *
>
> *6.2 Creating a Production Run in XML*
>
> <entity-engine-xml>
>     <WorkEffort currentStatusId="PRUN_CREATED"
> facilityId="WebStoreWarehouse" quantityToProduce="2.000000"
> revisionNumber="2" workEffortId="10013" workEffortName="1000-Apply Transfer
> to deck" workEffortPurposeTypeId="WEPT_PRODUCTION_RUN"
> workEffortTypeId="PROD_ORDER_HEADER"/>
>
>
>     <WorkEffort currentStatusId="PRUN_CREATED" description="Apply
> Transfer" facilityId="WebStoreWarehouse" priority="10"
> quantityToProduce="2.000000" revisionNumber="1" workEffortId="10014"
> workEffortName="Apply Transfer" workEffortParentId="10013"
> workEffortPurposeTypeId="WEPT_PRODUCTION_RUN"
> workEffortTypeId="PROD_ORDER_TASK"/>
>
>
>     <WorkEffort currentStatusId="PRUN_CREATED"
> facilityId="WebStoreWarehouse" quantityToProduce="2.000000"
> revisionNumber="2" workEffortId="10010" workEffortName="1001-Skateboard
> Deck Sub Assembly" workEffortPurposeTypeId="WEPT_PRODUCTION_RUN"
> workEffortTypeId="PROD_ORDER_HEADER"/>
>
>     <WorkEffort currentStatusId="PRUN_CREATED"
> facilityId="WebStoreWarehouse" quantityToProduce="2.000000"
> revisionNumber="1" workEffortId="10011" workEffortName="LAM"
> workEffortPurposeTypeId="WEPT_PRODUCTION_RUN"
> workEffortTypeId="PROD_ORDER_TASK"/>
>     <WorkEffort currentStatusId="PRUN_CREATED"
> facilityId="WebStoreWarehouse" quantityToProduce="2.000000"
> revisionNumber="1" workEffortId="10012" workEffortName="Shape Deck"
> workEffortPurposeTypeId="WEPT_PRODUCTION_RUN"
> workEffortTypeId="PROD_ORDER_TASK"/>
>
>     <WorkEffortGoodStandard workEffortId="10010" productId="1001"
> workEffortGoodStdTypeId="PRUN_PROD_DELIV" fromDate="2025-02-24
> 16:56:56.000" statusId="WEGS_CREATED" estimatedQuantity="2"/>
>     <WorkEffortGoodStandard workEffortId="10011" productId="1004"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="1.66"/>
>     <WorkEffortGoodStandard workEffortId="10011" productId="1005"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="4"/>
>     <WorkEffortGoodStandard workEffortId="10011" productId="1006"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="4"/>
>     <WorkEffortGoodStandard workEffortId="10011" productId="1007"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" throughDate="2025-02-25 08:35:00.004" statusId="WEGS_CREATED"
> estimatedQuantity="6"/>
>
>
>     <WorkEffortGoodStandard workEffortId="10013" productId="1000"
> workEffortGoodStdTypeId="PRUN_PROD_DELIV" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="2"/>
>     <WorkEffortGoodStandard workEffortId="10014" productId="1001"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="2"/>
>     <WorkEffortGoodStandard workEffortId="10014" productId="1002"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="2"/>
>     <WorkEffortGoodStandard workEffortId="10014" productId="1003"
> workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" fromDate="2016-11-01
> 12:00:01.000" statusId="WEGS_CREATED" estimatedQuantity="2"/>
> </entity-engine-xml>
> *Step 7: Completing Production & Inventory Issue*
>
> Once production is complete:
>
>    - *Inventory is issued from raw materials*
>    - *Finished goods (1000 - Skateboard Deck) are added to stock*
>
> *7.1 Issue Raw Materials data in XML*
>
> <entity-engine-xml>
>     <WorkEffortInventoryAssign workEffortId="10011"
> inventoryItemId="10000" quantity="1.66"/>
>     <WorkEffortInventoryAssign workEffortId="10011"
> inventoryItemId="10001" quantity="4"/>
>     <WorkEffortInventoryAssign workEffortId="10011"
> inventoryItemId="10002" quantity="4"/>
>     <WorkEffortInventoryAssign workEffortId="10011"
> inventoryItemId="10003" quantity="6"/>
>
>
>     <WorkEffortInventoryAssign workEffortId="10014"
> inventoryItemId="10004" quantity="2"/>
>     <WorkEffortInventoryAssign workEffortId="10014"
> inventoryItemId="10005" quantity="2"/>
>     <WorkEffortInventoryAssign workEffortId="10014"
> inventoryItemId="10006" quantity="2"/>
> </entity-engine-xml>
> *7.2 Add Finished Product to Inventory in XML*
>
> <entity-engine-xml>
>     <WorkEffortInventoryProduced workEffortId="10010"
> inventoryItemId="10004"/>
>
>     <WorkEffortInventoryProduced workEffortId="10013"
> inventoryItemId="10007"/>
> </entity-engine-xml>
>
>
>
> [image: View page Icon]
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037431&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=view>
>  View
> page
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037431&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=view>
> •
> [image: Add comment Icon]
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037431&showComments=true&showCommentArea=true&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=comment#addcomment>
>  Add
> comment
> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037431&showComments=true&showCommentArea=true&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=comment#addcomment>
> •
> [image: Like Icon]
> <https://cwiki.apache.org/confluence/plugins/likes/like.action?contentId=340037431&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=like&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDg3NGUzNmExZWIwMTRlMzZhMjlkZjEyYTJlIiwicXNoIjoiYTVmNTJkNWYwYjZjOGE1NDUwM2VjM2ZiMWY3NDQ0ZWY4MGJlNWFjMGMyMGNiYTc3YTRlYWExMzAxZjViNTBiNCIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE3NDExNzQzMTIsImlhdCI6MTc0MDU2OTUxMn0.ocFgeMfe7lcrlS2VV-JYhpzJbUVvoz3_KoQ_Up_kAfo>
> Like
> <https://cwiki.apache.org/confluence/plugins/likes/like.action?contentId=340037431&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=like&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDg3NGUzNmExZWIwMTRlMzZhMjlkZjEyYTJlIiwicXNoIjoiYTVmNTJkNWYwYjZjOGE1NDUwM2VjM2ZiMWY3NDQ0ZWY4MGJlNWFjMGMyMGNiYTc3YTRlYWExMzAxZjViNTBiNCIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE3NDExNzQzMTIsImlhdCI6MTc0MDU2OTUxMn0.ocFgeMfe7lcrlS2VV-JYhpzJbUVvoz3_KoQ_Up_kAfo>
>
> Stop watching space
> <https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=OFBIZ&src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=stop-watching&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDg3NGUzNmExZWIwMTRlMzZhMjlkZjEyYTJlIiwicXNoIjoiOTdhYTcyYWMyMGI2OGNhZjRiYzk5NzkyOWNiY2NhMDM3OWE4NGUyNmQ1YWJmNzU5NWY4MzAwMDEzNWY5MTlkNiIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE3NDExNzQzMTIsImlhdCI6MTc0MDU2OTUxMn0.D1am8TjqbSI6U8rF25gI3KMTMTvqroFwhgDdQvDN4GI>
> •
> Manage notifications
> <https://cwiki.apache.org/confluence/users/editmyemailsettings.action?src=mail&src.mail.product=confluence-server&src.mail.timestamp=1740569512444&src.mail.notification=com.atlassian.confluence.plugins.confluence-content-notifications-plugin%3Apage-created-notification&src.mail.recipient=8aa980874e36a1eb014e36a29df12a2e&src.mail.action=manage>
> [image: Confluence logo big]
> This message was sent by Atlassian Confluence 7.19.30
>
>

Reply via email to