| 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 to Restricted status by QM. In this case the system should stop allowing the Ready for Shipment status in EWM to be sent to TM, so that the packing information of restricted batches is prevented from getting updated in TM. In addition the Business requires to have automatic check and prevent start loading of already picked Goods, this can be done with reverse of the status to Not-Ready for Shipping.
The following 3 scenarios are required to be covered:
Scenario 1) Do not set "Ready for Shipping" status if any Batch or Stock are Restricted.
Scenario 2) Set "Ready for Shipping" status only if Batches and Stock are Unrestricted.
Scenario 3) If "Ready for Shipping" status already set for deliveries but not yet posted Goods Issue - Reverse to Not-Ready for Shipping status if any Batch or Stock is Restricted.
Requirement details:
The program is required to be set as Batch job and run to select deliveries relevant to set up Ready for Shipping status with check if all Batches and Stock are Unrestricted, and with additional check of the Stock and Batches for deliveries with already set Ready for Shipping status but not Goods Issue. Deliveries with already set status Ready for Shipping and any of the Batches and Stock not Unrestricted, need to be reversed to Not-Ready for Shipping status.
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 is Unrestricted. The Ready for Shipping status sends the Picking/Packing details to TM 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 Batches or respective Stock is other than Unrestricted.
In such way there is a need to automatically reverse back the status to Not-Ready for Shipping for deliveries with not yet posted Goods Issue, if any of the Batches or Stock was moved to other than Unrestricted status.
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 F2 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 F2 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.
Change of the status automatically to Ready for Shipping is standard process in EWM, the Job can be set directly using the standard program /SCWM/R_SET_DSH_STAT_AUTOMATIC, for deliveries with Picking completed.
The logic of the check of the Batch and Stock status will be added to the standard program, as it is not there as a standard steps.
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 enhanced standard program needs to have a selection screen for Variant 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 3 steps:
1. Set status Ready for Shipping for all deliveries with Picking completed status only if Batch and Stock are Unrestricted.
- Select all deliveries with Status Not-Ready for Shipping and Picking status completed.
- Check if the assigned Batches are Unrestricted.
- Check if the assigned Stock is Unrestricted.
- If any of the 2 previous conditions are not met - stop the process.
- if any of the 2 conditions are met - set status Ready for Shipping status.
2. Revert status from Ready for Shipping to Not-Ready for Shipping for deliveries with Batch or Stock different then Unrestricted.
- Select all deliveries with Status Ready for Shipping and Goods Issue status Not Started.
- Check if the assigned Batches are Unrestricted.
- Check if the assigned Stock is Unrestricted.
- If any of the 2 previous conditions are met - stop the process.
- if any of the 2 conditions are not met - revert the status from Ready for Shipping to Not-Ready for Shipping.
N/A
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
