| Status | MTR |
|---|---|
| Owner | |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | S/4Hana ROW, S/4Hana China, S/4Hana CUI |
| Business Process Reference | 06.11.02.01. Manage Outbound Material Flow w/wo Discrepancies for EWM |
The functional design of the enhancements describes the scenario(s) where enhancements to existing SAP programs are required (Integration Topic #287).
Topic:
Prevent Ready for Shipping Status when batch or stock is restricted.
Description:
During the warehouse execution process after picking and packing is completed, it is possible that the batches or stock are moved back to restricted status by QM. In this case, the system should revert delivery status from "Ready for Shipment" to "Not-Ready for Shipping" in EWM and communicate it to TM, so the packing information of restricted batches/stock is prevented of being updated in TM accordingly.
In addition the Business requires to have automatic check and prevent start loading of already picked goods, this can be done with reversal of the already set status "Ready for Shipping" for respective delivery to status .
The following 3 scenarios are in scope:
Scenario 1) Do not set "Ready for Shipping" status - if status of any batch assigned in the delivery is restricted or any of the picked stock for respective delivery is Blocked or in Quality Inspection.
Scenario 2) Set "Ready for Shipping" status only if the batch status of the batch assigned to a delivery is unrestricted and stock status of picked stock for respective outbound delivery is unrestricted.
Scenario 3) If "Ready for Shipping" status already set for a delivery but not yet posted Goods Issue - Reverse to "Not-Ready for Shipping" status If status of any batch assigned to delivery is restricted or status of the stock for delivery is not Unrestricted.
Requirement details:
1º.- A custom program is required, set as Batch job and run for the respective variant, to select relevant deliveries to set up "Ready for Shipping" status with additional check if all assigned batches and picked stock for respective delivery is Unrestricted.
2º.- Second step of this Batch Job needs to cover additional check of the stock and batches assigned for every delivery with already set "Ready for Shipping" status but not yet posted Goods Issue, and in case of any batch moved to restricted or picked stock different then Unrestricted, to revert the status to "Not Ready for Shipping" for respective delivery.
The following scenarios are in scope for the Batch Job:
Scope:
The standard program cannot be executed automatically because the action needs to be repeated in respective time frames, and the Business Process requires to be scheduled to run as a Background Job.
The program needs to be created with a special variant for Batch Job execution for every EWM Warehouse, where this process is applicable.
Objectives:
As part of the SyWay EWM Outbound execution process, there is a requirement to set "Ready for Shipping" status automatically when picking is finished in EWM.
The "Ready for Shipping" status must be set only if all batches and stock, picked for respective delivery are Unrestricted.
The status change step "Ready for Shipping" sends the picking/packing details to Transportation Management system and update the respective FU/FO.
As the "Ready for Shipping" status is a prerequisite for Loading in TM, we need to prevent the Loading execution if any of the assigned batches or respective stock is other than Unrestricted for respective delivery.
In such way there is a need to automatically reverse back the status to "Not-Ready for Shipping" for a delivery with not yet posted Goods Issue, if any of the batches or stock was moved to other than Unrestricted status for respective delivery.
Process Flow Diagram
Scenario 1
Automatic Ready for Shipping process

Scenario 2
Automatic revert from Ready for Shipping to Not-Ready for Shipping process

Execution step, as part of SAP SIGNAVIO Outbound flow'
06.11.02.01. Manage Outbound Material Flow for EWM Storage Locations
Step | Description | Comment |
|---|---|---|
| 1. | List Deliveries relevant for the changing the status to "Ready For Shipping", with EWM ODO picking status Completed. | This step will be done by the standard program /SCWM/R_SET_DSH_STAT_AUTOMATIC. |
| 2. | Loop through the list of selected EWM Outbound Delivery Orders. | |
| 2.1. | Check if all of the batches, picked for EWM ODO are Unrestricted. | field BATCHNO table /SCDL/DB_PROCI_O select based on the batch number and check the field ZUSTD in table MCHA for blank value - "Unrestricted". |
| 2.2. | Check if all of the Stock, picked for EWM ODO is Unrestricted. | field STOCK CATEGORY table /SCDL/DB_PROCI_O with value F Unrestricted |
| 2.3. | Set the status "Ready for Shipping" for respective EWM ODO only if both previous checks are passed and stock and batches are Unrestricted. | |
| 2.4. | Confirm if the status "Ready for Shipping" is set or check the error messages. | |
| 3. | Output the messages. | |
| 4. | List Deliveries with status "Ready For Shipping" with not posted Goods Issue. | Based on field STATUS TYPE "Ready for Shipping" Status DSH with value 9 "Ready" table /SCDL/DB_STATUS Based on field STATUS TYPE Goods Issue Status DGI with value 1 "Not Started" table /SCDL/DB_STATUS |
| 5. | Loop through the list of selected EWM Outbound Delivery Orders. | |
| 5.1. | Check if any of the batches, picked for EWM ODO is not Unrestricted. | field BATCHNO table /SCDL/DB_PROCI_O select based on the batch number and check the field ZUSTD in table MCHA for value X - "Restricted". |
| 5.2. | Check if any of the stock, picked for EWM ODO is not Unrestricted. | field STOCK CATEGORY table /SCDL/DB_PROCI_O with value different then F Unrestricted |
| 5.3. | Reverse the status "Ready for Shipping" to "Not-Ready for Shipping", for respective EWM ODO, if any of the both previous checks are passed and any of the stock or batches are not Unrestricted. | "Ready for Shipping" Status DSH with value 1 "Not Ready" table /SCDL/DB_STATUS |
| 5.4. | Confirm if the change of the status to "Not-Ready for Shipping" is set or check the error messages. | |
| 6. | Output the messages. |
We can use the standard configuration option to change the status "Ready for Shipping" and enhancement is required to prevent change of the status if any of the batches are Restricted or any of the stock is not Unrestricted.
We plan to create a Batch Job for automatic change of the status of respective deliveries to "Ready for Shipping", and in case of already set status revert it to "Not-Ready for Shipping" in case of any batch or stock not Unrestricted for deliveries not Goods Issue posted.
N/A
Authorization check to be done via Authorization Group for Foreground process execution.
A background system user will be used to run the background job.
Standard configuration for triggering the change of the status for respective delivery, after picking is completed.
EN, FR, CN, IT
N/A
The Business team requires EWM Warehouse status change to "Ready for Shipping" to be done automatically only if all assigned Batches and Stock are Unrestricted. Also revert the status "Not-Ready for Shipping" for deliveries not yet Goods Issue posted if any of the assigned Batches or Stock are not Unrestricted.
The standard program /SCWM/R_SET_DSH_STAT_AUTOMATIC, for deliveries with Picking completed status, can be used as a base for the new custom program, and additional logic for the conditions of the batch and stock status will be added.
Batch Job
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| /SCDL/DB_PROCI_O | BATCHNO | Batch |
| /SCDL/DB_PROCI_O | STOCK CATEGORY | Stock Type |
| MCHA | ZUSTD | Batch Restricted |
| /SCDL/DB_STATUS | STATUS TYPE | DSH - Ready for Shipping Status DGI - Goods Issue Status DPI - Picking Status |
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| /SCDL/DB_PROCI_O | DOCID | Based on the Document ID we can find the Status in the table /SCDL/DB_STATUS |
| /SCDL/DB_PROCI_O | BATCHNO | Based on the Batch number we can find the Batch status in table MCHA field ZUSTD |
N/A
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
N/A
| 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 |
|---|---|---|---|---|---|
The new custom program needs to have a selection screen for creating a Variant for Batch Job execution.
Batch Job will be set, to be executed in Background, several times a day. The period of time needs to be aligned with the Business team.
The new Batch Job program needs to have the following steps:
A. Set status Ready for Shipping for all deliveries with Picking completed status only if Batch and Stock are Unrestricted.
B. Revert status from "Ready for Shipping" to "Not-Ready for Shipping" for deliveries with batch or stock different then Unrestricted.
More than 20000 deliveries per month.
N/A
As this will be a Batch Job, the system will collect all errors in a message and log it to an error log object.
Prerequisites:
EWM ODO created and
Delivery Picking Status - Completed
Delivery Goods Issue status - Not Started
Execution Steps
Positive Test
Create 3 positive scenarios:
Negative Test
Create 3 Negative scenarios:
| ID | Condition | Expected Result |
|---|---|---|
| Positive Test 1 | ||
| 1 | Run the enhanced Program for setting the status Ready for Shipping automatically, with all Batches and Stock Unrestricted for respective ODO. | The program set the status Ready for Shipping for respective EWM ODO. |
| 2 | Check the status of the EWM ODO. | EWM ODO is with status Ready for Shipping. |
| Negative Test 1 | ||
| 1 | Run the enhanced Program for setting the status Ready for Shipping automatically, with one of the assigned Batches is with status Restricted for respective ODO. | The new program did not set the status Ready for Shipping for respective EWM ODO. |
| 2 | Check the status of the EWM ODO. | EWM ODO is with the initial status Not-Ready for Shipping. |
| Negative Test 2 | ||
| 1 | Run the enhanced Program for setting the status Ready for Shipping automatically, with one of the already picked Stock item not Unrestricted for respective ODO. | The new program did not set the status Ready for Shipping for respective EWM ODO. |
| 2 | Check the status of the EWM ODO. | EWM ODO is with the initial status Not-Ready for Shipping. |
| Positive Test 2 | ||
| 1 | Run the enhanced Program for revert the status from Ready for Shipping to Not-Ready for Shipping automatically, with one of the assigned Batches moved to status Restricted for respective ODO. | The new program reverts the status from Ready for Shipping to Not-Ready for Shipping for respective EWM ODO. |
| 2 | Check the status of the EWM ODO. | EWM ODO is with new status Not-Ready for Shipping. |
| Positive Test 3 | ||
| 1 | Run the enhanced Program for revert the status from Ready for Shipping to Not-Ready for Shipping automatically, with one of the assigned Stock items moved to not Unrestricted for respective ODO. | The new program reverts the status from Ready for Shipping to Not-Ready for Shipping for respective EWM ODO. |
| 2 | Check the status of the EWM ODO. | EWM ODO is with new status Not-Ready for Shipping. |
| Negative Test 3 | ||
| 1 | Run the enhanced Program for revert the status from Ready for Shipping to Not-Ready for Shipping automatically, with all Stock items and assigned Batches Unrestricted for respective ODO. | The new program did not set the status Not-Ready for Shipping for respective EWM ODO. No changes made for respective EWM ODO. |
| 2 | Check the status of the EWM ODO. | EWM ODO is with the initial status Ready for Shipping. |
N/A
| ID | Condition | Expected Result |
|---|---|---|
N/A
N/A
| 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 |
N/A
