OIGE table in SAP Business One (Goods Issue (header))
OIGE is the SAP Business One table that stores the header of every goods issue, the inventory document that takes stock out without a sale, for example scrap, internal use or components issued to production. Its object type is 60. The rows are in IGE1, joined on DocEntry.
OIGE key fields
| Field | What it holds |
|---|---|
DocEntry | Internal key. Joins to IGE1.DocEntry. |
DocNum | Document number users see. |
DocDate | Posting date. |
CANCELED | Y = cancelled, N = not cancelled. |
DocStatus | O = open, C = closed. |
DocTotal | Document total. |
Comments / JrnlMemo | Remarks and journal remarks. |
TransId | Journal entry created by the issue. Joins to OJDT.TransId. |
UserSign | User who created it. Joins to OUSR. |
ObjType | Object type, 60 = goods issue. |
How OIGE relates to other tables
OIGE is the header and IGE1 holds one row per item issued, with WhsCode, Quantity and AcctCode. Rows issued to a production order have IGE1.BaseType = 202 and BaseEntry = OWOR.DocEntry. Each posted row writes a warehouse journal row in OINM and lowers stock in OITW.
Common joins
OIGE T0 INNER JOIN IGE1 T1 ON T1.DocEntry = T0.DocEntry (rows)IGE1 T1 LEFT JOIN OWOR T2 ON T2.DocEntry = T1.BaseEntry AND T1.BaseType = 202 (production order)OIGE T0 LEFT JOIN OJDT T3 ON T3.TransId = T0.TransId (journal entry)
When you use the OIGE table
Use OIGE with IGE1 to report scrap and internal consumption per account, to separate production issues from other issues, and to audit who took stock out of which warehouse.
Example query: goods issues of the last 30 days, not linked to production
SQL Server
SELECT T0.DocNum, T0.DocDate, T1.ItemCode, T1.WhsCode, T1.Quantity, T1.AcctCode, T0.Comments FROM OIGE T0 INNER JOIN IGE1 T1 ON T1.DocEntry = T0.DocEntry WHERE T0.CANCELED = 'N' AND T1.BaseType <> 202 AND DATEDIFF(day, T0.DocDate, GETDATE()) <= 30 ORDER BY T0.DocDate DESC
SAP HANA (column names in double quotes)
SELECT T0."DocNum", T0."DocDate", T1."ItemCode", T1."WhsCode", T1."Quantity", T1."AcctCode", T0."Comments" FROM OIGE T0 INNER JOIN IGE1 T1 ON T1."DocEntry" = T0."DocEntry" WHERE T0."CANCELED" = 'N' AND T1."BaseType" <> 202 AND DAYS_BETWEEN(T0."DocDate", CURRENT_TIMESTAMP) <= 30 ORDER BY T0."DocDate" DESC
Paste either version in Tools → Queries → Query Generator. Need the other dialect for your own query? Use the SQL to HANA converter.
Common pitfall: Counting production issues as scrap
Components issued to production orders are goods issues too (IGE1.BaseType = 202). Filter BaseType when you report scrap or internal use, and group by AcctCode, since the offset account tells you why stock left. See OINM table (warehouse journal).
Ready-made queries that use OIGE
- Stock by warehouse: On hand, committed, ordered and available quantity per item and warehouse.
- Slow-moving items (no sales in 90 days): Items with stock on hand that have not been invoiced in the last 90 days.
Questions about the OIGE table
What is the object type of a goods issue in SAP B1?
60. It is the default of OIGE.ObjType and IGE1.ObjType.
How do I find goods issues for production?
Filter IGE1.BaseType = 202; IGE1.BaseEntry is the production order DocEntry in OWOR.
Is a goods issue the same as a delivery?
No. OIGE is the inventory goods issue (object 60) without a sale; a delivery to a customer is ODLN (object 15).
Related tables
IGE1 (Goods Issue (rows)) · OIGN (Goods Receipt (header)) · OINM (Warehouse Journal (inventory audit)) · OITW (Item stock per warehouse) · 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.
