Skip to Content
Author's profile photo Ragini Upadhyay

Quality Management Quality Notification – Custom SAP Fiori Transactional App (ECC)

This document covers the details of the custom SAP fiori Transactional App developed for Quality Notification using FIORI 2.0.  SAP does not provide standard solution (FIORI App) that covers all these functionalities for ECC.The entire code is not shared but all FMs/Tables/Logic are listed in the last part of the document as pointers. 

The document focuses on two aspects depending on the target audience:

  • Features covered in the app (Functional/Business/End Users Audience)
  • High level Technical details for each functionality (Technical Audience)

Features of the App

  1. My Tasks
  2. Create/Change/Display Notification – Header , Tasks , Items/Defects
  3. Add/Change/Delete Tasks / Items
  4. Change User Status for each task
  5. Release of all Tasks & Notification
  6. Assign Multiple Batches to Each Item/Defect
  7. Digital Signature for closing Tasks and Notification
  8. Alerts
  9. Search for Notifications Based on Given Search Parameters
  10. Value helps for all fields with wild card search/case sensitive search wherever possible
  11. Variant Management ( as in SAP ) – Create / Update / Delete / Setting Default Variant
  12. Create/View Note for Inspection Lot
  13. Create/View Attachments for Inspection Lot
  14. Print Report ( Sap script Form/Smart form/Adobe in PDF format)
  15. Decimal , Date User format as per the user profile
  16. Multiple Language support
  17. Lock Mechanism
  18. Authority checks done as per Client requirements
  19. Security Roles assigned to Catalogs , Groups , OData Services on Gateway and Backend

 

These features covers functionalities of transactions QM01/02/03, QM11/13.

Most of the functionalities (points 8 to 19) are common to previous app. Refer below link for common functionalities. This document focuses on the notification specific functionalities (points 1 to 8).

https://blogs.sap.com/2018/03/12/quality-management-results-recording-custom-sap-fiori-transactional-app-ecc/

  1. My Tasks

As soon as User enters the app the first screen displays the list of notification tasks assigned to the logged in user. Tasks are fetched for the user for a period of last 365 days from current date with task status as “Released (TSRL)” and previous tasks user status “Task Completed (TSCM)”. This makes easy for user to get a view of his/her task and take action immediately.

User can edit the task by clicking on pencil icon on the right bottom side, change User Status by clicking on complete button instead of going into notification and doing the same action.

If the user is the approver for the task, buttons Approve and Reject appear at the bottom.

  1. Create/Change/Display Notification – Header , Tasks , Items/Defects

User can create notification with only few mandatory fields as per client’s settings.

My defaults feature is provided to make users life easier where the user can save his/her default values for different fields on the screen and can load and use them the next time to create notification instead of typing all the fields again.

Validations for batch, Production Order etc. Fields are in place to avoid wrong posting of data in the SAP.

After correcting the invalid values, notification gets created and posted in SAP.

After creation, the screen gets refreshed with the new values and user can view the details and can also change by clicking on the pencil icon at the bottom of the screen.

  1. Add/Change/Delete Tasks / Items

User can add/delete/change tasks/items in create/change mode.

 

 

  1. Change User Status for each task

User Status can be changed by clicking on edit task button. This functionality is similar to the one on the first My Task screen. User status can be changed to Complete or Approve/Reject if the user is approver for the task.

Different User Status Change possible are Completed , Approved , Rejected , Cancel :

  1. Release of all Tasks & Notification

On click on submit Workflow button the notification gets saved and all tasks and notification are released at one go unlike SAP where tasks have to be selected and then released. In SAP, after release of all tasks, notification is released. This reduces the no of clicks and operations in FIORI making it easier for user.

Released Status

 

  1. Assign Multiple Batches to Each Item/Defect

User can assign multiple batches to each line item/defect On the Item/Defect screen by clicking on the icon next to delete. The Batches assigned can be changed as well as deleted.

After successful save, the batches can be seen with the sort numbers.

Change/Delete/Add of new batches

Batch for sort number 0010 deleted , for sort number 0020 changed and a new batch added as well

After successful save the new sort numbers can be seen.

  1. Digital Signature for closing Tasks and Notification

Again this a multi click task in SAP where user has to select each and every line item to close the task enter digital signature and then finally close the notification with Digital signature. To reduce this, it’s a one click action in FIORI app where on click of close button Digital signature pop up appears and all the tasks and notification are closed provided the user status of all tasks are complete. Again this reduces a lot of work for user.

 

After all tasks are completed the functionality can be completed. It gives a pop up for user to select option from Internal/External Origin and Date/Time.

After choosing the option , the Digital Signature pop up appears.

After entering the password, the notification and all tasks closes successfully.

  1. Alerts

On the search screen, for the entered parameters list of notification is displayed. For this list, depending on business rules defined by client, alerts are displayed. This gives user information on the remaining to close notifications, Approaching deadline, Overdue Notifications. The no of days (calculated from current date) for each criteria is defined by the business. For e.g.: if today’s date – required end date for the task is 5 days then it should appear in approaching deadline criteria.

 

High Level Technical Details

This part of the document would be more appealing for the technical people as most of the time is lost in finding the correct logic/function modules/tables/enhancements and testing them. The aim is only to give high level details and not the exact step by step process done to achieve the functionalities.

Functionality Technical Details
Create Notification BAPI_QUALNOT_CREATE
Change Notification BAPI_QUALNOT_MODIFY_DATA
Display Notification BAPI_QUALNOT_GETDETAIL
Add Task/Item BAPI_QUALNOT_ADD_DATA
Delete Task/Item BAPI_QUALNOT_DEL_DATA
Save Notification BAPI_QUALNOT_SAVE
Release Tasks BAPI_QUALNOT_CHANGETSKSTAT
Release Notification BAPI_QUALNOT_RELSTAT
Search Notification

Tables : QMEL  -> notification

JEST -> Status

BAPI_QUALNOT_GETDETAIL

MATERIAL_READ_MAQM -> UOM based on material

My Task Details

HR_SEN_CRULE_0100_DATE – >calculate 365 days from current date

Tables : QMSM , QMEL , QPCT , TJ30T , TJ02T

STATUS_READ -> to read status

Read Assigned Objects QNAOD_AOBJECT
Change User Status

STATUS_CHECK

STATUS_CHANGE_EXTERN

STATUS_CHANGE_INTER

BAPI_QUALNOT_COMPLSTAT

Create/Change/Delete Assigned Objects

cl_qnao_object=>load

cl_qnao_object=>create

cl_qnao_object=>save

 

Enhancements/Exits/BADI Used:

Functionality Purpose and Technical Details
Digital Signature Standard Create/Change Notification FM has the Digital Signature Code, but it checks the flag and gives an error message and stops the process. To continue signing, if the FM is called from FIORI a flag is set to indicate that the call Is from FIORI screen. The necessary DS flag is cleared from the method and standard signing process continues.
Custom Fields NOTIF_EVENT_SAVE~CHANGE_DATA_AT_SAVE is used to save the custom fields if any for notification
Assigned Objects There are no standard FMs or direct methods for Create/Save/Delete Assigned Objects. To achieve this few implicit enhancements done.

 

Thanks!!!

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Adam Hakim
      Adam Hakim

      Hi Ragani,

       

      Nice work. How hard was the oData APIs for this app?

       

      -adam

      Author's profile photo Ragini Upadhyay
      Ragini Upadhyay
      Blog Post Author

      Hi Adam,

      Thank you. It was a bit tough as we had lot of functionalities in one single app. Let me know in case you are looking for some specific solution.

      Thanks,

      Ragini

       

       

      Author's profile photo Adam Hakim
      Adam Hakim

      Hi,

       

      Yea we have a customer wanting something very similar. Is there a way to communicate offline by email or else.

       

      Let me know.

       

      Thanks

      -Adam

      Author's profile photo Sachin Sharma
      Sachin Sharma

      Please help on the Digital signature implementation in FIORI. Your early reply will be really appreciated 🙂

      Author's profile photo Adam Hakim
      Adam Hakim

      Sachin, were you able to find solution for your question?

      Author's profile photo Adam Hakim
      Adam Hakim

      Hi Ragini,

      Thanks for making this blog. I want to understand how the Digital signature feature was developed in the backend. The digital signature in SAP gui raises a popup, how were you able to avoid this on your app. Please share your inputs if there was any specific SAP FM etc which allowed to accomplish this task.

      Author's profile photo Jalil Benthami
      Jalil Benthami

      Thank you Ragini for the blog,

       

      Can you please share more details on how to get the DS popup working from Fiori apps ? Thanks

      Author's profile photo Subhendu Khan
      Subhendu Khan

      Hi Ragini Upadhyay , How Credential pop-up has been hidden and UI values is passed to verify?

      Author's profile photo Ragini Upadhyay
      Ragini Upadhyay

      Hi Subhendu,

       

      In include LRSIGF02 , i have implemented an implicit enhancement to suppress the pop up screen.

      The password sent from UI is set in a global static variable and is accessed in this enhancement.

      check is done to see if call is coming from OData , if yes then the password is set in the structure for DS.

      sign_popup_struc-password = lv_password.

      SUPPRESS DIALOG.

      Thanks,

      ragini