Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
simon_hoeg
Advisor
Advisor

Dear SAP Community,

our team continues to provide new features to enhance user experience and productivity. One such improvement is introduced with SAP Note 3406803, available from SAP_UI 757, which focuses on the FPM ABAP Push Channel for Events and the new delivery type Do Not Disturb Receiver. In this blog post, I will demonstrate how this new feature empowers application developers to prevent immediate roundtrips on the application user interface, thus improving the overall user experience.

When users interact with an application, they may place the cursor in an input field to provide input or make changes, for instance, in a filter bar. As a result, any event triggered via ABAP Push Channel during this time would result in an immediate roundtrip on the user interface, interrupting the user's workflow. This interruption can be frustrating and hinder efficiency, therefore we addressed this problem by introducing a new parameter, IV_DELIVERY_TYPE, in the method SEND of class CL_FPM_CHANNEL_MANAGER, respectively interface IF_FPM_CHANNEL_MANAGER.

The parameter IV_DELIVERY_TYPE can have two kind of values:

0IF_FPM_CHANNEL_MANAGER=>GC_DELIVERY_TYPE-STANDARD (default)
1IF_FPM_CHANNEL_MANAGER=>GC_DELIVERY_TYPE-DO_NOT_DISTURB_RECEIVER

In addition, we have prepared test application FPM_TEST_APC_OVP such that you can try the new feature right after implementing SAP Note 3406803, see Figure 1.

Figure 1: Test application FPM_TEST_APC_OVP showing a filterbar, result list and chart

By running ABAP report FPM_APC_MULTIPLE_TEST you will trigger fifty FPM events, for instance, with ID FPM_REFRESH and further defined properties, see Figure 2. When using the new delivery type, the application ensures a smooth and uninterrupted user experience. You can continue your work without unnecessary interruptions caused by events triggered during input field interactions. In the meantime, the events are queued on the client, and are forwarded to the ABAP backend once you leave the input field or trigger any roundtrip on the user interface, e.g. by pressing the button "Go" in the test application.

Figure 2: Initial Screen of ABAP Report FPM_APC_MULTIPLE_TEST

One final remark: The above sample application is using also the event tracker introduced with ABAP interface IF_FPM_CHANNEL_MANAGER. The defined tracking time is 20 seconds, and the event handler of event FAILED_DELIVERY (class CL_FPM_CHANNEL_MANAGER_TEST) is sending an FPM Event of delivery type STANDARD, such the event queue is being resolved at the client. As an application developer, you can of course implement, extend or combine this as you like.

Bye bye 😉