IGN1 table in SAP Business One (Goods Receipt (rows))
IGN1 is the SAP Business One table that stores the rows of a goods receipt: one row per item added to stock, with warehouse, quantity, price, offset account and the base document. It joins to the header OIGN on DocEntry; rows from a production order have BaseType 202.
IGN1 key fields
| Field | What it holds |
|---|---|
DocEntry | Header key. Joins to OIGN.DocEntry. |
LineNum | Row number. |
ItemCode | Item. Joins to OITM.ItemCode. |
Dscription | Item description. |
Quantity | Quantity received. |
WhsCode | Warehouse. Joins to OWHS.WhsCode. |
Price | Price of the row. |
LineTotal | Row total. |
AcctCode | Account code of the row. Joins to OACT.AcctCode. |
BaseType | Base document type: 202 = production order, 60 = goods issue. |
BaseEntry / BaseLine | Base document key and row. |
OcrCode / Project | Distribution rule and project code. |
How IGN1 relates to other tables
IGN1 rows belong to one OIGN header (DocEntry). BaseType and BaseEntry point to the source: a production order (202, OWOR) or a goods issue (60, OIGE). TargetType 67 means the row was copied on to an inventory transfer.
Common joins
IGN1 T0 INNER JOIN OIGN T1 ON T1.DocEntry = T0.DocEntry (header)IGN1 T0 LEFT JOIN OWOR T2 ON T2.DocEntry = T0.BaseEntry AND T0.BaseType = 202 (production order)IGN1 T0 INNER JOIN OITM T3 ON T3.ItemCode = T0.ItemCode (item master)
When you use the IGN1 table
Use IGN1 to total finished goods received from production per item, to value manual receipts by account and to trace a receipt row back to its production order.
Example query: finished goods received from production orders this month
SQL Server
SELECT T0.ItemCode, T3.ItemName, T0.WhsCode, SUM(T0.Quantity) AS QtyReceived, COUNT(DISTINCT T0.BaseEntry) AS ProductionOrders FROM IGN1 T0 INNER JOIN OIGN T1 ON T1.DocEntry = T0.DocEntry INNER JOIN OITM T3 ON T3.ItemCode = T0.ItemCode WHERE T0.BaseType = 202 AND T1.CANCELED = 'N' AND YEAR(T1.DocDate) = YEAR(GETDATE()) AND MONTH(T1.DocDate) = MONTH(GETDATE()) GROUP BY T0.ItemCode, T3.ItemName, T0.WhsCode ORDER BY QtyReceived DESC
SAP HANA (column names in double quotes)
SELECT T0."ItemCode", T3."ItemName", T0."WhsCode", SUM(T0."Quantity") AS "QtyReceived", COUNT(DISTINCT T0."BaseEntry") AS "ProductionOrders" FROM IGN1 T0 INNER JOIN OIGN T1 ON T1."DocEntry" = T0."DocEntry" INNER JOIN OITM T3 ON T3."ItemCode" = T0."ItemCode" WHERE T0."BaseType" = 202 AND T1."CANCELED" = 'N' AND YEAR(T1."DocDate") = YEAR(CURRENT_TIMESTAMP) AND MONTH(T1."DocDate") = MONTH(CURRENT_TIMESTAMP) GROUP BY T0."ItemCode", T3."ItemName", T0."WhsCode" ORDER BY "QtyReceived" 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: Joining BaseEntry to OWOR without BaseType
BaseEntry is just a DocEntry; a goods receipt row can also come from a goods issue. Add BaseType = 202 to the join to OWOR, or the query links rows to unrelated production orders. See OWOR table (production order).
Ready-made queries that use IGN1
- Inventory value by warehouse: Stock quantity multiplied by the item average cost, totalled per warehouse.
Questions about the IGN1 table
How do I link IGN1 to a production order?
IGN1.BaseType = 202 and IGN1.BaseEntry = OWOR.DocEntry.
Which account does a goods receipt row use?
IGN1.AcctCode, which points to OACT.AcctCode.
Is IGN1 the same as PDN1?
No. IGN1 holds rows of the inventory goods receipt (59); PDN1 holds rows of the goods receipt PO (20).
Related tables
OIGN (Goods Receipt (header)) · OWOR (Production Order (header)) · OINM (Warehouse Journal (inventory audit)) · 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.
