Das ABAP-Interface IF_BICS_CONS_WEBITEM_CUST_EXIT besitzt ABAP-Attribute und ABAP-Methoden. Die ABAP-Attribute sind konstante Werte; bedeutender sind die ABAP-Methoden dieses Interface, die nachfolgend beschrieben werden.
Methode |
Beschreibung |
Initialisieren (IF_BICS_CONS_WEBITEM_CUST_EXIT~INITIALIZE) |
Diese ABAP-Methode wird in folgenden Fällen abgerufen: ● Beim initialen Rendern des Web Templates ● Wenn die Parameter des Web Items Individuelle Erweiterung gesetzt wurden (über den Befehl SET_ITEM_PARAMETER). Folgende Import-Parameter steht Ihnen zur Verfügung: Eigenschaften (I_T_PROPERTIES) Die Eigenschaften stellen eine Tabelle mit Name/Wert-Paaren dar und sind im Web Template spezifiziert. Weitere Informationen finden Sie unter Individuelle Erweiterung beim Parameter Eigenschaftsliste (NAMED_PROPERTY_LIST). |
Ressourcen freigeben (IF_BICS_CONS_WEBITEM_CUST_EXIT~FREE) |
Diese ABAP-Methode wird in folgenden Fällen abgerufen: ● Schließen der Anwendung ● Abmelden vom System ● Änderung am Web Template |
Ausführen (IF_BICS_CONS_WEBITEM_CUST_EXIT~EXECUTE) |
Diese ABAP-Methode wird für das Rendern der Ausgabe abgerufen. Sie wird abgerufen, wenn ein abhängiger Data Provider verändert wird oder die Parameter eingestellt werden: Folgende Import-Parameter stehen Ihnen zur Verfügung: ● XML Eingabe (I_XML) In Abhängigkeit der Angaben unter dem Parameter Auf Data-Provider Liste zugreifen, enthält dieser Import-Parameter den Navigationszustand und/oder die Ergebnismenge. Weitere Informationen zum Parameter Auf Data-Provider-Liste zugreifen finden Sie unter Individuelle Erweiterung. ● Format (I_REQUESTED_RESULT_FORMAT) Dieser Import-Parameter spezifiziert das erforderliche Format (HMTL oder PDF) Folgender Export-Parameter wird zurückgegeben: XML Ausgabe (E_XML) |
Der Navigationszustand und / oder die Ergebnismenge des/der betreffenden Data Provider werden über den Import-Parameter I_XML als XML an die ABAP-Klasse übergeben.
Für den Umgang mit XML-Daten stehen Ihnen einige komfortable Methoden zur Verfügung.
Derzeit existieren keine komfortablen Methoden, um die Ergebnismenge in eine interne ABAP-Tabelle zu extrahieren.
Die ABAP-Klasse CL_BICS_CONS_WEBITEM_UTIL enthält die ABAP-Methode PARSE _XML. Diese Methode gibt die XML-Knoten aller Data Provider und Variablencontainer zurück. Der Variablencontainer enthält alle Variablen und die zugehörigen Werte.
* All data passed to the webitem exit is hold in I_XML using XML.
* The XML is UTF-8 encoded. You can convert the UTF-8 xstring
* to a simple ABAP string by calling the following method:
* ==================================================================
CALL METHOD cl_bics_cons_webitem_util=>utf8_xstring_2_string
EXPORTING
i_utf8_xstring = i_xml
RECEIVING
r_string = l_xml.
* The XML includes sections about the used data provider and about the
* variable container. The following method parses the XML and
* provides the IF_IXML_NODE instances for data providers and for the
* variable container.
* ==================================================================
CALL METHOD cl_bics_cons_webitem_util=>parse_xml
EXPORTING
i_xml = i_xml
IMPORTING
e_t_data_providers = l_t_data_providers
e_r_variable_container = l_r_variable_container.
Das folgende Coding parst den Navigationszustand in eine ABAP-Struktur des Typs RRXI_SX_VIEW. Diese ABAP-Struktur ermöglicht den Zugriff auf Informationen über Strukturen, Merkmale, Variablen, Filter, etc. (ausgenommen davon sind Informationen über die Ergebnismenge). Die Ergebnismenge wird nicht in die ABAP-Struktur übertragen.
DATA: l_xml_1 TYPE string,
l_xml_2 TYPE string,
l_sx_view TYPE rrx1_sx_view.
* For more information about this method: see
comment above
* ==================================================================
CALL METHOD cl_bics_cons_webitem_util=>utf8_xstring_2_string
EXPORTING
i_utf8_xstring = i_xml
RECEIVING
r_string = l_xml_1.
* This transformation extracts the XML node of a
specified
* data
provider
* ==================================================================
CALL TRANSFORMATION bics_cons_webitem_filter_by_dp
PARAMETERS dataprovider = 'DP_2'
SOURCE XML l_xml_1
RESULT XML l_xml_2.
* The XML of the data provider is passed to the method convert_xml
* The structure l_sx_view is filled with the values of the data
* provider
* ==================================================================
CALL METHOD cl_bics_cons_state_converter=>convert_xml
EXPORTING
i_xml_string = l_xml_2
IMPORTING
e_sx_view = l_sx_view.