| Status | Approved |
|---|---|
| Owner | YILMAZTURK-ext, Gokhan |
| Stakeholders | LEIGHTON-ext, Dean |
| Jira Request ID | ERP-98 - Getting issue details... STATUS |
| Jira Development ID | ERP-349 - Getting issue details... STATUS |
High- Level Specification
| Parameter | Value |
|---|---|
| Application System | SAP S/4HANA ROW, SAP S/4HANA China, SAP S/4HANA CUI |
| Business Process Reference | 07.05.01.01. Manage Asset, Faults and Incidents |
Functional Overview
For requesting maintenance on regular activities, the app “Create Maintenance Request” (App ID : F1511A) will be used. However, when requesting Project Work, we will need to use a different WDA application called “Create Maintenance Notification” (App ID : W0006). In this application, we will need to make WBS Element field mandatory. Also after the WBS Element is entered, we will need to validate if this WBSE is a valid one. (e.g. Accounting Indicator must be set etc.)
Scope and Objectives
This development has 3 main objectives as follows;
- Launchpad Design & App Tile Configuration: In A2D, the app “Create Maintenance Request” (App ID : F1511A) will be used for raising maintenance requests on regular activities. However, we will need a separate Fiori application to raise "Project Work". For this purpose, the WDA application called “Create Maintenance Notification” (App ID : W0006) will be used with certain launchpad configuration which is mentioned in detail at the Configuration Details section. This app will be targeted only for certain user groups (e.g. Project Managers), which is also explained in the Security, Integrity and Controls section.
- Enabling certain standard fields and making them mandatory: In standard app “Create Maintenance Request” (App ID : F1511A), WBS Element field (which is also a standard field) is not present. It is also not supplied with OData Services/CDS Views the app is using as well. On the other hand, the field is available in the “Create Maintenance Notification” (App ID : W0006) which is intended to be used for this process but hidden. Therefore, this field needs to be configured to become visible and also have to be a mandatory field via configuration that is explained in the Configuration Details section.
- Performing checks and validations during saving the notification: Once the WBS element field is entered, a validation has to be done to check if the WBS Element is a valid one. A valid WBS Element has Accounting indicator as true.
Step | Description | Comment |
|---|---|---|
| 1 | User launches app “Create Maintenance Notification” (App ID : W0006) | using a following parameter: "QMART=Y3". The initial screen where the notification type needs to be selected, will be skipped by providing this parameter in the target url. |
| 2 | User enters Notification Details | e.g. Notification Description, Technical Object, Maintenance Plant, Company Code, etc. |
| 3 | User enters WBS Element in Organizational Data Tab under Account Assignment tab | |
| 4 | Enhancement triggers checks for WBS Element to see if it's valid | if not it will populate an error |
| 5 | User saves the notification | |
| 6 | If WBS Element is fulfilled in the notification, it is also supplied to PSP_NR field in VIQMEL table. |
Assumptions
The “Create Maintenance Notification” (App ID : W0006) will only be used for creating Y3 Notifications via a targeted group of users. For regular maintenance activities, “Create Maintenance Request” (App ID : F1511A) app will be used instead.
Dependencies
WBS Element needs to be created prior to create a Y3 Notification as a prerequisite.
Security, Integrity and Controls
Since the app intended to be used, “Create Maintenance Notification” (App ID : W0006), is a standard one. The authorization checks it has is sufficient. Nevertheless, this app is intended for a targeted user group, therefore, following Launchpad design changes needs to be applied from Security, Integrity and Controls perspective;
- The app can be copied from Technical Catalog: SAP_TC_EAM_BE_APPS or from the business catalog: SAP_EAM_BC_NTF_MW to a new Business Catalog: ZSAP_EAM_BC_NTF_MW_PS, Description: EAM - Notification for Projects. The new business catalog and fiori app tile than can be added to the dedicated role created for this process.
The details of Fiori Tile configuration will be mentioned in the Configuration Requirements section below.
Configuration Requirements
Below you can find the details for the App Tile Configuration;
| Configuration | Value |
|---|---|
| Title | Create Maintenance Notification |
| Subtitle | for Projects |
| Keywords | EAMS_WDA_ORDNTF_OIF |
| Icon | sap-icon://request |
| Use semantic object navigation | True |
| Semantic Object | MaintenanceNotification |
| Action | create |
| Parameters | sap-ui-tech-hint=WDA&QMART=Y3 |
Language Requirements
Since this is a standard Fiori app, there is no language requirement for the UI. However, the error messages that will be used, needs to be translated accordingly.
Special Requirements
Design Rationale
Functional Requirements
During notification creation, a valid WBS Element needs to be entered. For this process, a valid WBS Element requires Accounting Element field (PRPS-BELKZ) to be set as true ('X'). This is because only than the maintenance costs later in the maintenance order can be settled to this WBS Element.
When the notification is created using this WDA app, the WBS Element in Organization Tab will be entered. Once saved, this entry only populates VIQMEL-PROID field with corresponding data. However, it's also required by I2M to fill the following field: VIQMEL-PSP_NR with same value. This is not possible in the standard behavior. For that, Save BADI mentioned below can be used.
Proposed Technology to Use
- Check if the WBS Element field is valid: For that purpose, SAP BADI: EAM_NOTIFICATION_FIELD_CONTROL can be used. Once the field is populated with a value, it needs to go to PRPS table and see if Accounting Indicator (BELKZ) is set. If not, it needs to throw an error with following message; "This WBS Element is not set as Accounting Element, please use a valid WBS Element"
- Pass WBS Element from PROID to PSP_NR field in VIQMEL. For this purpose, SAP BADI: NOTIF_EVENT_SAVE can be used to pass WBS Element data accordingly. In this BADI, filter type: QMART is used. Here the filter value will be "Y3". In the CHANGE_DATA_AT_SAVE method, if the PROID field is not empty, it needs to be also copied to PSP_NR field in the structure; CS_VIQMEL.
Here is an example code;
METHOD if_ex_notif_event_save~change_data_at_save.
IF cs_viqmel-proid IS NOT INITIAL.
cs_viqmel-psp_nr = cs_viqmel-proid.
ENDIF.
ENDMETHOD.
Data Source Considerations
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Data Validation Considerations
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
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
Volumetrics
Performance Considerations
Error Handling
Testing
How to Test
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
| 1 | User launches app “Create Maintenance Notification” (App ID : W0006) | using a following parameter: "QMART=Y3". The initial screen where the notification type needs to be selected, will be skipped by providing this parameter in the target url. |
| 2 | User enters Notification Details | e.g. Notification Description, Technical Object, Maintenance Plant, Company Code, etc. |
| 3 | User enters WBS Element in Organizational Data Tab under Account Assignment tab | |
| 4 | Enhancement triggers checks for WBS Element to see if it's valid | if not it will throw an error |
| 5 | User saves the notification | |
| 6 | If WBS Element is fulfilled in the notification, it is also supplied to PSP_NR field in VIQMEL table. |
Test Considerations/Dependencies
Other Information
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 |