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 to the authorized roles.
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 custom authorization object ZSCWM/TOCR. The new authorization object will be assigned to quality operator and quality supervisor role will be used for validation during execution of the posting change transaction.
2) Create custom / enhancement framework table ZSCWM_EWM_POSTCHNG to allow activation / deactivation of enhancement , define control parameters/variables , Inclusion/exclusion option for organizational values and stock type directions (Q*→F*). Create transaction ZSCWM_EWM_ENH to maintain the table or create config node in SPRO under SCM Extended Warehouse Management → Extended Warehouse Management
3) Implement BADI enhancement to validate if the enhancement is active and if they satisfy conditions defined in the control parameters to execute checks for the authorization object.
Objective: To allow stock type movements from quality or blocked to unrestricted stock type based on user role / authorization.
Screen shot: Transaction /SCWM/MON
Screen Shot: Transaction /SCWM/POST
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 table ZSCWM_EWM_POSTCHNG , 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 |
Assumptions
Not Applicable
Dependencies
Authorization object and assignment of object to the user roles
Security, Integrity and Controls
Follow calling Programs authorization check in the Badi explained in the above sections.
Configuration Requirements
Not Applicable
Language Requirements
Not Applicable
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
ZSCWM_EWM_POSTCHNG
This configuration table will be used as framework for the purpose of enhancement and will control the activation /deactivation of the enhancement. This will also 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 |
| AUTH_OBJ | Authorization Object | Char/20 | Free text e.g ZSCWM/TOCR |
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
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
| 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


