Status

OwnerHALL-ext, Simon 
StakeholdersSara Loddo / Yamna Hammacha / Tonya Van Aarde / Francine Palmer
Jira Request ID

Jira Development ID

High- Level Specification

ParameterValue
Application SystemS/4 HANA ROW & S/4 HANA China
Business Process Reference02.04.02.01. Manage Standard Sales Order

Functional Overview

For the fulfilment of intercompany consignment fill-ups, the line item storage location and supplying plant must be determined in the fill-up (and not the subsequent delivery as per SAP standard) to ensure:

  1. 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.

  2. The subsequent intercompany purchase order can be correctly triggered.

Therefore this development requires:

  1. 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.
  2. When creating a line item or changing the plant in a consignment fill-up, the custom table is checked on save, the line item storage location is updated and the creation / update of an Intercompany Purchase Order (IC PO) is triggered if relevant.

The set up of entries in this 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 storage location combination.

The document type 'KB' will be used as the criteria to define a consignment fill-up - this is the only practical option as there are no other indicators that a sales document is for consignment purposes (such as doc 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.

has been successfully implemented.

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

1. Determine Storage location on save:

  • If sales document type (VBAK-AUART) = 'KB' then on the initial creation, if a new line item is added or if plant is changed in the line item read custom table from the custom table in ERP-1371 and update sales order line item with the defined storage location (VBAP-LGORT).
  • Determine the storage location VBAP-LGORT by using:
    • Sales org (VBAK-VKORG)
    • Distribution channel (VTWEG)
    • Plant (VBAP-WERKS)
    • Ship-to party (VBAP-KUNWE_ANA)
    • Material (VBAP-MATNR)
  • Save the updated changes.

2. Trigger creation of IC PO on save:

Use the matrix below to determine action if an entry exists in the custom table from ERP-1371 (i.e. storage location found in custom table):

ProcessCriteriaActionFollow-up StepOutcome
New line itemn/a

Save

Trigger process in ERP-1301 to create 1 line item in IC PO per consignment fill-up line item.

Create new IC PO


3. Trigger change of Intercompany Purchase Order on save:

If entry in VBAP-Z_IC_PO_NO then use the matrix below to determine action:

Firstly, check for each line item if outbound delivery created. If delivery created then no changes can be made to the line item data. If no delivery created for the line item then:

ProcessCriteriaActionFollow-up StepOutcome
New line itemn/aSaveTrigger process in ERP-1301 to create 1 line item in IC PO per consignment fill-up line itemChange existing IC PO
Update line item quantityIf delivery from IC PO not yet created for line item (RM define table/field logic)SaveTrigger process in ERP-1301 to update quantity in IC PO per consignment fill-up line item Change existing IC PO 
Line item deleted or rejectedIf delivery from IC PO not yet created for line item (RM define table/field logic)SaveTrigger process in ERP-1301 to delete or reject IC PO line item. Change existing IC PO 
Update header required delivery dateIf delivery from IC PO not yet created for line item (RM define table/field logic)SaveTrigger process in ERP-1301 to update item delivery date in IC PO per consignment fill-up line item.Change existing IC PO 
Changes to any other fieldsIf delivery from IC PO not yet created for line item (RM define table/field logic)SavePop-up message stating 'Only changes to quantity or requested delivery date will be copied to 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 these documents would have to be identified as relevant for stoIC PO and then the subsequent IC PO created / updated.

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.

TableField Description
Z ...VKORGSales Org
Z ...VTWEGDistribution Channel
Z ...WERKSSelling Plant
Z ...KUNNRShip-to Party
Z ...MATNRMaterial No
Z ...LGORTStorage Location
Z ...WERKSSupplying Plant

Processing Logic

Before saving the sales order:

  1. Check if document type (VBAK-AUART) = 'KB'
  2. If true then check custom table above with parameters below to retrieve storage location (LGORT)
    1. VBAK-VKORG
    2. VBAK-VTWEG
    3. VBAP-WERKS
    4. VBAP-KUNWE_ANA
    5. VBAP-MATNR
  3. Insert storage location (LGORT) into VBAP-LGORT.
  4. Save sales document.

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

IDConditionExpected Result
1Set 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.
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.
3Set 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.

Test Considerations/Dependencies

Relevant intercompany storage locations must already be set up against the relevant plants.


Other Information


Development Details

Package

Package NameParent Package




Enhancement Implementation

Enhancement TypeStandard Definition NameCustom Implementation NameDesign Rationale Reference









Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign 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

ZFIZMMZPSZCOZSDZBCZFIZCA
TABLESZFITZMMTZPSTZCOTZSDTZBCTZFITZCAT

See also

Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.


Change log