A Step-by-Step guide to create a simple FPM application using Feeder Class for FORM GUIBB

来源:互联网 发布:painter for mac 编辑:程序博客网 时间:2024/04/29 13:01

In this article, we will create a simple FPM Application using FEEDER CLASS for FORM GUIBB (Generic User Interface Building Blocks). We will use OIF (Object Instance Floorplan) in this article.

We will take a simple example of getting the material number from user and displaying the description of it using FORM GUIBB. One needs to follow all the steps to avoid the runtime errors.

Prerequisite: Before following this document, one should have a basic knowledge of WebDynpro ABAP and ABAP Classes.

What is Feeder Class?

A class that implements the IF_FPM_GUIBB_FORM ABAP interface (for form components) or the IF_FPM_GUIBB_LIST ABAP interface (for list components). Business logic can be access through it. It is the link between the application and the GUIBB.

There are 2 ways which can be used to develop the FPM application. One is using Free Style UIBB and Generic UIBB. In this article we will use the GUIBB (FORM is one of the available GUIBB).

 

Steps to be followed:

  1. Go to transaction code SE24 and create a FEEDER Class as follows.

    1.JPG

      

2)     Go to the “Interfaces” tab and enter the interface for FORM GUIBB “IF_FPM_GUIBB_FORM”.

2.jpg

And press Enter. It will automatically add the interface for the generic UIBB “IF_FPM_GUIBB

2.JPG

3)     Now if you click on the Methods tab, you will see all the methods implemented by these two interfaces.Make Sure you go inside each and every Method and activate them so it won’t give short dump.

 

3.JPG

4)     Now, go to method “GET_DEFINITION” enter the following code. 

* This method is for building Field catalog and actions required in the form

* Local Varibale declarations

  DATA: li_action_line    TYPE fpmgb_s_actiondef. 

* Prepare Field catalog

  eo_field_catalog ?= cl_abap_tabledescr=>describe_by_name( 'MAKT' ). " Here we can use any flat strutures or local types 

* Prepare actions

  li_action_line-id       = 'GET_MAT'.  " You can give wahtever name you want to the action ID

  li_action_line-visible  = cl_wd_uielement=>e_visible-visible.

  li_action_line-enabled  = abap_true.

  li_action_line-imagesrc = 'ICON_ADDRESS'.                          " Image for actions

  APPEND li_action_line TO et_action_definition.

1.jpg

5)     Go to method “GET_DATA” enter the following code.

  DATA : li_makt_line TYPE makt. 

  li_makt_line = cs_data.  "cs_data contains the data

  IF li_makt_line-matnr IS NOT INITIAL.

    SELECT SINGLE * FROM makt INTO cs_data WHERE matnr = li_makt_line-matnr .

    ev_data_changed = abap_true.

  ENDIF. 

* Check if the "Start Over" Button in clicked ; If yes clear the contents

  if io_event->MV_EVENT_ID = 'FPM_GOTO_START'.

    CLEAR cs_data.

  ENDIF.


4.JPG

REMOVED steps 6, 7 and 8

 

 

9)     Create the WebDynpro Application by right clicking on component as follows.

5.JPG

10)  Change the component and View in the properties of WD Application. In this example we are using OIF and hence the component is as follows. In case of other floorplans like GAF and OVP write FPM_GAF* and do the F4 and you will get the list.

            Component     :  FPM_OIF_COMPONENT

            Interface view:  FPM_WINDOW

7.jpg


11)  Now go to the package where you have saved the WebDynpro Application and right click on the Application and click “Create/Change Configuration”. 

 

6.JPG

12)  It will open the browser. Enter the Configuration ID. This is the FIRST CONFIGURATION of your FPM application. This is called as APPLICATION CONFIGURATION. Press Enter so it will give the following ERROR.

 

7.JPG

This is expected because till this point your APPLICATION CONFIGURATION does not exist. Click on Create button. You will receive the success message. 

8.JPG

13)  After Application Configuration, it’s time to create the Component Configuration for your OIF floorplan.

Enter the name component configuration name and click on “Go to Component Configuration”. 


11.jpg

This is again expected error and same as above (Step 12). Click on Create and give your package and it will open the next screen with the success message. 

9.JPG

14)  Click on the “Attributes” button and enter Component as “FPM_FORM_UIBB”.

 

13.jpg


Now as mentioned in the informational message on screen, go to View and click on F4 help and select the View as FORM_WINDOW.

 

10.JPG

Click OK

15.jpg

15)  Now let’s create the GUIBB Configuration and hence enter the Configuration Name and click Enter. It will appear above the “Configure UIBB” button.

11.JPG

16)  You will receive the same error and that is expected error. Click on Create.

166.jpg

17)  Enter your package name and then it will ask for the FEEDER CLASS name. Enter the Feeder Class name and click on Edit Parameters.

 

17.jpg

18)  You will receive the warning message and that can be ignored.

 

18.jpg

Just click OK. 

 

12.JPG

19)  On this screen, Click on the “Add Group”. It will add the group1 under Form and you can name it. 

20.jpg

20)  After adding group, we need to configure that as follows. Select the MATNR as we want to display it as Input field and then add “Button Row”. Click OK. 

 

13.JPG

21)  From Enhancement pack 5, we have some very good options like Value Suggestion while entering the material number. In order to view all the options available; just click on the “Element: Material” link under FORM-> Group1. 


22.jpg

22)  After that let’s configure the button we have added and add the action to it.

 

14.JPG

23)  To display the material details, lets add one more group and configure it by selecting the fields we want to display as follows.

 

24.jpg

24)  Click on the individual elements and set the property as follows :

 

15.JPG


26.jpg

Do it for all the fields and click on SAVE. 


25)  Finally, TEST the application. There are 2 ways to test the application as follows.

a)         Click on the Application Configuration link and then click on TEST.

aa     16.JPG

  It will take you to the Application Configuration. Just click on TEST.

   17.JPG

b)    From SE80; enter your package name and select the application and click on Application Configuration and execute.

29.jpg

26)  The Result screen looks like as follows, Enter the material and the click on Get Details it will populate the data.

 

18.JPG

31.jpg

0 0
原创粉丝点击