Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

FPM Forms are the new alternate User Interface (along with Adobe UI) provided by SAP in EHP6 for HCM Process and Forms.  A decent introduction about this new UI was already provided by siddharth.rajora

Like me, many of my friends must have already worked on "Adobe Interactive Forms" and on introduction of this new UI - FPM Forms (Web Dynpro ABAP based UI) the very first question that came to my mind was - "How does this handle the Scripting (i.e. How to dynamically make a UI field editable/visible)? Like Adobe Interactive Forms has Form Calc and Java scripts that takes care of this scripting, do we have anything special that does this scripting". Well, I continued doing my research and found couple of ways to achieve this.

In this blog, I would like to demonstrate one of the possible ways to achieve this functionality (I shall write one more blog to demonstrate the other option too). Before diving into this topic, I would like to give a quick brief on the differences found in the EHP5 and EHP6 versions with respect to the Scripting.

New Features in EHP6


Scripting in EHP6 can be handled using the backend services. A new parameter is added to the Backend Service's Interface (IF_HRASR00GEN_SERVICE) methods - INITIALIZE and DO_OPERATIONS in EHP6 -

The UI_ATTRIBUTES has the following fields (which is a similar structure as SERVICE_DATASETS except a new field called as "UI_ATTRIBUTE”) - 

BEGIN OF ty_s_gensrv_ui_attribute,
      fieldgroup   
TYPE asr_field_group,
      fieldname    
TYPE hrasr_fieldname,
      fieldindex   
TYPE asr_fieldindex,
      ui_attribute 
TYPE hrasr_ui_attribute,
END OF ty_s_gensrv_ui_attribute .


This new field  UI_ATTRIBUTE can accommodate the following values -

Implementation

Went ahead implementing this concept using the below steps -

  1. To which ever fields I intend to have this "Dynamic" behavior, I went ahead setting the "UI Attribute” to my backend service (Assumption: Necessary configuration before reaching this point) -

2. Controlled the UI Attribute in my custom backend service class's method (INITIALIZE / DO_OPERATIONS), in my case I placed the below code in DO_OPERATIONS method -

     READ TABLE UI_ATTRIBUTES ASSIGNING <FS_UI> WITH KEY FIELDNAME = 'I0105_BEGDA'.
     
IF SY-SUBRC = 0.
          
IF ME->ZFLAG1 = ABAP_TRUE.
                <FS_UI>
-UI_ATTRIBUTE = 'H'.
          
ELSE.
                <FS_UI>
-UI_ATTRIBUTE = 'I'.
          
ENDIF.
     
ENDIF.


3. Triggered the appropriate event to bring in the dynamic UI behavior -

Like for this requirement, I want to hide the "Valid From" field when the check box is set. So in order to achieve this functionality, I went ahead attaching it to "Check" event. So when user toggles on this "Check box" control, the "USER_EVENT_CHECK" event gets triggered i.e. DO_OPERATIONS method gets called which takes care of my Dynamic UI behavior using Step-2 code.

Final Outcome (The End) -

On testing this configuration, the initial screen looks like -


On selecting the "Hide Display Valid From field" check box, I see the below screen -

8 Comments
Labels in this area