Status

MTR

Owner
Stakeholders
Jira Request ID

Jira Development IDEnter the Jira development card URL here (Use the Jira macro to search and add)

High- Level Specification

ParameterValue
Application SystemS/4Hana ROW, S/4Hana China, S/4Hana CUI
Business Process Reference06.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 #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. 



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 scenarious 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.


Objectives:

As part of the SyWay EWM Outbound execution process, there is a requirement to set Ready for Shipping status Automatically when Picking and Packing 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 that are not yet posted Goods Issue, if any of the Btches or Stock was moved to other than Unrestricted status.


Process Flow Diagram


Insert the flowchart and fill in the steps

Step

Description

Comment

1.List Deliveries relevant for the changing the status to Ready For Shipping, with EWM ODO Picking and Packing 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.table 
2.2.Check if all of the Stock, picked for EWM ODO is Unrestricted.table /SCDL/DB_PROCI_O
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. 
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. 
5.2.Check if any of the Stock, picked for EWM ODO is not 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. 
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

Describe any assumptions that have been made in the process of completing this design. What functionality is expected of configuration or other developments that pass information to this development and/ or retrieve the information processed by it (performance, triggers, exceptions, etc.)

Dependencies

Indicate any dependencies or constraints that may impact this development, in terms of requirements from internal or external applications, other work streams, time constraints, data or system access restrictions. Also, please specify scheduling or process dependencies, e.g. interface/batch job that must run beforehand or process steps that need to be completed prior to executing this development.

Security, Integrity and Controls

To detail the security requirements for processing this enhancement, any data integrity issues associated with the object and the teams that will be responsible for processing the object, i.e. authorization/roles required to who can execute the enhancements, etc.

- Custom Tables, enhancement, transaction codes, programs, Web Dynpro Application, Code Data Services (CDS), Open Data Protocol (OData), BI reports, and Functional Modules need to have at least one authority check either standard or custom. (custom should be an exception)

- All custom tables will be maintained in a certain Authorization Group (example: ZFIN, etc.)

- In the case of transaction codes an additional check other than the object S_TCODE is required. You can use SU24 to find the related authorization objects to check.

All other WRICEFs

- If the authorization check is already performed in the calling Programs, this section can be filled as “Follow calling programs authorization check” (example : BADI to redirect DMS to OpenText, in which the calling Manage Purchase requisition Fiori App already performed authorization check)

- If the authorization check is not checked in any of the development, this section should be filled with the proposed authorization check. You can refer to SU24 to see the standard authorization objects. (example: full custom Fiori App to enable user to download/upload the project plan)


Configuration Requirements

Specify the configuration requirements for this object. Like in case of substitution/ routine specify the configuration needed

Language Requirements

Specify the language requirements for this object. Specify the required language and type of translation, like labels, data.

Special Requirements

Specify any special requirements or considerations that may impact the enhancement based on specific locations, regulatory compliance or system limitations. Clearly outline requirements e.g. localization rules for countries like China

If the enhancement interacts with third-party systems such as Icertis, describe any additional integration, security or authentication considerations that must be taken into account.


Design Rationale

Functional Requirements

Detail the functional requirements that are desired to be achieved by the Enhancement compared to current functionality

Proposed Technology to Use

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.

Data Source Considerations

Include an overview of the source

TableField NameComments/Calculation/Field Manipulation











Data Validation Considerations

Include an overview of the data validation requirement

TableField NameComments/Calculation/Field Manipulation













Custom Tables

If any custom configuration tables are required, which will be read by the enhancement logic, then specify them here.

Master Data

<Title Custom Table 1>

<Include an overview of the table and what it’s used for>

FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

Title Configuration Table 1

Include an overview of the table and what it’s used for

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

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.

Field NameDescription

Select:

Option or Parameter

Check box or Radio button

Import or Export

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













Processing Logic

This section defines the detailed step-by-step logic implemented within the BAdI/User Exit to process the data received from the standard SAP program and database retrieval. It explains the operations performed on the data, the expected outcomes in different scenarios and how the system should behave in response to specific conditions.



Volumetrics

Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)


Performance Considerations

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.



Error Handling

Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures


Testing

How to Test

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.

Test Conditions and Expected Results

IDConditionExpected Result










Test Considerations/Dependencies

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.


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

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.


Change log