| Status | Revision in progress |
|---|---|
| Owner | HALL-ext, Simon |
| Stakeholders | Sara Loddo / Yamna Hammacha / Tonya Van Aarde / Francine Palmer |
| Jira Request ID | ERP-1158 - Getting issue details... STATUS |
| Jira Development ID | ERP-1370 - Getting issue details... STATUS |
High- Level Specification
| Parameter | Value |
|---|---|
| Application System | S/4 HANA ROW & S/4 HANA China |
| Business Process Reference | 02.04.02.01. Manage Standard Sales Order |
Functional Overview
For the fulfilment of Intercompany Consignment Fill-Ups, the line item storage location must be determined in the consignment fill-up (and not the subsequent delivery as per SAP standard) and the supplying plant for the subsequent Intercompany Purchase Order (IC PO) must be defined. This is required to ensure:
The stock passes through the correct storage location as defined by the finance and tax requirements - in this case, a virtual customer specific location specifically for Intercompany Consignment Fill-Ups will be used.
The subsequent IC PO order can be correctly triggered with the correct source and receiving plants.
Therefore this enhancement should include:
- The creation of a custom table in SAP where the storage location & supplying plant can be defined by a combination of sales org, distribution channel, plant, ship-to party & material.
- The update of storage location in the Consignment Fill-Up.
- The triggering of an IC PO where relevant.
The set up of entries in the custom table will be the trigger for the consignment fill-up to be fulfilled using an intercompany PO. If no entries exist in this table then the consignment fill-up will be fulfilled using the standard non-intercompany process from the default plant and the storage location will be defined as standard.
The document type 'KB' will be used as the criteria to define a consignment fill-up - this is the only viable option as there are no other indicators that a sales document is for consignment purposes (such as document category). In theory the movement type associated with the schedule line type could be used - as this is unique for consignment - but this may slow down the speed of the update.
Scope and Objectives
The scope of this development will cover all consignment fill-ups created in SAP S/4 - both China and RoW instances.
Process Flow Diagram
This system enhancement is only applicable for the highlighted L5 step below:
The following SAP applications and transaction codes are in scope for this enhancement:
SAP Fiori
Manage Sales Orders – Version 2 (app ID - F3893)
Create Sales Orders
Change Sales Orders
SAP GUI
Sales Orders
VA02 – Change Sales Order
Assumptions
This development is designed for the expected consignment fill-up type of 'KB'. The consignment fill-up type 'KBB' should not be included here as the process may not be compliant in Brazil.
In the unlikely scenario that new consignment fill-up types added then these need to be added into the logic above.
This development is only intended for use within a single instance - either RoW or China. This will not apply for multi-instance solution - the expectation is that this process will be manual between Row <> China.
Dependencies
Definition of the relevant storage locations and plant assignment.
Set up of relevant purchasing organisations to sales organisations for intercompany processing.
ERP-1371 - Getting issue details... STATUS has been successfully implemented.
ERP-1301 - Getting issue details... STATUS has been successfully implemented.
Security, Integrity and Controls
Should follow the standard authorisation requirements of the sales order
Configuration Requirements
n/a
Language Requirements
No Specific language requirement - the solution should support the SYWAY language approach.
Special Requirements
n/a
Design Rationale
Functional Requirements within Consignment Fill-Up
- Define new custom fields to hold IC PO no and line item no:
| Document | Description | Table | Field Name | Location | Characteristics |
|---|---|---|---|---|---|
| Consignment Fill-Up | Source plant intercompany consignment | VBAP | Z_IC_CONS_SOURCE_PLANT | Additional Data B tab | 1 alpha character in length |
| Consignment Fill-Up | Intercompany PO delivery created | VBAP | Z_IC_PO_DELIVERY | Additional Data B tab | 1 alpha character in length |
| Consignment Fill-Up | Intercompany PO No | VBAP | Z_IC_PO_NO | Additional Data B tab | like field EBELN |
| Consignment Fill-Up | Intercompany PO Line Item No | VBAP | Z_IC_PO_LINE_ITEM | Additional Data B tab | like field EBELP |
WITHIN CONSIGNMENT-FILL UP - CREATE
1. Determine Storage location & update intercompany consignment relevance in lines items:
If sales document type (VBAK-AUART) = 'KB' then on the initial creation, if a new line item is added or if plant VBAP-WERKS is changed in the line item then read custom table in ERP-1371 and update sales order line item with the defined storage location (VBAP-LGORT).
- Determine and insert the storage location into VBAP-LGORT by using:
- Sales org (VBAK-VKORG)
- Distribution channel (VTWEG)
- Plant (VBAP-WERKS)
- Ship-to party (VBAP-KUNWE_ANA)
- Material (VBAP-MATNR)
- In custom field Z_IC_CONS_SOURCE_PLANT default 'Y'.
2. Trigger creation of IC PO on save of IC Consignment Fill-Up:
- If conditions below completed then create IC PO - 1 PO line item per consignment fill-up line item as per ERP-1301.
- Incompletion log shows header and item complete.
- Line item has intercompany source plant (Z_IC_CONS_SOURCE_PLANT = 'Y')
- If conditions below completed then create IC PO - 1 PO line item per consignment fill-up line item as per ERP-1301.
WITHIN CONSIGNMENT FILL-UP - CHANGE
- Determine if changes can be made to the IC Consignment Fill-Up
At line item, if Z_IC_PO_DELIVERY = 'Y' then no changes allowed to the line item - line should be greyed out and display only.
If Z_IC_PO_DELIVERY not equal to 'Y then check if changes made to either material quantity VBAP-KWMENG or customer required delivery date VBAK-VDATU.
- If changes made and incompletion log shows header and item complete update as below:
| Process | Follow-up Step | Outcome |
|---|---|---|
| New line item | Trigger ERP-1301 to create 1 line item in IC PO per consignment fill-up line item | Change existing IC PO |
| Update line item quantity | Trigger ERP-1301 to update quantity in IC PO per consignment fill-up line item | Change existing IC PO |
| Line item deleted or rejected | Trigger ERP-1301 to delete or reject IC PO line item. | Change existing IC PO |
| Update header required delivery date | Trigger ERP-1301 to update item delivery date in IC PO per consignment fill-up line item. | Change existing IC PO |
| Changes to any other fields | Pop-up message stating 'Only changes to quantity or requested delivery date will be updated in the Intercompany Purchase Order' | None |
Document Flow
Custom item level fields will be defined in both the consignment fill-up and IC PO. These fields will be used to maintain the document flow between the 2 documents. These fields are specified in ERP-1301.
1 consignment fill-up should always relate to 1 IC PO only. Any applicable updates to the material quantity & requested delivery date in the consignment fill-up should also update the original IC PO and not create a new IC PO. As per the logic above, if a delivery has been created for the IC PO then no updates should take place.
Rational for why standard SAP not sufficient
This enhancement is required because standard SAP only allows the determination of the storage location within the delivery document rather than the sales order. Additionally, no supplying plant can be defined in the standard master data for this process. Therefore, without this enhancement, each time an intercompany consignment fill-up is created, the user would have to manually add the storage location for all relevant line items. Furthermore, if consignment fill-ups created by EDI then the correct storage location would not be added without manaul intervention.
Proposed Technology to Use
Tech team to confirm - fall back plan is user exit - USEREXIT_SAVE_DOCUMENT_PREPARE within standard SAP S/4 program MV45AFZZ.
Data Source Considerations
n/a
Data Validation Considerations
n/a
Custom Tables
Required custom application table entries below using the attributes of the standard SAP object (e.g. VKORG, WERKS etc) as specified. These entries are maintained in FS ERP-1371 within the CSR business role.
| Table | Field | Description |
|---|---|---|
| Z ... | VKORG | Sales Org |
| Z ... | VTWEG | Distribution Channel |
| Z ... | WERKS | Selling Plant |
| Z ... | KUNNR | Ship-to Party |
| Z ... | MATNR | Material No |
| Z ... | LGORT | Storage Location |
| Z ... | WERKS | Supplying Plant |
Processing Logic
Volumetrics
Approx 600 consignment fill-ups per year across all GBUs will be intercompany consignment.
Performance Considerations
n/a
Error Handling
N/a as error handling only relevant for custom table set up in FS ERP-1370.Testing
How to Test
For the required business function, this test must be run in 2 x parts:
- Part 1 for the master data customer table defined in ERP-1371
- Part 2 for the functional requirement in the intercompany consignment fill-up as specified in this document.
Test Conditions and Expected Results - Storage location definition
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Set up a valid storage location determination in the custom table then create a consignment fill-up for intercompany then save. | On save of sales order the storage location defined in the custom table is added into the line item storage location field and the IC PO is created. |
| 2 | Create a consignment fill-up for a non-intercompany scenario then save. Set up a valid intercompany storage location determination in the custom table then change the plant in the fill-up to trigger the auto storage location determination and save. | On save of sales order the storage location defined in the custom table is added into the line item storage location field Pop-up message displayed. |
| 3 | Set up a valid storage location determination in the custom table then create a consignment fill-up for for the ship-to and material specified in the custom table but not the plant then save. | On save of the sales order, no storage location is determined. Pop-up message displayed. |
| 4 | For a saved IC consignment fill-up, add a new line item and save. | ERP-1301 invoked and new line added to IC PO. Pop-up message displayed. |
| 5 | Create a consignment fill-up for a non-intercompany scenario then save. | ERP-1301 not invoked and no IC PO created. Pop-up message displayed. |
| 6 | For a saved IC consignment fill-up, change the material quantity and save. | ERP-1301 invoked and material quantity changed in IC PO. Pop-up message displayed. |
| 7 | For a saved IC consignment fill-up, change the customer requested delivery date and save. | ERP-1301 invoked and delivery date changed in IC PO line item. Pop-up message displayed. |
| 8 | For a saved IC consignment fill-up, delete a line item and save. | ERP-1301 invoked and line item deleted in IC PO. Pop-up message displayed. |
| 9 | For a saved IC consignment fill-up, reject a line item and save. | ERP-1301 invoked and line item rejected in IC PO. Pop-up message displayed. |
| 10 | Create an IC Consignment Fill-up but data is incomplete | No IC PO created. |
| 11 | Change an IC Consignment Fill-up but data is incomplete | IC PO not updated. |
Test Considerations
ERP-371 must be implemented before ERP-1370 can be tested.
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
Custom Authorization Group Naming Convention
This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.
ABAP | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |
