OITT table in SAP Business One (Bill of Materials (product tree header))
OITT is the SAP Business One product tree (bill of materials) header table: one row per parent item that has a BOM, with the BOM type, the number of units the BOM makes, the price list and the warehouse for the finished product. The components are in ITT1, joined on ITT1.Father = OITT.Code.
OITT key fields
| Field | What it holds |
|---|---|
Code | Parent item. Joins to OITM.ItemCode and to ITT1.Father. |
Name | Product description. |
TreeType | BOM type: A = assembly, S = sales, P = production, T = template. |
Qauntity | Number of units the BOM produces (the column name is spelled this way). |
PriceList | Price list. Joins to OPLN.ListNum. |
ToWH | Warehouse for the finished product. |
PlAvgSize | Planned average production size. |
HideComp | Y = hide components in printing. |
Project / OcrCode | Project code and distribution rule. |
CreateDate / UpdateDate | Creation and update dates. |
How OITT relates to other tables
OITT is the header and ITT1 holds one row per component, joined on ITT1.Father = OITT.Code. The parent item is also in OITM (OITM.TreeType shows which items have a BOM). Production orders for the parent item are in OWOR.
Common joins
OITT T0 INNER JOIN ITT1 T1 ON T1.Father = T0.Code (components)OITT T0 INNER JOIN OITM T2 ON T2.ItemCode = T0.Code (parent item)OITT T0 LEFT JOIN OPLN T3 ON T3.ListNum = T0.PriceList (price list)
When you use the OITT table
Use OITT to list all BOMs by type, to find parent items whose BOM has no components, and as the start of component, costing and where-used reports.
Example query: bills of materials with type and number of components
SQL Server
SELECT T0.Code AS ParentItem, T2.ItemName, T0.TreeType, T0.Qauntity AS UnitsMade, COUNT(T1.ChildNum) AS Components FROM OITT T0 INNER JOIN OITM T2 ON T2.ItemCode = T0.Code LEFT JOIN ITT1 T1 ON T1.Father = T0.Code GROUP BY T0.Code, T2.ItemName, T0.TreeType, T0.Qauntity ORDER BY T0.Code
SAP HANA (column names in double quotes)
SELECT T0."Code" AS "ParentItem", T2."ItemName", T0."TreeType", T0."Qauntity" AS "UnitsMade", COUNT(T1."ChildNum") AS "Components" FROM OITT T0 INNER JOIN OITM T2 ON T2."ItemCode" = T0."Code" LEFT JOIN ITT1 T1 ON T1."Father" = T0."Code" GROUP BY T0."Code", T2."ItemName", T0."TreeType", T0."Qauntity" ORDER BY T0."Code"
Paste either version in Tools → Queries → Query Generator. Need the other dialect for your own query? Use the SQL to HANA converter.
Common pitfall: The quantity column is spelled Qauntity
In OITT the number of units is the column Qauntity, not Quantity, so a query with OITT.Quantity fails. ITT1 uses the normal spelling Quantity. Divide component quantities by OITT.Qauntity when the BOM makes more than one unit. See ITT1 table (BOM components).
Questions about the OITT table
Where is the bill of materials stored in SAP Business One?
The header is in OITT (one row per parent item) and the components are in ITT1, joined on ITT1.Father = OITT.Code.
What do the OITT TreeType values mean?
A = assembly, S = sales, P = production, T = template.
Why does OITT.Quantity not exist?
The column is spelled Qauntity in OITT. ITT1 has Quantity.
Related tables
ITT1 (Bill of Materials (components)) · OITM (Items (item master data)) · OWOR (Production Order (header)) · search all SAP Business One tables
Sources: SAP Business One documentation and SDK (DI API database tables reference), SAP Help Portal.
Ready to get started?
Tell us what you need. You get a clear technical answer, a fixed scope and a price, usually within 24 hours.
