| Status | MTR
| ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Owner | |||||||||||||
| Stakeholders | |||||||||||||
| Jira Request ID |
| ||||||||||||
| Jira Development ID |
|
High- Level Specification
| 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 |
Functional Overview
The functional design of the enhancements describes the scenario(s) where enhancements to existing SAP programs are required.
Integration Topic #287Topic:
Prevent Ready for Shipping Status when batch or stock is restricted (Integration Topic #287).
Description:
During the warehouse execution process after picking and packing is completed, but Goods Issue is not posted yet, it is possible that the batches or Stock stock are moved back to Restricted restricted status by QM. In this case, the system should stop allowing the revert delivery status from "Ready for Shipment status " to "Not-Ready for Shipping" in EWM and communicate it to be sent to TM, so that the packing information of restricted batches/stock is prevented from getting of being 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.
Requirement details:
Batch job will 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 need to be covered.
Scenario 1) Block Ready for Shipping 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.
Scope and Objectives
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.
accordingly.
Requirement details:
1º.- A custom program is required, set as Application 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 Application 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.
Scope and Objectives
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 Application Job execution for every EWM Warehouse, where this process is applicable.
The following scenarios are in scope for the Application Job:
- 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.
- Set "Ready for Shipping" status only if the batch status of the batch assigned to a delivery is unrestricted and stock status of the stock picked for respective outbound delivery is unrestricted.
- 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.
- Error handling - collect the error messages for the Job run and provide the possibility to display the log, based on the execution date.
ObjectivesObjectives:
As part of the SyWay EWM Outbound execution process, there is a requirement to set "Ready for Shipping" status Automatically automatically when Picking picking is finished in EWM.
The "Ready for Shipping" status must be set only if all Batches and Stock is batches and stock, picked for respective delivery are Unrestricted.
The status change step "Ready for Shipping status " sends the Pickingpicking/Packing packing details to TM 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 Batches assigned batches or respective Stock 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 deliveries a delivery with not yet posted Goods Issue, if any of the Batches batches or Stock stock was moved to other than Unrestricted status for respective delivery.
Process Flow Diagram
The following 2 scenarios are in scope:
Scenario 1
Automatic Ready for Shipping process
| draw.io Diagram | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Scenario 2
> Variant 1) 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.
> Variant 2) 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.Automatic revert from Ready for Shipping to Not-Ready for Shipping process
| draw.io Diagram | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Execution step, as part of SAP SIGNAVIO Outbound flow'
06.11.02.01. Manage Outbound Material Flow for EWM Storage Locations
Execution Flow
Scenario 2
Automatic revert from Ready for Shipping to Not-Ready for Shipping process
> Variant 1) 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.
| draw.io Diagram | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Execution step, as part of SAP SIGNAVIO Outbound flow'
06.11.02.01. Manage Outbound Material Flow for EWM Storage Locations
Execution Flow
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 | |||
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. | ||
| 52.1. | Check if any all of the Batchesbatches, picked for EWM ODO is not are Unrestricted. | field BATCHNO table BATCHNO table /SCDL/DB_PROCI_O select based on the Batch batch number and check the field ZUSTD in table MCHA for blank value X - "RestrictedUnrestricted". | |
| 52.2. | Check if any all of the Stock, picked for EWM ODO is not Unrestricted. | field STOCK CATEGORY table /SCDL/DB_PROCI_O with value different then F2 UnrestrictedF Unrestricted | |
| 25.3. | Reverse Set the status "Ready for Shipping to Not-Ready for Shipping, for " for respective EWM ODO , only if any of the both previous checks are passed and any of the Stock or Batches are not stock and batches are Unrestricted. | Ready for Shipping Status DSH with value 1 "Not Ready" table /SCDL/DB_STATUS | |
| 25.4. | Confirm if the change of the status to Not-"Ready for Shipping" is set or check the error messages. | ||
| 63. | Output the messages. |
Assumptions
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.
Dependencies
N/A
Security, Integrity and Controls
Authorization check to be done via Authorization Group for Foreground process execution.
Configuration Requirements
Standard configuration for triggering the change of the status for respective delivery, after picking is completed.
Language Requirements
EN, FR, CN, IT
Special Requirements
N/A
Design Rationale
Functional Requirements
The Business team requires EWM Warehouse status change to Ready for Picking 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.
Proposed Technology to Use
Batch Job
Data Source Considerations
DSH - Ready for Shipping Status
DGI - Goods Issue Status
DPI - Picking Status
| 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. |
Assumptions
It can be used 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".
It is planned to create an Application 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.
Dependencies
N/A
Security, Integrity and Controls
Authorization check to be done via Authorization Group for process execution.
A background system user will be used to run the background job.
Configuration Requirements
Standard configuration for triggering the change of the status for respective delivery, after picking is "Completed".
Language Requirements
KDD055 - Multi-Language Support
Special Requirements
N/A
Design Rationale
Functional Requirements
Business requires to reach automatically the warehouse (EWM) status to "Ready for Shipping" only if all assigned Batches and Stock are Unrestricted and also have the capability to revert the status to "Not-Ready for Shipping" for all 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.
Proposed Technology to Use
Application Job
Data Source Considerations
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|
Data Validation Considerations
DOCID
| /SCDL/DB_PROCI_O | BATCHNO |
Custom Tables
N/A
Master Data
N/A
Configuration Table
N/A
Selection Screen Enhancement
N/A
Select:
Processing 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.
Volumetrics
N/A
Performance Considerations
N/A
Error Handling
As this will be a Batch Job, the system will collect all errors in a message and log it to an error log object.
| Batch | ||
| /SCDL/DB_PROCI_O | STOCK CATEGORY | Stock Type (F*) |
| MCHA | ZUSTD | Batch Restricted |
| /SCDL/DB_STATUS | STATUS TYPE | DSH - Ready for Shipping Status DGI - Goods Issue Status DPI - Picking Status |
Data Validation Considerations
| 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 |
Custom Tables
N/A
Master Data
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Configuration Table
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Selection Screen Enhancement
N/A
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Processing Logic
The new custom program, to be executed in background several times a day (periodicity to be aligned with business), needs to have a selection screen for creating a variant for Application Job execution.
The new Application Job program needs to perform the following steps:
A. Set status "Ready for Shipping" for all deliveries with picking status "Completed" only if Batch and Stock are "Unrestricted".
- Select all deliveries with status "Not-Ready for Shipping" and picking status "Completed".
- Check if all assigned batches for respective delivery are "Unrestricted".
- Check if all picked stock for respective delivery is "Unrestricted".
- If any of the 2 previous conditions (2 or 3) are not met - stop the process.
- If all the first 3 conditions (1, 2 and 3) are met - set status "Ready for Shipping".
B. 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 all assigned batches for respective delivery are "Unrestricted".
- Check if all picked stock for respective delivery is "Unrestricted".
- If both of the 2 previous conditions (2 or 3) are met - stop the process.
- If any of the 2 conditions (2 or 3) are not met - revert the status from "Ready for Shipping" to "Not-Ready for Shipping".
Volumetrics
More than 20.000 deliveries per month.
Performance Considerations
N/A
Error Handling
As this will be an Application Job, the system will collect all errors in a message and log it to an error log object.
Testing
How to Test
Prerequisites:
1) EWM ODO created and
2) Delivery Picking Status - Completed and
3) Delivery Goods Issue status - Not Started
Execution Steps:
- Execute the enhanced program.
- Check the status of respective EWM ODO.
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
Positive Test 1 All assigned Batches and Stock are Unrestricted - the enhanced program will set the new status Ready for Shipping. | ||
| 1 | Run the enhanced program | |
Testing
How to Test
Prerequisites:
EWM ODO created and
Delivery Picking Status - Completed
Delivery Goods Issue status - Not Started
Execution Steps
- Execute the enhanced program.
- Check the status of respective EWM ODO.
Positive Test
Create 3 positive scenarios:
- Create Positive test flow 1 - all assigned Batches and Stock are Unrestricted - the enhanced program will set the new status Ready for Shipping.
- Create Positive test flow 2 - some of the assigned Batches was moved to Restricted status - the enhanced program will change the EWM ODO status from Ready for Shipping to Not-Ready for Shipping.
- Create Positive test flow 2 - some of the Stock items was moved to not Unrestricted - the enhanced program will change the EWM ODO status from Ready for Shipping to Not Ready for Shipping.
Negative Test
Create 3 Negative scenarios:
- Delivery with any Batch moved to Restricted status - the enhanced program will not change the ODO status from Not-Ready to Ready for Shipping.
- Delivery with any of the Stock items moved to not Unrestricted - the enhanced program will not change the ODO status from Not-Ready to Ready for Shipping..
- Delivery with already set status Ready for Shipping and Goods Issue status Not Started with all Batches and Stock items Unrestricted - the enhanced program will not change the status. The status will remain Ready for Shipping.
Test Conditions and Expected Results
| 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. | ||
Positive Test 2 Some of the assigned Batches was moved to Restricted status - the enhanced program will change the EWM ODO status from Ready for Shipping to Not-Ready for Shipping. Negative Test 1 | ||||
| 1 | Run the enhanced Program program for setting revert the status from Ready for Shipping to Not-Ready for Shipping automatically, with one of the assigned Batches is with moved to status Restricted for respective ODO. | The new program did not set 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 the initial status Not-. | EWM ODO is with new status Not-Ready for Shipping. | ||
Positive Test 3 Some of the Stock items was moved to not Unrestricted - the enhanced program will change the EWM ODO status from Ready for Shipping to Not Ready for Shipping. | ||||
| Negative Test 2 | ||||
| 1 | Run the enhanced Program program for setting revert the status from Ready for Shipping to Not-Ready for Shipping automatically, with one of the already picked Stock item assigned Stock items moved to not Unrestricted for respective ODO. | The new program did not set 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 the initial status Not-Ready for Shipping. | ODO. | EWM ODO is with new status Not-Ready for Shipping. |
Negative Test 1 Delivery with any Batch moved to Restricted status - the enhanced program will not change the ODO status from Not-Ready to Ready for Shipping. Positive Test 2 | ||||
| 1 | Run the enhanced Program program for revert setting the status from Ready for Shipping to Not-Ready for Shipping automatically, with one of the assigned Batches moved to is with status Restricted for respective ODO. | The new program reverts the status from Ready for Shipping to Not-did not set the status Ready for Shipping for respective EWM ODO. | ||
| 2 | Check the status of the EWM ODO. | EWM ODO is with new the initial status Not-Ready for Shipping. | ||
Negative Test 2 Delivery with any of the Stock items moved to not Unrestricted - the enhanced program will not change the ODO status from Not-Ready to Ready for Shipping. Positive Test 3 | ||||
| 1 | Run the enhanced Program program for revert setting the status from Ready for Shipping to Not- Ready for Shipping automatically, with one of the assigned Stock items moved to already picked Stock item not Unrestricted for respective ODO. | The new program reverts did not set 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 the initial status Not-Ready for Shipping. | ||
Negative Test 3 Delivery with already set status Ready for Shipping and Goods Issue status Not Started with all Batches and Stock items Unrestricted - the enhanced program will not change the status. The status will remain Ready for Shipping. | ||||
| 1 | Run the enhanced Program 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. | ||
Test Conditions and Expected Results
N/A
| ID | Condition | Expected Result |
|---|---|---|
Test Considerations/Dependencies
N/A
Other Information
N/A
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design 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 | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |
See also
N/A
| Attachments | ||||||
|---|---|---|---|---|---|---|
|
Change log
| Change History | ||
|---|---|---|
|