Sorry for the typo, still not in the best shape :)

Le 27/02/2025 à 10:25, Jacopo Cappellato a écrit :
:-)

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

    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>



    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>
        •

    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>
        •

    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>


        
    Confluence logo big

    This message was sent by Atlassian Confluence 7.19.30

Reply via email to