High- Level Specification
| 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 |
Functional Overview
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.
Scope and Objectives
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
Assumptions
Not Applicable
Dependencies
Not Applicable
Security, Integrity and Controls
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
Language Requirements
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).
Special Requirements
Not applicable.
Design Rationale
Functional Requirements
As-Is (Business process)
- The stock type transfer from quality to unrestricted or blocked to unrestricted is only be done by quality users
- Warehouse users are restricted to carry out such stock type movements (to unrestricted , once moved to quality or blocked stock)
SAP standard (EWM)
- SAP EWM support movement of stock type from one to another via EWM Monitor where the stock line can be selected and the stock type can be changed
- This is a single transaction that has many sub objects and therefore, the authorization object at transaction level cannot be used as other functionalities in the monitor will be affected
- Authorization restriction alone at movement type level in S4 ERP would mean potential queue failures when messages are sent from EWM to ERP.
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 or enhancement framework configuration table to validate applicable sites and control the stock type movement directions
Proposed Technology to Use
SAP standard BADI: /SCWM/EX_CORE_GM_STOCK
Data Source Considerations
Not Applicable
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Data Validation Considerations
Not applicable
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Custom Tables
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 |
Master Data
Not Applicable
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Configuration Table
Not Applicable
Selection Screen Enhancement
Not Applicable
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Processing 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 |
Volumetrics
Not Applicable
Performance Considerations
Not applicable
Error Handling
Error message should be displayed as explained in the process flow step section above.
Testing
How to Test
Test Conditions and Expected Results
| 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 |
Test Considerations/Dependencies
Not Applicable
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
| BADI implementation | /SCWM/EX_CORE_GM_STOCK | /ZSCWM/EX_CORE_GM_STOCK | NA |
Other Development Objects
Not Applicable
| 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
Not Applicable



4 Comments
PANDIT-ext, Sunil
WEINERT-ext, Patrick , As suggested , the corrections are in place now. Please suggest or approve.
WEINERT-ext, Patrick
KUMARAVELU-ext, Shruthi and SANGOLOLA-ext, Dele Please review the FS from security POV and let me know once done.
KUMARAVELU-ext, Shruthi
Security Review is complete
PANDIT-ext, Sunil
KUMARAVELU-ext, Shruthi , The document is updated per your inputs