Reference Information: Definition of ERP-Active Components Some elements in the HTML document (for example, pushbuttons, input fields etc.) trigger certain transactions in the SAP system and as a result change their statuses as a reaction to certain events on the screen, such as clicking the mouse button or choosing a specific key.
To ensure communication with the ERP system, the following requirements must be met:
Identifying ERP-active components
These HTML components must be identified as ERP-active components in the SAP system. Element IDs and attributes defined by SAP are used for this.
Any HTML tag ("grouping" tag) can be used to declare an ERP-active component. This tag must contain the following parts of the component as an attribute. Each attribute must then be assigned certain attribute values.
Attribute |
Attribute Value |
Explanation |
ID (HTML attribute) |
"_bfw_component_" |
Identification as HTML component |
_BFW_TYPE_ |
"bfwInput""bfwOutput""bfwExecute""bfwCalculation""bfwSignature""bfwTable" |
Identification as:Input fieldOutput fieldFunction callCalculation fieldInput filed for signatures and digital signaturesTables |
_BFW_KEY_ |
<Value of the ID attribute from XML document> |
The value of the ID attribute for an XML element is to be inserted here. It is made up of the line numbers of the phase, process instruction, and characteristic as well as additional line numbers for generated process instructions.We do not recommend using this information for creating a function since any value can be transferred as the key. |
_BFW_PARAMS_ (optional) |
"paramName1:param Value1; paramName2:param Value2;..." |
Can be used in tables to show the number of lines to be displayed, for example. Example for bfwTable: _BFW_PARAMS_="HBASE:20px;HLINE:20px;HMIN:100px:LINES:10;" |
We recommend making the following assignments between the elements defined in the XML document and the component classes of the runtime environment:
Element in the XML Document |
Component Class of the Runtime Environment |
<INPUT ...>... |
bfwInput |
<OUTPUT ...>... |
bfwOutput |
<EXECUTE ...>... |
bfwExecute |
<CALCULATION ...>... |
bfwCalculation |
<SIGNATURE ...>... |
bfwSignature |
<TEXTINPUT ...>... |
bfwInput |
<TEXTOUTPUT ...>... |
bfwOutput |
<INSTRUCTION type=“repeat“ ...>... |
bfwTable |
Depending on the component class assigned, individual component tags that must be declared through special IDs are expected within the "grouping" tag. Each input field, for example, must contain a tag with the
"_bfw_field_"
ID, which defines the actual input field. In addition, an input field may, for example, have a text that is specified by an element with the
"_bfw_label_"
ID.
Defining adequate HTML components
The XSL style sheet must be used to define adequate components in the HTML document for the elements defined in the XML documents (such as, input and output fields).
The runtime environment manages the components irrespective of the layout you have chosen. It only performs basic checks. An HTML element must, for example, be created for an input field and this element must allow to enter values, this means, an INPUT tag (type = text), a SELECT tag, or a TEXTAREA tag. For a function call, on the other hand, an HTML element must be created that supports the
onkeypress
and
onclick
events.
Event handling
The ERP-active components react to certain user interactions such as clicking a field with the mouse or pressing a key. At runtime, an instance of a JavaScript class (constructor function) is assigned to each component that has been fully and consistently declared. This instance deals with automatically defined events (such as onclick, onkeypress, and so an) that you may not use elsewhere. These events control the component's behavior and the synchronization with the runtime objects of the ABAP environment.
Synchronizing ERP-active components
As a result of communicating with the ERP system, HTML components may change their statuses. You can display each status by assigning different formatting options to individual elements. For input fields, you can, for example, change the background color, font color, type of frame or font for different statuses. You can use Cascading Style Sheets (CSS) to control this layout information.
In the HTML document, you then need to store additional information that specifies which CSS class is to be used for which component status. You can use the following attributes for the statuses of HTML components:
Attributes |
Meaning |
_BFW_CSS_ACTIVE_ |
Active, for example, in the change mode |
_BFW_CSS_INACTIVE_ |
Inactive, for example, in the display mode |
_BFW_CSS_DEFAULT_ |
Suggested Value |
_BFW_CSS_ERROR_ |
Contains errors |
_BFW_CSS_DISABLED_ |
Not ready for input, for example, when deactivating |
Example
Example for the definition of a component of type "input field" in the HTML document that is created by the XSL style sheet:
<SPAN ID=“_bfw_component_“ _BFW_TYPE_=“bfwInput“ _BFW_KEY_=“....“>
<SPAN ID=“_bfw_label_“>Beschriftung</SPAN>
<INPUT ID=“_bfw_field_“ TYPE=“TEXT“ SIZE=“10“ MAXLENGTH=“20“
_BFW_CSS_ACTIVE_=“
myStyle1
“
_BFW_CSS_ERROR_=“
myStyle2
“
_BFW_CSS_DEFAULT_=“
myStyle3
“
_BFW_CSS_INACTIVE_=“
myStyle4
“
_BFW_CSS_DISABLED_=“
myStyle5
“></INPUT>
</SPAN>
The following sections provide an overview of the features of the component classes that the runtime environment supports. ???The tables must be read from the top to the bottom and from the left to the right. Each table describes the following:
Which elements the system expects for which component class. The elements must be defined as the attribute value of the "ID" attribute in an HTML tag.
Which HTML tags you may use for which elements
Which elements you can use optionally
Which events are supported by which element
Which status attributes exist and for which elements you may use them
Class |
bfwInput |
||||
Functionality |
The component controls an input field. It may not contain further components. |
||||
Component tag |
"Grouping" tag |
Elements of a component The element names must be assigned as attribute values of the "ID" HTML attribute of a tag. |
|||
See "Identifying ERP-active components" above |
_bfw_label_ Provides the text through the
|
_bfw_icon_ Indicates whether the entry is required (_bfw_css_active_) or optional (_bfw_css_inactive_). |
_bfw_field_ Defines the input field itself. |
_bfw_button_ Controls the input help button, which means that it becomes active when the focus is set to the input field. Input help can also be called up using Ctrl + H. |
|
HTML tags supported |
All |
All, provided that the
|
All |
INPUT type=textSELECTTEXTAREA |
All, provided that the
|
Optional |
X |
X |
X |
||
Event handlers used |
onkeypressonclickoncontextmenu |
onchangeonhelponfocusonblur |
|||
Status change |
- |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled__bfw_css_error__bfw_css_default_ |
_bfw_css_active__bfw_css_inactive_ |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled__bfw_css_error__bfw_css_default_ |
_bfw_css_active__bfw_css_inactive_ |
Explanation of the "bfwSignature" table:
The tags and elements mentioned under "bfwInput" are also valid for component class "bfwSignature". In addition, you must take into account the elements that are listed in the "bfwSignature" below:
Class |
bfwSignature |
|||||
Functionality |
The component controls an input field for signatures or digital signatures. It may not contain further components. |
|||||
Component tag |
"Grouping" tag |
Elements of a component The element names must be assigned as attribute values of the "ID" HTML attribute of a tag. |
||||
As for "bfwInput" |
_bfw_list_ |
_bfw_sign_ |
_bfw_date_ |
_bfw_time_ |
_bfw_comment_ |
|
* See below |
The
|
|||||
HTML tags supported |
As for "bfwInput" |
TBODY |
All, provided that the
|
|||
Optional |
As for "bfwInput" |
X |
||||
Event handlers used |
As for "bfwInput" |
- |
- |
- |
- |
- |
*
Belongs to
|
||||||
Class |
bfwOutput |
||
Functionality |
The component controls an output field. It may not contain further components. |
||
Component tag |
"Grouping" tag |
Elements of a component The element names must be assigned as attribute values of the "ID" HTML attribute of a tag. |
|
_bfw_label_ The
|
_bfw_field_ If no INPUT tag is used for
|
||
HTML tags supported |
All |
All, provided that the
|
INPUT type=textTDSPANDIV |
Optional |
X |
||
Event handlers used |
onkeypressoncontextmenu |
||
Status change |
- |
_bfw_css_inactive__bfw_css_disabled_ |
_bfw_css_inactive__bfw_css_disabled_ |
Class |
bfwCalculation |
||||
Functionality |
The component controls a calculation field. It may not contain further components. |
||||
Component tag |
"Grouping" tag |
Elements of a component The element names must be assigned as attribute values of the "ID" HTML attribute of a tag. |
|||
_bfw_label_ The
|
_bfw_icon_ Indicates whether the execution is required (_bfw_css_active_) or optional (_bfw_css_inactive_). |
_bfw_field_ |
_bfw_button_ The calculation is triggered with this. |
||
HTML tags supported |
All |
All, provided that the
|
All |
INPUT type=text |
All, provided that the
|
Optional |
X |
X |
|||
Event handlers used |
onkeypressonclickoncontextmenu |
onhelp |
|||
Status change |
- |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled__bfw_css_error_ |
_bfw_css_active__bfw_css_inactive_ |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled__bfw_css_error_ |
_bfw_css_active__bfw_css_inactive_ |
Class |
bfwExecute |
|||
Functionality |
The component controls a function call. It may not contain further components. |
|||
Component tag |
"Grouping" tag |
Elements of a component The element names must be assigned as attribute values of the "ID" HTML attribute of a tag. |
||
_bfw_label_ Outputs the text through the
|
_bfw_button_ Marks the pushbutton as such.If no
|
|||
HTML tags supported |
All |
All, provided that the
|
All, provided that the
|
|
Optional |
X |
X |
||
Event handlers used |
onhelp |
onhelponkeypressonclickoncontextmenu |
||
Status change |
- |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled_ |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled_ |
|
Class |
bfwTable |
||||
Functionality |
The component controls a table. A table may contain components of all classes described before. |
||||
Component tag |
"Grouping" tag |
Elements of a component The element names must be assigned as attribute values of the "ID" HTML attribute of a tag. |
|||
_bfw_tab_label_ Outputs the text through the
|
_bfw_tab_scroll_ See * below. |
_bfw_tab_body_ A TABLE tag is expected for this. This table must comprise a header (THEAD) and at least one body (TBODY).See ** below. |
_bfw_tab_text_ Outputs the column heading. A _
|
||
HTML tags supported |
All |
All, provided that the
|
DIV |
TABLE |
TR |
Optional |
X |
X |
|||
Event handlers used |
onhelponcontextmenuonresize |
onhelp |
|||
Status change |
- |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled_ |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled_ |
_bfw_css_active__bfw_css_inactive__bfw_css_disabled_ |
|
*
Belongs to
**
Belongs to
|
|||||