| Status | |
|---|---|
| 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.03.02. Process Posting Changes in EWM |
The functional design of the enhancements describes the scenario(s) where enhancements to existing SAP programs are required.
Integration Topic #322
Topic:
Restriction on posting changes in EWM:
from Blocked -> to Unrestricted status
from Quality -> to Unrestricted status
Description:
Business require that stock movements from stock types blocked or quality status to unrestricted status can only be performed by operators having Quality roles and not by the operators having warehouse roles. This is required so that unauthorized users are not able to perform the stock movements especially when the stocks are in quality status and or blocked status for quality reasons.
In EWM system, such movements are done at warehouse monitor level which is a single transaction. This transaction also include multiple objects and functionalities to support warehouse operations and therefore restricting any authorization at the transaction level could jeopardise other functionalities in EWM monitor. Moreover such movements are required to be restricted only in specific directions meaning from quality to unrestricted and not the other way round.
For this reason, there will be enhancement required to provide authorization control at the specific execution object level in the monitor so that other objects are not affected and that the enhancement will ensure that specific stock type movements are restricted based on the new authorization object.
Solution Key Considerations:
Stock type changes – SAP EWM
Enhancement via BADI implementation (/SCWM/EX_CORE_GM_STOCK - KBA 3157694) to control the authorization at sub object level which invoke the posting change transaction in the monitor
Provide custom authorization object that will be checked as a part of enhancement to validate and allow transaction to be completed to the authorized roles where the object is assigned. Such roles will be assigned to the required users from quality
Enhancement framework / Parameterization via soft config to validate applicable sites and control the stock type movements
Process Impact:
Posting Change / Ad-hoc stock type movements in EWM
During execution of stock type posting changes, warehouse operator should not be able to move stocks from quality to unrestricted or blocked to unrestricted.
Ability for quality roles to be able to perform stock type changes.
The scope of this enhancement :
1) Create a new custom authorization object. The new authorization object will be used for validation during execution of the posting change transaction as a part of authorization check.
2) Create custom / enhancement framework table to allow activation / deactivation of enhancement , define control parameters/variables , Inclusion/exclusion option for organizational values and stock type directions (Q*→F*). The table will need to be transportable.
3) Implement BADI enhancement to validate if the enhancement is active and if they satisfy conditions defined in the control parameters and to execute checks for the authorization object.
Objective: To restrict stock type movements from quality or blocked to unrestricted stock type for warehouse operative or warehouse clerk roles.
Screen shot: Transaction /SCWM/MON

Screen Shot: Transaction /SCWM/POST


Not Applicable
Not Applicable
Follow calling Programs authorization check in the Badi explained in the above sections.
The calling program / Badi implementation to perform authorization check for the new authorization object. Only when the new authorization object is available in the roles assigned to the user, should the execution of the transaction be allowed. In the event of no authorization object available to the user via role , error message should be raised.
Configuration Requirements
Not Applicable
Error message translation to be made available to reflect the custom messages are displayed when logged on specific language
Standard languages available in KDD055:
4 Core Languages (English, French, Italian and Mandarin) and additional language support (Brazilian Portuguese, German, Spanish and Thai).
Not applicable.
As-Is (Business process)
SAP standard (EWM)
Solution Key Considerations
Stock type changes – SAP EWM
Proposed Technology to Use
SAP standard BADI: /SCWM/EX_CORE_GM_STOCK
Not Applicable
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Not applicable
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
A new enhancement framework table will need to be created. This will be required to control the activation/deactivation of enhancement and to define the parameters (organizational entities and transactional objects). The table entries will be transportable and will be maintained by the functional / IT team as a part of solution deployment for the sites. This will provision the parameters for the execution of checks for the activated enhancement . The values defined for the parameters could be a wildcard in such cases all the values should be accepted as validated.
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
| Active | Enhancement Active/Not active | Char/1 | Checkbox , if selected , the enhancement is active else not |
| LGNUM_INC | Warehouse Number (Inclusion Values) | Char/4 | Check table /SCWM/T300. Allow validation for wildcard entry (****) |
| LGNUM_EXC | Warehouse Number (Exclusion Values) | Char/4 | Check table /SCWM/T300. Allow validation for wildcard entry (****) |
| FROM_CAT | From Stock Type | Char/2 | Check Data element /SCWM/DE_CAT |
| TO_CAT | To Stock Type | Char/2 | Check Data element /SCWM/DE_CAT |
| PROC_CAT | Process Category | Char/1 | Check field TRART , Data element /SCWM/LVS_TRART |
Not Applicable
<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 |
|---|---|---|---|
Not Applicable
Not Applicable
| 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 |
|---|---|---|---|---|---|
Below steps will happen while restriction on posting changes in EWM are performed:
![]()
Step | Description | Comment |
|---|---|---|
| 1 | Initiate action posting change via transaction /SCWM/POST or via method in /SCWM/MON | Check if the BADI is being called when executing both transactions |
| 2 | Validate that enhancement is active for the warehouse in the custom table , if validation not successful, exit. | Badi enhancement flow logic |
| 3 | Validate that the field values in the custom table for field “FROM_CAT” and “TO_CAT” are same as corresponding document value in field CAT (check TAPOS =1 and 2 for corresponding values) , if validation not successful, exit. | Badi enhancement flow logic |
| 4 | 1)Validate that the AUTH_OBJ value in the custom table exist in the roles assigned to the user, if validation not successful , , provide error “user not authorized for this transaction” | Badi enhancement flow logic |
| 5 | If validation is successful , return to standard code - allow the warehouse task to be processed with standard check | Badi enhancement flow logic |
Not Applicable
Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)
Not applicable
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 message should be displayed as explained in the process flow step section above.
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 |
|---|---|---|
| 1 | Pre-condition: The authorization object is not assigned to any role assigned to you as a tester . Use transaction /SCWM/MON. Open node stock and bin and double click the option stock overview. Select the stock line with stock type Q* or B* and click on physical stock button. Select the line in the physical stock and click button more methods. Select option "change stock type". On the pop up screen , enter the stock type F2 and click on create posting change | Error Message: you are not authorized for this transaction |
| 2 | Pre-condition: The authorization object is assigned to any role assigned to you as a tester . Use transaction /SCWM/MON. Open node stock and bin and double click the option stock overview. Select the stock line with stock type Q* or B* and click on physical stock button. Select the line in the physical stock and click button more methods. Select option "change stock type". On the pop up screen , enter the stock type F2 and click on create posting change | Stock type posting change successfully executed and warehouse task is created |
| 3 | Pre-condition: The authorization object is not assigned to any role assigned to you as a tester . Use transaction /SCWM/POST. Select material with existing stock in stock type Q or B*. Enter posting change quantity , process type as 9999 and enter/change target stock type to F2 and hit save. | Error Message: you are not authorized for this transaction |
| 4 | Pre-condition: The authorization object is assigned to any role assigned to you as a tester . Use transaction /SCWM/POST. Select material with existing stock in stock type Q or B*. Enter posting change quantity , process type as 9999 and enter/change target stock type to F2 and hit save. | Stock type posting change successfully executed and warehouse task is created |
Not Applicable
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 |
|---|---|---|---|
| BADI implementation | /SCWM/EX_CORE_GM_STOCK | /ZSCWM/EX_CORE_GM_STOCK | NA |
Not Applicable
| 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 |
Not Applicable
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.
