Show TOC

Interface: IF_FPM_GUIBB_TREELocate this document in the navigation structure

Table 1: Methods of IF_FPM_GUIBB_TREE Interface
GET_DEFINITION:

Allows the feeder class to provide all necessary information for configuring a Tree component: the list of available fields and their properties, and the list of actions (FPM events).

Parameter Description
EO_FIELD_CATALOG Is of type CL_ABAP_TABLEDESCR table. The components of the table are the available fields. The simplest way to provide a field catalog is to create a flat DDIC structure containing all the fields and then get the field catalog using the following construct:

eo_field_catalog ?= CL_ABAP_TABLEDESCR=>describe_by_name( <name>)

The Tree GUIBB supports only flat structures. When using deep structures, only the highest level fields are available.

ET_FIELD_DESCRIPTION This mandatory parameter is used to inform FPM which fields from the field catalog are to be used for which purpose in the Tree component. This is achieved with the help of the field COLUMN_TYPE (see note and table below).

The ET_FIELD_DESCRIPTION parameter can also be used to provide additional properties for various columns:

  • LABEL_BY_DDIC

    Indicates whether a column header text should be taken from DDIC or not

  • Search helps

    DDIC, OVS, and freestyle search help

  • HEADER_TEXT_WRAPPING

    Determines whether the column header text shall be wrapped or not

  • Attributes for read-only, mandatory, enabled and visibility
  • Attributes for enabling filtering and sorting, for formatting amongst others
ET_ACTION_DEFINITION A list of all actions (which will be transformed to FPM events at runtime) that you can assign to the Tree elements.
ET_SPECIAL_GROUPS This provides you with the same options that you have in the ABAP ALV (see function module REUSE_ALV_GRID_DISPLAY) to group the fields within your field catalog. You must enter the special group for each field in the field description table in field SP_GROUP . At design-time, the FPM configuration editor groups the fields together, providing you with an easier method for finding fields.

COLUMN_TYPE

To create a hierarchical list (tree), you must establish the hierarchical relationship between records using the application data. To do this, the fields in the following table are required. This information is passed in the GET_DEFINITION method of the feeder class. From the field catalog provided in this method, you must select the fields which you want to use to determine the hierarchy. The field COLUMN_TYPE in the ET_FIELD_DESCRIPTION is used to provide this information. The following table explains the various column types:
Table 2: Values for COLUMN_TYPE Field
COLUMN_TYPE Value Explanation Optional or Mandatory Data Type
Parent Key This column of a table contains the parent element in the hierarchy at any level. Mandatory Any
Row Key This column of a table contains the row/child element in the hierarchy at any level. Mandatory Any
Expanded This column of the table determines whether the parent node is expanded or not. Mandatory Boolean
Is Leaf This column of the table determines whether the element is the last node in the hierarchy. Optional Boolean
Children Loaded This column helps in stopping a backend call every time the same node is opened. Optional Boolean
Text This column determines the text which needs to be rendered on the UI for the tree column. Optional String
Image This column contains the string for an icon if you want to display one in the master column. Optional String
GET_PARAMETER_LIST:

This method is called at design time and allows you to define a list of the parameters that the feeder class supports. This list is used by the FPM Configuration Editor to provide the input fields for these parameters.

Parameter Description
RT_PARAMETER_DESCR Is returned from this method. It describes which parameter is possible. In Field TYPE , the DDIC type needs to be entered.
INITIALIZE:

Called at runtime when the Tree component is created.

Parameter Description
IT_PARAMETER Contains a list of the feeder class parameters and the values for them specified in the configuration.
FLUSH:

This method is called whenever an FPM event is triggered (this includes all round trips caused by the Tree component itself). Use it to forward changed Tree data to other components in the same application.

Parameter Description
IT_CHANGE_LOG Lists all changes made by the user.
IS_DATA A structure containing the changed data.
PROCESS_EVENT:

Called within the FPM event loop. Here the event processing can take place and this is where the event can be canceled or deferred.

Parameter Description
IO_EVENT The FPM event which is to be processed.
EV_RESULT The result of the event processing. There are 3 possible values:
  • ev_result = if_fpm_constants=>gc_event_result-OK
  • ev_result = if_fpm_constants=>gc_event_result-FAILED
  • ev_result = if_fpm_constants=>gc_event_result-DEFER
ET_MESSAGES A list of messages which shall be displayed in the message region.
GET_DATA:

Called within the FPM event loop. Here you specify the Tree data after the event has been processed.

Parameter Description
IO_EVENT The FPM event which is to be processed.
IV_RAISED_BY_OWN_UI Indicates whether the event originates from this UIBB.
IV_EDIT_MODE The OVP edit mode state of the UIBB.
IT_SELECTED_FIELDS The list of fields necessary for the Tree rendering. Provide only the data for the fields listed in this table; all other fields are neither visible at runtime nor used as reference for visible fields.
ET_MESSAGES A list of messages which shall be displayed in the message area.
EV_DATA_CHANGED For performance reasons, the GUIBB adjusts the data in the Tree only if the data has been changed. You must set this flag whenever you change the parameter CT_DATA.
EV_FIELD_USAGE_CHANGED Indicates whether or not the field usage has been changed by this method. If you change the field usage without setting this flag to X, your changes are ignored.
EV_ACTION_USAGE_CHANGD Indicates whether or not the action usage has been changed. Use an X to indicate whether you changed the action usage. If you do not, your changes are ignored.
CS_DATA The Tree data to be changed.
CT_FIELD_USAGE Field usage to change. The field usage consists of the field attributes which might change at runtime (for example, enabled, and visible). Note that if you change the fixed values of a field, set the flag FIXED_VALUES_CHANGED for this field.
CT_ACTION_USAGE Action usage to change. The action usage consists of the attributes related to actions which might change at runtime. For example, visibility. If an action is rendered as a button, then the visibility setting of the button is defined here.
CS_TREE_ATTRIBUTES Use this parameter to specify the header and the tooltip for the master column in the Tree.
Note Regarding columns, note that it is possible to assign the attributes for CT_FIELD_USAGE and CT_ACTION_USAGE either to single cells, or to whole columns. If you want to set these attributes for the whole column, use the corresponding fields in the FIELD_USAGE structure. If you would like to set these attributes for single cells, proceed as follows:
  1. Create a new column for the table (add a field to the field catalog in the GET_DEFINITION method).
  2. Define the column as a technical column (one that is not visible at runtime), by setting the field TECHNICAL_FIELD to X.

    This column contains the properties of the cells.

  3. In the GET_DEFINITION method, adjust the field description accordingly. For example, you want to set the property READ_ONLY for single cells in column A. For this reason, you create a technical column B. In the field description, you set READ_ONLY_REF to B.
GET_DEFAULT_CONFIG:

Call this if you want to have a default configuration. Use it to call pre-configured form configurations when a user starts the FPM configuration editor. This avoids the user, who uses a feeder class to create a Tree, having to create it from the beginning.

Parameter Description
IO_LAYOUT_CONFIG Of type IF_FPM_GUIBB_TREE_CONFIG: This object provides the API to create a default configuration.
CHECK_CONFIG:

Call this if you want to make your own application-specific checks on the configuration in the FPM configuration editor immediately before saving.

Parameter Description
IO_LAYOUT_CONFIG Of type IF_FPM_GUIBB_TREE_CONFIG: This object provides the API to read the configuration to be saved.