Einfaches Beispiel: Ausgabe eines einfachen
Texts und eines Parameters
In diesem Beispiel wird eine Tabelle mit einem Parameter und einem einfachen Text angezeigt. Der Parameter wird an das Web Item Individuelle Erweiterung übergeben.

Die ABAP-Klasse ZCL_BICS_CONS_WEBITEM_ABAP implementiert das Interface IF_BICS_CONS_WEBITEM_CUST_EXIT.
In der ABAP-Methode IF_BICS_CONS_WEBITEM_CUST_EXIT~INITIALIZE werden die Eigenschaften gelesen und innerhalb des ABAP-Attributes p_properties als HTML-Tabelle in einem String gespeichert.
In der ABAP-Methode IF_BICS_CONS_WEBITEM_CUST_EXIT~EXECUTE wird ein hart-codierter String mit der HTML-Tabelle der Eigenschaften verkettet und zurückgegeben.
Die Java-basierte BEx-Web-Laufzeit fügt den zurückgegebenen HTML-Inhalt in das Web Template ein.
METHOD IF_BICS_CONS_WEBITEM_CUST_EXIT~INITIALIZE.
DATA: l_s_name_value TYPE rsbolap_s_name_value.
* The table I_T_PROPERTIES provides the name/value parameters defined
* in the template
* assemble a heading
* ======================================================================
CLEAR p_properties.
p_properties = '<h1>Name/Value-Pairs:</h1>'. "#EC NOTEXT
* open table tag
* ======================================================================
concatenate p_properties '<table border="1">' into p_properties. "#EC NOTEXT
* assemble header line
* ======================================================================
CONCATENATE p_properties '<tr>' INTO p_properties."#EC NOTEXT
CONCATENATE p_properties '<th> Name </th>' INTO p_properties. "#EC NOTEXT
CONCATENATE p_properties '<th> Value </th>' INTO p_properties. "#EC NOTEXT
CONCATENATE p_properties '</tr>' INTO p_properties. "#EC NOTEXT
* assemble name/value lines
* ======================================================================
LOOP AT i_t_properties INTO l_s_name_value.
CONCATENATE p_properties '<tr>' INTO p_properties."#EC NOTEXT
CONCATENATE p_properties '<th>' l_s_name_value-name '</th>' INTO p_properties."#EC NOTEXT
CONCATENATE p_properties '<th>' l_s_name_value-value '</th>' INTO p_properties."#EC NOTEXT
CONCATENATE p_properties '</tr>' INTO p_properties."#EC NOTEXT
ENDLOOP.
* close table tag
* ======================================================================
CONCATENATE p_properties '</table>' INTO p_properties."#EC NOTEXT
ENDMETHOD.
method IF_BICS_CONS_WEBITEM_CUST_EXIT~FREE.
* free all allocated resources here
endmethod.
METHOD IF_BICS_CONS_WEBITEM_CUST_EXIT~EXECUTE.
DATA:
l_string TYPE string.
CLEAR e_xml.
CONCATENATE p_properties 'This is a simple string in ABAP. Requested result format:' I_REQUESTED_RESULT_FORMAT INTO l_string.
TRY.
* The customer exit returns HTML data to be displayed.
* The result HTML needs to be stored in E_XML using UTF-8 encoding.
* You can convert simple ABAP-strings to UTF-8 by calling the
* following the method:
* ==================================================================
CALL METHOD cl_bics_cons_webitem_util=>string_2_utf8_xstring
EXPORTING
i_string = l_string
RECEIVING
r_utf8_xstring = e_xml.
CATCH cx_bics_cons_webitem_error.
* exception handling
ENDTRY.
ENDMETHOD.
Attribut |
Eigenschaften |
P_PROPERTIES |
● Art: Instance Attribute ● Sichtbarkeit: Public ● Bezugstyp: STRING ● Beschreibung: Zeichenkette für Eigenschaften |
Das Web Template enthält das Web Item Individuelle Erweiterung. Unter dem Web-Item-Parameter ABAP_CLASS_NAME wurde der Name der ABAP-Klasse ZCL_BICS_CONS_WEBITEM_ABAP spezifiziert.
Außerdem wird für die Drucktaste SET_PROPERTY der Befehl SET_ITEM_PARAMETERS hinterlegt, um einen Name/Wert-Parameter des Web Items Individuelle Erweiterung einzustellen.
<bi:bisp xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" >
<html >
<head >
<title >Custom Web Item ABAP Sample</title>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body style="FONT-FAMILY: Arial" bgcolor="#ffffff" leftmargin="0" topmargin="0" >
<bi:QUERY_VIEW_DATA_PROVIDER name="DP_1" >
<bi:INITIAL_STATE type="CHOICE" value="QUERY" >
<bi:QUERY value="0D_DX_M01_Q0002" text="DalSegno Company Umsatz-Analyse" />
</bi:INITIAL_STATE>
</bi:QUERY_VIEW_DATA_PROVIDER>
<bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" />
<bi:CUSTOMER_EXIT_ITEM name="CUSTOMER_EXIT_ITEM_1" designheight="120" designwidth="300" >
<bi:CUSTOMER_EXIT type="COMPOSITE" >
<bi:CUSTOMER_EXIT_TYPE type="CHOICE" value="ABAP_CLASS_NAME" >
<bi:ABAP_CLASS_NAME value="ZCL_BICS_CONS_WEBITEM_ABAP" />
</bi:CUSTOMER_EXIT_TYPE>
</bi:CUSTOMER_EXIT>
<bi:DATA_PROVIDER_ACCESS_LIST type="ORDEREDLIST" >
<bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="1" >
<bi:DATA_PROVIDER_REF value="DP_1" />
<bi:NAVIGATIONAL_STATE_ACCESS value="X" />
<bi:RESULT_SET_ACCESS value="X" />
</bi:DATA_PROVIDER_ACCESS>
</bi:DATA_PROVIDER_ACCESS_LIST>
</bi:CUSTOMER_EXIT_ITEM>
<p >
<bi:BUTTON_GROUP_ITEM name="BUTTON_GROUP_ITEM_1" designheight="70" designwidth="300" >
<bi:BUTTON_LIST type="ORDEREDLIST" >
<bi:BUTTON type="COMPOSITE" index="1" >
<bi:CAPTION value="Set Property" />
<bi:ACTION type="CHOICE" value="INSTRUCTION" >
<bi:INSTRUCTION >
<bi:SET_ITEM_PARAMETERS >
<bi:cmd_item_parameters type="CUSTOMER_EXIT_ITEM" >
<bi:CUSTOMER_EXIT type="COMPOSITE" >
<bi:NAMED_PROPERTY_LIST type="UNORDEREDLIST" >
<bi:NAMED_PROPERTY type="COMPOSITE" index="1" >
<bi:NAME value="NAME_1" />
<bi:VALUE value="My value..." />
</bi:NAMED_PROPERTY>
</bi:NAMED_PROPERTY_LIST>
</bi:CUSTOMER_EXIT>
</bi:cmd_item_parameters>
<bi:TARGET_ITEM_REF value="CUSTOMER_EXIT_ITEM_1" />
</bi:SET_ITEM_PARAMETERS>
</bi:INSTRUCTION>
</bi:ACTION>
</bi:BUTTON>
</bi:BUTTON_LIST>
</bi:BUTTON_GROUP_ITEM>
</p>
<p >
<bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="200" >
<bi:DATA_PROVIDER_REF value="DP_1" />
</bi:ANALYSIS_ITEM>
</p>
</body>
</html>
</bi:bisp>