GRTO (Goods Receipt Transfer Order)
The Goods Receipt (GR) process is a critical step in the Integma Inbound workflow, marking the transition of goods from the logistics domain into the production area. This process is initiated when goods arrive at the production facility and are formally received into inventory through a Goods Receipt transaction in SAP. The GR process is closely linked to the Transfer Order (TO) creation, which is triggered by the arrival of goods and the subsequent need to move them into the production area.
Data Structure Description
The GR process expects a goods receipt warehouse task containing the delivery information, with multiple possible delivery positions and packaging units.
Simplified overview of Goods Receipt Warehouse Task data structure
-
Goods Receipt Warehouse Task
-
Delivery
-
Delivery Position
-
Delivery Note Position (delivery position of packaging unit)
-
Material Number ID
-
Quantity
-
Quantity Unit
-
-
Packaging Unit
-
Label Fields
-
Sub Packaging References (references to any sub-packaging units)
-
Content (1: Material, 3: Sub Packaging Unit)
-
-
Delivery Position
-
…
-
-
Packaging Unit
-
…
-
-
-
Business Logic Description
The GR process involves several key steps and business rules that ensure the accurate and efficient handling of goods as they are received into the production area. This includes:
Process
-
Verify incoming Goods Receipt object structure:
Upon arrival, goods receipt structures are inspected and verified to ensure accuracy and completeness.-
Delivery and Delivery Positions are checked if mandatory fields are filled.
-
Check for duplicated labels within the incoming Delivery to ensure each label is unique and not repeated.
-
Check mandatory fields of Labels within Packaging Unit.
-
Check if there is any Packaging Unit whose Delivery Position does not exist.
-
Check if there are any Sub Packaging References that are containing Identifiers which are not existing on the received object’s Packaging Units.
-
-
Convert Goods Receipt Items to internal material management objects: Labels:
The verified items are then converted into internal material management objects within the Material Management system, enabling better tracking and management of the received goods. -
Manage Labels:
-
For new labels (Create Flow): Labels from the incoming goods receipt are created as new entries in the system.
-
For existing labels (Update Flow): Already existing labels are updated to reflect the latest information and status. This can only be done as long as the label’s state is not in production. Expiration dates can always be updated.
-
-
Create Event for Goods Receipt flow:
An event object is created and saved (or updated) within the system to track the progress and status of the Goods Receipt process. -
Return result information:
The system returns relevant information about the Goods Receipt process, including any errors or warnings encountered during the flow.
Validations
Location | Field | Validation |
---|---|---|
Delivery Header |
Plant |
Required |
Delivery Header |
Timestamp |
Required |
Delivery Header |
LanguageISOCode |
Required |
Delivery Header |
Packaging Units |
Required and not empty |
Related Inbound Delivery |
Vendor Number |
Required and not empty |
Related Inbound Delivery |
External Delivery Identifier |
Required and not empty |
Related Inbound Delivery |
Delivery Identifier |
Required and not empty |
Related Inbound Delivery |
Delivery Date |
Required |
Delivery Position |
Delivery Position |
Required and not empty |
Material of Delivery Position |
Material Number |
Required and not empty |
Material of Delivery Position |
Quantity |
Required |
Material of Delivery Position |
Quantity Unit |
Required |
Label |
Identifier |
Must not be duplicate |
Label |
Identifier |
Required |
Label |
Label Fields |
Not empty |
Label |
Quantity |
Not empty and Unit can’t be empty if Amount is 0. |
Label |
Packaging Unit Content |
Required |
Label |
Delivery Note Position |
Required if Packaging Unit Content is Material |
Label |
Sub Packaging references |
Required and not empty if Packaging Unit Content is Sub Packaging References |
Label Fields |
Is Smallest Packaging Unit |
Required |
Label Fields |
Customer Order Position |
If provided, must be a number shorter than the defined maximum (10 digits). |
Label |
General |
Label must not have multiple parents |
Label |
General |
Labels should not have circular references between Packaging Units and Sub Packaging Units. |
Fallback behaviors
Field | Fallback |
---|---|
Identifier missing in label fields |
Packaging Unit’s Identifier is used |
Quantity amount is missing |
Quantity amount is entered as 0 |
Package Identifier is missing from label fields |
The label’s identifier is entered as the package identifier |
Possible warnings
Warning Code | Warning Description |
---|---|
2001 |
Blocking rules check failed |
2002 |
Expiration date check failed |
2003 |
Quantity check failed |
Possible errors
Error Code | Error Description |
---|---|
3000 |
Duplicate material ID detected |
3010 |
Pre-validation failed |
3011 |
Required field is missing during pre-validation |
3012 |
Incorrect delivery note references in GTL Label |
3013 |
Subpackaging references link to a non-existing packaging unit |
3014 |
Subpackaging references have multiple parent units |
3015 |
Circular reference detected in subpackaging |
3016 |
Duplicate identifier found in message |
3017 |
Identifier already exists in the database |
3018 |
Identifier does not exist in the database |
3019 |
More batches than allowed |
3020 |
Operation prohibited by label state |
3021 |
Field value differs from parent label |
3024 |
Label field length is not acceptable |
3030 |
Data annotation validation failed |
3040 |
Parent object has a problem |
3050 |
Object conversion failed |
3051 |
Label cannot be parsed during object conversion |