Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Status

Page Status

OwnerVAN AARDE-ext, Tonya 
Stakeholders
Jira Request ID

Jira
serverSyensqo's Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdd8efc1ef-48bd-3b4e-8714-ad827f4f059b
keyERP-156

Jira Development ID

Jira
serverSyensqo's Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdd8efc1ef-48bd-3b4e-8714-ad827f4f059b
keyERP-359

High- Level Specification

ParameterValue
Application SystemApplication System (Source)S/4Hana ROW, S/4Hana China
Business Process Reference02.04.02.01. Manage Standard Sales Order

Functional Overview

1. Business Requirement

To ensure robust and stable integration between Sales & Distribution (SD) and Transportation Management (TM), the business requires control over changes to the Shipping Condition once Transportation planning has commenced.

When a Freight Unit (FU) has already been planned and assigned to a Freight Order or Freight Booking, changing the Shipping Condition—specifically from Ocean to Condition— to anyting else (for example Sea to  Air)—creates a mismatch between the sales document and the transportation execution. This can result in automatic de-assignment of the Freight Unit, leading to disruption of downstream logistics processes, replanning efforts, and potential delivery delays.

This WRICEF introduces controlled validation logic to prevent Shipping Condition changes from Ocean to any other shipping condition condition when the related Freight Unit is already planned, while still allowing flexibility for other mode changes where operationally valid.

The solution supports:

  • Protection of TM planning integrity

  • Prevention of Freight Unit de-assignment

  • Consistent SD–TM integration behavior

  • Controlled flexibility based on Freight Unit planning status

Scope and Objectives

This WRICEF covers a targeted enhancement applicable to:

  • Sales Orders (Document Category C)

  • Change processing only

The enhancement applies at sales order header level, evaluated against item-level Freight Unit planning status, and is enforced during Save. 

Applications in Scope

  • SAP Fiori

  • Manage Sales Orders – Version 2
  • Change Sales Orders


Why Standard SAP Is Not Sufficient

SAP standard does not include a validation mechanism to:

  • Check Freight Unit planning status in TM when a Shipping Condition is changed in Sales Orders

  • Prevent mode-of-transport mismatches once a Freight Unit is Planned or Partially Planned

  • Distinguish between allowed and disallowed Shipping Condition changes based on TM execution status

Without such validation:

  • Users can change the Shipping Condition from Ocean to  to any other shipping condition after TM planning has occurred

  • Freight Units may be automatically de-assigned due to transport mode inconsistencies

  • Freight Orders or Freight Bookings can be disrupted or invalidated

  • Downstream logistics processes require manual correction and replanning

Limited Control in SAP Fiori Sales Order Processing

In the Manage Sales Orders – Version 2 Fiori app:

  • Shipping Condition changes are allowed without awareness of TM planning status

  • No standard error handling exists to block incompatible changes at Save

  • Users receive no immediate feedback on the impact of changes to TM execution


Process Flow Diagram

The scope of this enhancement is depicted in process step Maintain item details below. For the full Signavio, please go to 02.04.02.01. Manage Standard Sales Order



Step

Description

Comment

1.Create sales orderShipping condition is 01 - ocean.30 Sea
2.Change Sales order Change sales order with shipping condition for ocean (01) 30 Sea to air (0340) Air or any other condition.
3.Freight Unit is created and linked to the orderFreight Until status is set to planned.
4.Save Sales OrderThe system should not allow the change and issue error message. 


Assumptions

  • Sales Orders are integrated with SAP Transportation Management (TM) and generate Freight Units (FUs) as part of standard SD–TM integration.

  • Freight Unit planning status maintained in TM (/SCMTMS/D_TORROT-PLAN_STATUS_ROOT) is considered the single source of truth for determining whether Transportation planning has commenced.

  • The Shipping Condition field (VBAK-VSBED) is used consistently to derive the mode of transport for TM planning.

  • The restriction applies only when a Shipping Condition change would result in a mode-of-transport conflict (Ocean → Air) with an already Planned or Partially Planned Freight Unit.

  • When a Freight Unit is in Not Planned (“01”) status, the system assumes that no TM execution commitments exist and Shipping Condition changes may proceed.

  • The validation logic assumes a direct and reliable link between Sales Order items and Freight Units via standard TM integration tables.

  • Error handling is implemented as a hard validation (blocking error) to prevent inconsistent data from being saved.

Dependencies

Not Applicable.

Security, Integrity and Controls

The enhancement will follow the SAP standard security and authorization framework.
The authorization to maintain these this field should be included in the Customer Representative Role as part of the Manage Sales Orders v2  - F3893, VA02 Change Sales order. 


Configuration RequirementsConfiguration of shipping conditions.

Not Applicable


Language Requirements

Not Applicable

Special Requirements

Not Applicable



Design Rationale

Functional Requirements

Shipping Condition Change Restriction

Applicability

The restriction requirements apply to sales document header changes for:

  • Sales Orders (Document Category C)

The validation behavior shall be enforced in:

  • SAP Fiori – Manage Sales Orders – Version 2 (F3893)




1. Shipping Condition Field (VBAK-VSBED)

Field Usage

The system shall use the standard SAP Shipping Condition field (VBAK-VSBED) to derive the Mode of Transport for downstream Transportation Management (TM) planning.


2. Freight Unit Planning Status Evaluation

TM Integration Dependency

The system shall evaluate the Freight Unit (FU) planning status in SAP Transportation Management before allowing certain Shipping Condition changes.

TM Tables in Scope

  • Sales Order Item ↔ Freight Unit link: /SCMTMS/D_TORITE

  • Freight Unit Root: /SCMTMS/D_TORROT

  • Planning Status Field: /SCMTMS/D_TORROT-PLAN_STATUS_ROOT

Relevant Planning Status Values


ValueDescription
01Not Planned
02Partially Planned
03Planned

Shipping Condition Restriction Logic

Standard Field Usage

The system shall restrict changes to the Shipping Condition (VBAK-VSBED) based on the Freight Unit planning status in TM.

Restriction Logic

When a user attempts to change the Shipping Condition, the system shall apply the following rules:

Restricted Scenario

The system shall prevent saving the Sales Order if all of the following conditions are met:

  • Existing Shipping Condition = Ocean (01)Any allowed value for example (30 Sea) 

  • New Shipping Condition = anything not equal to Ocean (01)other allowed value for example 20 Rail   

  • A Freight Unit exists for at least one Sales Order item

  • Freight Unit Planning Status is:

    • Planned (“03”), or

    • Partially Planned (“02”)

Allowed Scenarios

The system shall allow the Sales Order to be saved when:

  • Freight Unit Planning Status = Not Planned (“01”)

  • No Freight Unit exists for the Sales Order



Restriction Lift Logic

Applicability

The restriction shall be dynamically lifted based on the Freight Unit planning state.

Restriction Lift Rules

If the Freight Unit Planning Status changes to:

  • Not Planned (“01”)

Then:

  • The Shipping Condition change from Ocean current value → any other value shall be permitted

  • The Sales Order may be saved successfully

Error Handling

Blocking Behavior

If the restriction conditions are met, the system shall:

  • Prevent the Sales Order from being saved

Error Messaging

The system shall display a clear and meaningful error message indicating that:

  • The Shipping Condition change from Ocean to any other condition is not permitted

  • The related Freight Unit is already Planned or Partially Planned in Transportation Management

Example (illustrative):

“Shipping Condition change from Ocean to Air is not permitted. Related Freight Unit is already planned in Transportation Management.”

Proposed Technology to Use

The enhancement leverages SAP S/4HANA extensibility without core modifications:

CapabilityProposed TechnologyDescription
Field UsedSAP Standard Field (VBAK-VSBED)Use standard Shipping Condition at Sales Order header level to derive Mode of Transport for downstream TM planning
Validation / Save BlockSD Validation BAdI (Check Before Save)Implement save-time validation to restrict Shipping Condition changes based on FU existence and TM planning status (block only for Ocean (01) → non-Ocean when FU status = 02/03)
TM Status EvaluationRead TM Tables (/SCMTMS/*)Determine if Freight Units exist and read planning status via /SCMTMS/D_TORITE and /SCMTMS/D_TORROT-PLAN_STATUS_ROOT
Dynamic Restriction LiftRe-evaluate at each saveAllow Ocean → non-Ocean once FU planning status returns to Not Planned (01) or no FU exists

An implementation of BADI is required and put a validation in SD_SLS_CHECK_HEAD / SD_SLS_CHECK_BEFORE_SAVE to check, before saving a Sales Document, that when the Shipping Type is changed to a new value , the associated Freight Unit Planning Status meets the required condition suggested below; otherwise the system should block the save with an appropriate message.

Data Source Considerations


TableField NameComments/Calculation/Field Manipulation
VBAKVSBEDShipping Condition
SCMTMSD_TORITESales order item - Freight Unit link
SCMTMSD_TORROT-PLAN_STATUS_ROOTPlanning status field


Data Validation Considerations

Not Required

TableField NameComments/Calculation/Field Manipulation













Custom Tables

Not Required

Master Data

FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

Field NameDescription

Select:

Data Type/LengthDefault Value/ Validation rule/ Value HelpSelection Logic













Processing Logic

Shipping Condition Change Restriction (Sales Order Header)


Applicability

The restriction applies to:

  • Sales Orders (Document Category C)

  • Header-level changes to Shipping Condition (VBAK-VSBED)

  • Enforced in:

    • SAP Fiori – Manage Sales Orders – Version 2 (F3893)


1. Standard Field Usage

The system shall use the standard SAP field:

  • Shipping Condition (VBAK-VSBED)

This field is used to derive the Mode of Transport for downstream Transportation Management (TM) planning.

The system shall restrict changes to VBAK-VSBED based on the related Freight Unit planning status in TM.


2. TM Integration Dependency

When a Shipping Condition change is attempted, the system shall:

  1. Identify Freight Units linked to the Sales Order items via:

    • /SCMTMS/D_TORITE (Sales Order Item ↔ Freight Unit link)

  2. Read the Freight Unit root record:

    • /SCMTMS/D_TORROT

  3. Evaluate Planning Status field:

    • /SCMTMS/D_TORROT-PLAN_STATUS_ROOT

Planning Status values:

CodeMeaning
01Not Planned
02Partially Planned
03Planned

Shipping Condition Restriction Logic

Step-by-step logic at Sales Order Save

FOR the Sales Order header being saved:

  1. Read existing Shipping Condition = VSBED_old

  2. Read new Shipping Condition = VSBED_new

Restricted Scenario (Ocean → Non-Ocean)
  1. new


Restricted Scenario 

The system shall prevent saving the Sales Order if all of the following conditions are met:

  • Existing Shipping Condition = Ocean (01) Any allowed value on the field

  • New Shipping Condition Ocean (01)= Any allowed value on the field

  • At least one Freight Unit exists for any Sales Order item

  • Freight Unit Planning Status is:

    • 02 (Partially Planned), or

    • 03 (Planned)

If all above conditions are met:

Prevent Sales Order save (transaction rollback)
→ Raise blocking error message
→ Set field focus to Shipping Condition (VBAK-VSBED)


Allowed Scenarios

The system shall allow the Sales Order to be saved when:

  • Freight Unit Planning Status = 01 (Not Planned)
    OR

  • No Freight Unit exists for the Sales Order


Restriction Lift Logic

Applicability

The restriction shall be dynamically evaluated at each save attempt.

Restriction Lift Rules

If the Freight Unit Planning Status changes to:

  • 01 (Not Planned)

Then:

  • The Shipping Condition change from Ocean (01)current value → any other value shall be permitted

  • The Sales Order may be saved successfully

This ensures the restriction is not permanent and responds dynamically to TM planning status.


Error Handling

Blocking Behavior

If the restriction conditions are met, the system shall:

  • Prevent the Sales Order from being saved

  • Display a blocking error message

Suggested Error Text

Shipping Condition cannot be changed from Ocean because Freight Unit planning has already started in Transportation Management (Status: Planned or Partially Planned).


Expected Outcomes by Scenario


ExistingNewFU ExistsPLAN_STATUSResult
Ocean
SeaAirYes03❌ Block
Ocean
SeaRoadYes02❌ Block
Ocean
SeaAirYes01✅ Allow
Ocean
SeaAirNoN/A
AllowAir
Allow
RailRoadYes03❌ Block 
RailSea
Road
Yes
03✅ Allow (not Ocean→Non-Ocean scenario)OceanOceanAnyAny✅ Allow
02❌ Block


Volumetrics

Monthly average 124 Sales orders are changed from Ocean to Air on Legacy System.


Performance Considerations

The enhancement is expected to support concurrent updates by a maximum of two (2) users simultaneously.

These updates would occur on different sales orders and potentially across different Sales Organizations.

No mass processing, background jobs, or high-volume parallel processing is expected. Therefore, no additional performance optimization beyond standard SAP transaction handling is required.

Volumetrics

Performance Considerations



Error Handling

Blocking Behavior

If the restriction conditions are met, the system shall:

  • Prevent the Sales Order from being saved

Error Messaging

The system shall display a clear and meaningful error message indicating that:

  • The Shipping Condition change from Ocean to any other condition is not permitted

  • The related Freight Unit is already Planned or Partially Planned in Transportation Management

Example (illustrative):

“Shipping Condition change from Ocean to Air is not permitted. Related Freight Unit is already planned in Transportation Management.”


Testing

How to Test

Test Conditions and Expected Results

IDConditionExpected Result
TC-01Fiori F3893 (Change SO): Change Shipping Condition 01 30 (OceanSea) → 03 40 (Air) and the related FU PLAN_STATUS_ROOT = 03 (Planned)Save is blocked. Error message displayed. Shipping Condition remains unchanged.
TC-02Fiori F3893 (Change SO): Change Shipping Condition 01 30 (OceanSea) 03 40 (Air) and the related FU PLAN_STATUS_ROOT = 02 (Partially Planned)Save is blocked. Error message displayed. Shipping Condition remains unchanged.
TC-03Fiori F3893 (Change SO): Change Shipping Condition 01 30 (OceanSea) → 03 →  40 (Air) and the related FU PLAN_STATUS_ROOT = 01 (Not Planned)Save succeeds. Shipping Condition updates to Air.
TC-04Fiori F3893 (Change SO): Change Shipping Condition 01 30 (OceanSea)03 40 (Air) and no FU exists for the SO itemsSave succeeds. Shipping Condition updates to Air.
TC-05Fiori F3893 (Change SO): Change Shipping Condition 01 30 (OceanSea) Road/Other non-Air (e.g., 02) 20 (Rail)  while FU is Planned (03)Save succeeds.Change is allowed (no restriction triggered)is blocked. Error message displayed. Shipping Condition remains unchanged.
TC-06Fiori F3893 (Change SO): SO has multiple items; at least one linked FU is Planned (03); user changes 01 30 (OceanSea)03 20 (AirRail)Save is blocked. Error message displayed (restriction triggered if any relevant FU is Planned/Partially Planned).
TC-07Fiori F3893 (Change SO): SO has multiple items; all linked FUs are Not Planned (01); user changes 01 20 (OceanRail) 03 10 (AirRoad)Save succeeds. Shipping Condition updates to AirRoad.
TC-08SAP GUI VA02 (Change SO): Change Shipping Condition 01 20 (OceanRail)03 40 (Air) and related FU is Planned (03)Save is blocked with the same error-handling behavior as Fiori. Shipping Condition remains unchanged.
TC-09Fiori F3893 / VA02: Attempt to save the SO without while changing the qty Shipping Condition (remains Ocean20 Rail ) while FU is Planned/Partially PlannedSave succeeds. No validation triggered (since no Ocean→Air change occurred).. Shipping Condition remains 20 Rail. 


Test Considerations/Dependencies


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


Attachments
previewfalse
patterns^(?!.*\.(png|jpg|jpeg|svg)$).*
sortOrderdescending

Change log

Change History
limit10