| Status | |
|---|---|
| Owner | VAN AARDE-ext, Tonya |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | Application System (Source)S/4Hana ROW, S/4Hana China |
| Business Process Reference | 02.04.02.01. Manage Standard Sales Order |
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 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 Air 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
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.
SAP Fiori
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 Air 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
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

Insert the flowchart and fill in the steps
Step | Description | Comment |
|---|---|---|
| Create sales order | Shipping condition is 01 - ocean. | |
| 1. | Change Sales order | Change sales order with shipping condition for ocean (01) to air (03). |
| 2. | Freight Unit is created and linked to the order | Freight Until status is set to planned. |
| 3. | Save Sales Order | The system should not allow the change and issue error message. |
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.
Shipping Condition values are standardized across the landscape, where:
01 = Ocean
03 = Air
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.
Shipping Condition changes from Ocean to Road or other non-Air modes are assumed to be operationally valid and remain unrestricted.
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.
Not Applicable
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 Requirements
Not Applicable
Not Applicable
Not Applicable
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)
The restriction applies during change mode and is evaluated at Save.
VA02 – Change Sales Order
The system shall use the standard SAP Shipping Condition field (VBAK-VSBED) to derive the Mode of Transport for downstream Transportation Management (TM) planning.
| Shipping Condition | Description |
|---|---|
| 01 | Ocean |
| 03 | Air |
Other Shipping Condition values (e.g. Road, Rail) remain unchanged and unrestricted.
The system shall evaluate the Freight Unit (FU) planning status in SAP Transportation Management before allowing certain Shipping Condition changes.
Sales Order Item ↔ Freight Unit link: /SCMTMS/D_TORITE
Freight Unit Root: /SCMTMS/D_TORROT
Planning Status Field: /SCMTMS/D_TORROT-PLAN_STATUS_ROOT
| Value | Description |
|---|---|
| 01 | Not Planned |
| 02 | Partially Planned |
| 03 | Planned |
The system shall restrict changes to the Shipping Condition (VBAK-VSBED) based on the Freight Unit planning status in TM.
When a user attempts to change the Shipping Condition, the system shall apply the following rules:
The system shall prevent saving the Sales Order if all of the following conditions are met:
Existing Shipping Condition = Ocean (01)
New Shipping Condition = Air (03)
A Freight Unit exists for at least one Sales Order item
Freight Unit Planning Status is:
Planned (“03”), or
Partially Planned (“02”)
The system shall allow the Sales Order to be saved when:
Shipping Condition is changed from Ocean to Road or other non-Air modes
Freight Unit Planning Status = Not Planned (“01”)
No Freight Unit exists for the Sales Order
The restriction shall be dynamically lifted based on the Freight Unit planning state.
If the Freight Unit Planning Status changes to:
Not Planned (“01”)
Then:
The Shipping Condition change from Ocean → Air shall be permitted
The Sales Order may be saved successfully
If the restriction conditions are met, the system shall:
Prevent the Sales Order from being saved
The system shall display a clear and meaningful error message indicating that:
The Shipping Condition change from Ocean to Air 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.”
Typically, an enhancement will be based on an existing SAP BADI / user exit. If this is the case, please provide the proposed details of the BADI / user exit.
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| VBAK | VSBED | Shipping Condition |
| SCMTMS | D_TORITE | Sales order item - Freight Unit link |
| SCMTMS | D_TORROT-PLAN_STATUS_ROOT | Planning status field |
Data Validation Considerations
Not Required
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Not Required
<Title Custom Table 1>
<Include an overview of the table and what it’s used for>
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Title Configuration Table 1
Include an overview of the table and what it’s used for
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
This section will give the details on the selection screen parameters, parameter type and whether it’s obligatory or not. This section can be used to define the Import Export parameters for Function Module or User Exit or Screens. Can be deleted if not needed.
| Field Name | Description | Select: Option or Parameter Check box or Radio button Import or Export | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Specify if there are any specific performance factors that need to be taken into consideration during development i.e. enhancement must be able to be executed by 10 users at the same time, etc.
Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures
Please provide some guidance and/or test data to help the developer unit test the enhancement. Please include both positive and negative testing (to validate error situations handling). The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again or explain how to create new input data to the test. The developer will need logons for test users representing the various roles within the approval process.
| ID | Condition | Expected Result |
|---|---|---|
| TC-01 | Fiori F3893 (Change SO): Change Shipping Condition 01 (Ocean) → 03 (Air) and the related FU PLAN_STATUS_ROOT = 03 (Planned) | Save is blocked. Error message displayed. Shipping Condition remains unchanged. |
| TC-02 | Fiori F3893 (Change SO): Change Shipping Condition 01 (Ocean) → 03 (Air) and the related FU PLAN_STATUS_ROOT = 02 (Partially Planned) | Save is blocked. Error message displayed. Shipping Condition remains unchanged. |
| TC-03 | Fiori F3893 (Change SO): Change Shipping Condition 01 (Ocean) → 03 (Air) and the related FU PLAN_STATUS_ROOT = 01 (Not Planned) | Save succeeds. Shipping Condition updates to Air. |
| TC-04 | Fiori F3893 (Change SO): Change Shipping Condition 01 (Ocean) → 03 (Air) and no FU exists for the SO items | Save succeeds. Shipping Condition updates to Air. |
| TC-05 | Fiori F3893 (Change SO): Change Shipping Condition 01 (Ocean) → Road/Other non-Air (e.g., 02) while FU is Planned (03) | Save succeeds. Change is allowed (no restriction triggered). |
| TC-06 | Fiori F3893 (Change SO): SO has multiple items; at least one linked FU is Planned (03); user changes 01 (Ocean) → 03 (Air) | Save is blocked. Error message displayed (restriction triggered if any relevant FU is Planned/Partially Planned). |
| TC-07 | Fiori F3893 (Change SO): SO has multiple items; all linked FUs are Not Planned (01); user changes 01 (Ocean) → 03 (Air) | Save succeeds. Shipping Condition updates to Air. |
| TC-08 | SAP GUI VA02 (Change SO): Change Shipping Condition 01 (Ocean) → 03 (Air) and related FU is Planned (03) | Save is blocked with the same error-handling behavior as Fiori. Shipping Condition remains unchanged. |
| TC-09 | Fiori F3893 / VA02: Attempt to save the SO without changing Shipping Condition (remains Ocean) while FU is Planned/Partially Planned | Save succeeds. No validation triggered (since no Ocean→Air change occurred). |
List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| Package Name | Parent Package |
|---|---|
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
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 |
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.
