Open Source ERP Openbravo

インストール、動作確認

Acceptance Testing
2.2 Administration master data 2.3 Accounting 2.5 Procurement management 仕入れ 2.6 Sales Management 2.7 Production management
Installation and setup of Eclipse IDE

6/11/2009

M_Transaction / 在庫状況


Stck Report













-- SQL --
SELECT
M_PRODUCT_CATEGORY.NAME AS CATEGORYNAME,
M_PRODUCT.VALUE||'-'||M_PRODUCT.NAME AS NAME,
SUM(MOVEMENTQTY) AS MOVEMENTQTY,
M_LOCATOR.X,
M_LOCATOR.Y,
AD_COLUMN_IDENTIFIER('M_WAREHOUSE', to_char(M_LOCATOR.M_WAREHOUSE_ID), :1) AS WAREHOUSE,
M_LOCATOR.Z, C1.NAME AS UOMMOVEMENTQTY,
M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID,
M_ATTRIBUTESETINSTANCE.DESCRIPTION,
(CASE WHEN M_TRANSACTION.M_PRODUCT_UOM_ID IS NULL THEN (CASE M_PRODUCT.WEIGHT*SUM(M_TRANSACTION.MOVEMENTQTY)
WHEN 0 THEN NULL ELSE M_PRODUCT.WEIGHT*SUM(M_TRANSACTION.MOVEMENTQTY) END) ELSE SUM(M_TRANSACTION.QUANTITYORDER) END ) AS WEIGHT,
(CASE WHEN M_TRANSACTION.M_PRODUCT_UOM_ID IS NULL THEN (CASE WHEN M_PRODUCT.WEIGHT = 0 THEN '' WHEN M_PRODUCT.WEIGHT IS NULL THEN '' ELSE 'Kgs' END) ELSE TO_CHAR(C2.NAME) END) AS UOMWEIGHT,
'' as id
FROM M_PRODUCT
left join M_PRODUCT_CATEGORY on M_PRODUCT.M_PRODUCT_CATEGORY_ID = M_PRODUCT_CATEGORY.M_PRODUCT_CATEGORY_ID,
M_PRODUCT_UOM
right join M_TRANSACTION on M_TRANSACTION.M_PRODUCT_UOM_ID = M_PRODUCT_UOM.M_PRODUCT_UOM_ID
left join C_UOM C2 on M_PRODUCT_UOM.C_UOM_ID = C2.C_UOM_ID,
M_LOCATOR, C_UOM C1,
M_ATTRIBUTESETINSTANCE
WHERE M_TRANSACTION.M_PRODUCT_ID = M_PRODUCT.M_PRODUCT_ID
AND M_TRANSACTION.M_ATTRIBUTESETINSTANCE_ID = M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID
AND M_TRANSACTION.M_LOCATOR_ID = M_LOCATOR.M_LOCATOR_ID
AND M_TRANSACTION.C_UOM_ID = C1.C_UOM_ID
AND M_TRANSACTION.AD_CLIENT_ID IN (0,1000000) AND M_TRANSACTION.AD_ORG_ID IN (0,1000000) AND 1=1
AND M_TRANSACTION.MOVEMENTDATE <> 0
ORDER BY M_PRODUCT_CATEGORY.NAME,M_PRODUCT.VALUE, M_PRODUCT.NAME, M_ATTRIBUTESETINSTANCE.DESCRIPTION,M_LOCATOR.X, M_LOCATOR.Y,
M_LOCATOR.ZSELECT M_PRODUCT_CATEGORY.NAME AS CATEGORYNAME, M_PRODUCT.VALUE||'-'||M_PRODUCT.NAME AS NAME,
SUM(MOVEMENTQTY) AS MOVEMENTQTY,
M_LOCATOR.X, M_LOCATOR.Y,
AD_COLUMN_IDENTIFIER('M_WAREHOUSE', to_char(M_LOCATOR.M_WAREHOUSE_ID), :1) AS WAREHOUSE,
M_LOCATOR.Z, C1.NAME AS UOMMOVEMENTQTY,
M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID,
M_ATTRIBUTESETINSTANCE.DESCRIPTION,
(CASE WHEN M_TRANSACTION.M_PRODUCT_UOM_ID IS NULL THEN (CASE M_PRODUCT.WEIGHT*SUM(M_TRANSACTION.MOVEMENTQTY)
WHEN 0 THEN NULL ELSE M_PRODUCT.WEIGHT*SUM(M_TRANSACTION.MOVEMENTQTY) END) ELSE SUM(M_TRANSACTION.QUANTITYORDER) END) AS WEIGHT,
(CASE WHEN M_TRANSACTION.M_PRODUCT_UOM_ID IS NULL THEN (CASE WHEN M_PRODUCT.WEIGHT = 0 THEN '' WHEN M_PRODUCT.WEIGHT IS NULL THEN '' ELSE 'Kgs' END) ELSE TO_CHAR(C2.NAME) END) AS UOMWEIGHT, '' as id
FROM M_PRODUCT
left join M_PRODUCT_CATEGORY on M_PRODUCT.M_PRODUCT_CATEGORY_ID = M_PRODUCT_CATEGORY.M_PRODUCT_CATEGORY_ID,
M_PRODUCT_UOM
right join M_TRANSACTION on M_TRANSACTION.M_PRODUCT_UOM_ID = M_PRODUCT_UOM.M_PRODUCT_UOM_ID
left join C_UOM C2 on M_PRODUCT_UOM.C_UOM_ID = C2.C_UOM_ID,
M_LOCATOR, C_UOM C1,
M_ATTRIBUTESETINSTANCE
WHERE M_TRANSACTION.M_PRODUCT_ID = M_PRODUCT.M_PRODUCT_ID
AND M_TRANSACTION.M_ATTRIBUTESETINSTANCE_ID = M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID
AND M_TRANSACTION.M_LOCATOR_ID = M_LOCATOR.M_LOCATOR_ID
AND M_TRANSACTION.C_UOM_ID = C1.C_UOM_ID
AND M_TRANSACTION.AD_CLIENT_ID IN (0,1000000) AND M_TRANSACTION.AD_ORG_ID IN (0,1000000) AND 1=1
AND M_TRANSACTION.MOVEMENTDATE <> 0
ORDER BY M_PRODUCT_CATEGORY.NAME,M_PRODUCT.VALUE, M_PRODUCT.NAME, M_ATTRIBUTESETINSTANCE.DESCRIPTION,M_LOCATOR.X, M_LOCATOR.Y, M_LOCATOR.Z

6/10/2009

How-to MRP / Create Requisitions and Work Requirements

Create Requisitions and Work Requirements

Once the results are checked it is possible to Create the Material Requirements (or Requisitions) and the Work Requirement with the correspondent buttons of the header.














































Purchasing Plan

http://wiki.openbravo.com/wiki/Functional_Documentation/Procurement_Management

Requisition

Functionality available in version 2.40

Users can initiate the procurement flow by entering requisitions rather than purchase orders. This enables a clear separation of roles and duties between:

  • The Requestor who expresses a demand for goods or services through a requisition.
  • The Purchasing Specialist who selects the most appropriate supplier based on the organization strategic procurement objectives and generates the purchase order, either manually or automatically based on rules.



Create Purchase Orders


How-to MRP / After processing the plan

Manufacturing Plan

Create a new Manufacturing Plan.

  • Name: Manufacturing Plan 1

  • Document Date: 2008-06-15

  • Time Horizon: 60

  • Lead Time: 1

  • Planner: Planner 1

After processing the plan 10 lines are inserted in the Lines tab.

実行後、Lines に10行データが作成されている。

We can see how it has considered the Sales Order,

Salse Order が考慮されているのがわかるが、

but not the Work Requirement because its Launch WR Date (2008-08-05) is later than the 30 days limit set in the Planning Method.

Work Requirement は実行日が Plan で設定したの30日以降なので考慮されていない。

Image:ManufacturingPlanResult.png


On the Document Date we can see the 2 lines related to the stock of the products that are being planned,

Document Date: 2008-06-15 に製造品の在庫設定により2レコードのデータが作成されているのがわかる

in this case only the Usb Cable, as the Raw Materials are purchased.

今回の場合 Usb Cable のみ、なので原材料関係だけが購入される。

If the USB Cable had an intermediate product that was produced in a different Process plan it would have appeared here with its own Work Requirement suggestion if necessary.

仮に USB Cable が仕掛品をもっていた場合、別の Process Plan がその Work Requirement suggestion ともに必要に応じて表示される。

The remaining lines are related to the sales order.

残りの行は Sales order 関連のものである。

As the order is promised for July 7th and the Lead Time is 1 the MRP suggest a Work Requirement that would finish on July 6th.

7月7日が出荷予定でリードタイムが1日なのでMRPは7月6日に製造完了するように指示している。

This Work Requirement is of 600 units because it is considering also the Minimum stock of 100 units.

今回の Work Requirement の数 600 unit には最小在庫数100が考慮されている。

This Work Requirement consumes some raw materials at June 30th that is when is expected to start the production.

今回の製造で原材料が6月30日に消費されるが、これは製造開始時に考慮されている。

This leads to material requirements suggestions for the day before.

原材料のリードタイムについては事前に指示。

In the requirements in the Planned Order date is also calculated when should be ordered this products to arrive on time.

Planned Order Date も製造品の order に従い算出される。

6/09/2009

MRP Run



ようやく MRP を実行することができた。

以下のSQLの検索結果がえら得るように画面を操作したが、一度動作すると、M_Product_ID = 100000 関連のデータを元に戻しても問題なく動作する。

















SELECT
P.M_PRODUCT_ID,
M_PRODUCT_CATEGORY_ID,
COALESCE(SD.QTYONHAND,0) AS QTYONHAND,
COALESCE(PO.STOCKMIN, P.STOCKMIN, 0) AS STOCKMIN,
COALESCE(PO.MRP_PLANNINGMETHOD_ID, P.MRP_PLANNINGMETHOD_ID) AS MRP_PLANNINGMETHOD_ID
FROM M_PRODUCT P
LEFT JOIN M_PRODUCT_ORG PO ON P.M_PRODUCT_ID = PO.M_PRODUCT_ID
AND PO.AD_ORG_ID = 1000000
LEFT JOIN ( SELECT M_PRODUCT_ID, SUM(QTYONHAND) AS QTYONHAND
FROM M_STORAGE_DETAIL GROUP BY M_PRODUCT_ID) SD ON P.M_PRODUCT_ID = SD.M_PRODUCT_ID
WHERE (1000014 IS NULL OR P.M_PRODUCT_ID = 1000000 )
AND (1000004 IS NULL OR P.M_PRODUCT_CATEGORY_ID = 1000004 )
AND COALESCE(PO.MRP_PLANNER_ID, P.MRP_PLANNER_ID) = 1000000
/


































6/08/2009

F_Doc/Process Manufacturing Plan Logic

Process Manufacturing Plan Logic

The manufacturing plan process is structured in three different steps.

製造計画は3つのステップからなる。

Before starting these steps the manufacturing plan lines that are not fixed are deleted, normally these lines are the proposals created in previous execution of the process.

ステップ開始時、fix していない製造計画詳細(MRP_Run_Productionlines)のデータは削除される。

And all the remaining lines are set as not exploded except the lines of products that are manufactured in a work requirement in progress as the lines of the products that are consumed in that work requirements will already exist.

Initialization

Once the lines are prepared begins the process, the first step is the initialization.

まず初期化。

The initialization consists on including in the process all the transactions expected to happen during the defined time period and that fulfills the planning method of each product.

期間をチェック

In this step are considered all the products that fulfills the filters set in the manufacturing plan.


To know if a product has been initialized or not, the existence of inserted stock lines is checked. The stock lines are always included. For the purchase plan process are considered the purchase and sales orders, the sales forecasts and work requirements in progress.

Explode product tree

In the second step is exploded the tree of products that are manufactured. The explosion is performed in a recursive manner while not exploded lines exist. On each iteration all not exploded lines are considered. If the quantity of the line is negative it is a demand so a new line is inserted with opposite quantity. If the product of the line is purchased the new line is a Material Requirement proposal with planned and order date a number of days before defined by the lead time, the line is inserted as exploded as the purchases are managed in the purchasing plan. When the product is not purchased the new line is a Work Requirement proposal. The planned date is calculated using the lead time as the previous case, the order date that states the beginning of the needed production is calculated based on the capacity, minimum delay and needed quantity. When the quantity of the line is positive it is assumed that the line is of a product that is needed to produce and is not exploded. In this case is necessary to insert a line for each product related with in the production, all the raw materials and also the secondary products that can be produced in the default process plan of the product. The new lines of raw materials are inserted as not exploded and their planned date is the calculated date in which the production should start. If the product of the line that is being exploded is used as raw material to produce other products those products are initialized to be also considered in the manufacturing plan. Finally the line is set as exploded. When all the lines are exploded is checked if there still are not exploded lines to repeat the loop until all lines are exploded.

Process plan

Lastly each product is planned calculating the necessary quantities and dates. This section is still to be completed.

Create Work Requirements Logic

The work Requirement creation process creates a work requirement header for each proposal generated in the Manufacturing Plan process. The ending date is the need by date calculated in the proposal and the start date is also calculated in the proposal based on the capacity and minimum delay defined for the product. The creation date is defaulted to the current date.
Conversion rate and process unit are not filled by this process.

Work Requirements are created without processing them in order to allow a final review before initiating production.

Each proposal is then linked with the created work requirement for traceability purposes.

Create Material Requirements Logic

This section is still to be completed.

F_Doc/Manufacturing Plan

Manufacturing Plan

Openbravo's manufacturing plan consists in creating work requirements and material requirements based on product demand. This process explodes all the product tree so all related products are planned. The source of material demand can be sales orders and sales forecasts. During the planning process it also takes into account current stock, minimum stocks, unreceived purchase orders and open work requirements.

When processing the plan, the products to be planned can be selected using several filters:

  • Product
  • Product category: all products in the category
  • Planner: all the products associated with the planner
  • Customer: all the products purchased by the customers
  • Partner group: all the products purchased by the customers of the group.

Please notice that this filter is only used at the beginning of the process but product selection grows as the product tree is exploded.
For example, in the following image, all the products will be planned when at least one of them fulfills the filter. When product C is planned it is necessary to plan the demand of its intermediate product F. The demand for F is driven by C but also by product B, which is then also planned. Similarly, to plan F it is necessary to also plan the raw materials product I and product J.
Continuing with this explosion process, we see that all the products in the tree need to be planned.

Image:Product-Tree.png

When the product tree is exploded, the planning process generates proposal lines that are linked to each other with a parent-child relationship.
Every product demand has its own work requirement proposal or material requirement proposal. Each work requirement proposal has different child lines, the main one is to manufacture the correspondent material requirement, and the children are for the products that are used and that might be created in the work requirement.

After the Manufacturing Planning process, it is possible to manually adjust the work requirement or material requirement recommended by MRP by editing quantities and dates.
When editing a work requirement, you only need to change the main line; you can then recalculate the dates and quantities of all the children lines by pressing the Recalculate button.

To put the manufacturing plan into execution, it is necessary to create the work requirement and material requirements from all the proposals using the correspondent processes.
The created Work Requirements only have the header so it is necessary to process it to create the operations and products. This is to allow a final review before initiating production.

Image:ManufacturingPlan-Overview.png

6/07/2009

Fl_Doc/Configuring MRP in Openbravo

Configuring MRP in Openbravo

For the planning processes to work correctly, you have to properly configure the products and the vendors.

Planning Process には Products と Vendors の設定が必須。

Before starting it is needed to create the necessary planning methods and planners as they are required in the product configuration.

Planning 関連の設定の前提として、Procudts の設定が必要。

It is very important to pay attention to the organizations where the products and vendors are being configured.

Products と Vendors の設定には organizations の設定が重要であるので注意すること。

Product Configuration

The products have to be configured for each organization that performs manufacturing or purchase planning. You can do this in the Product definition window, in the Org Specific tab. The relevant attributes are:

  • Default Process Plan: required for manufactured products.
  • Planning Method: the planning method to use.
  • Planner: the planner responsible for the product in the organization.
  • Capacity: the maximum daily capacity for the product, to purchase or to produce. If the demand exceeds the capacity, the proposal will extend beyond one day.
  • Min. Quantity: the minimum quantity that can be purchased or to produced.
  • Qty. Type: defines how the quantity of the proposals is calculated.
    • Exact, each proposal is for this exact quantity and MRP recommends as many purchase or work requirements as necessary to fulfill the demand. For example, if this value is 10 and the demand is for 55, 6 proposals for 10 each are recommended.
    • Multiple, the proposal quantity is a multiple of this quantity. For example, if this value is 10 and the demand is 55, one proposal for 60 is recommended.
    • If no type is defined the proposals are created with the needed quantity.
  • Minimum lead time: minimum lead time in days to complete the proposal. For example, if this value is 10 and a product is needed for October 30th, MRP suggests initiating purchasing or production on October 20th.
  • Safety stock: minimum stock level to maintain during the planning processes. For example, if this value is 50 and the quantity on hand is 100, for a demand of 60, MRP suggests to purchase or produce 10.

Vendor Configuration

Further, to process the purchase plan it is necessary to set at least one current vendor for the products. For each product and vendor, you can specify:

  • Minimum purchase quantity
  • Promised delivery time (in days)
  • Minimum order quantity
  • Quantity type
  • Capacity.

In the purchase plan process, if these data is not defined for the selected vendor, it is defaulted from the values specified at product and organization level.


Process Plan Configuration

The correct definition of a process plan is essential for the correct execution of MRP as the process plans is needed to explode the product demand.

MRP, however, does not have any additional configuration options for process plans beyond what is required for Production Management.