1.1 Eclipse Views of the new Transformation Editor

The new Eclipse-based transformation editor, see Figure 1.1, is part of the BW perspective (). The most important views are:

  • the transformation editor (2) itself,
  • the Properties Views (4),
  • the outline view (3)

Figure 1.1 Transformation Editor

A transformation can be opened in different ways (Project Explorer, BW Search, Data Flow, …) for editing in the Eclipse-based transformation editor. In Figure 1.1 I opened the transformation from the Project Explorer (1). The Outline view (3) provides an overview of the rules of a transformation. The rules are grouped according to the rule type.

In the following I will look at each of the components and their tasks:

  • Transformation editor,
  • Properties View,
  • Outline View and
  • More views

briefly describe.

1.1.1 Transformation Editor

The Transformation Editor is organized in individual tabs. The number of tabs available depends on the design of the transformation. Transformation source and destination can also influence the number of tabs.

The general tab is always available and provides general information (metadata) on the transformation. This general metadata includes information such as:

  • Description of the transformation,
  • Name and description of the source object,
  • Name and description of the target object,

In addition, general properties of the transformation can be specified in the general tab:

  • Currency and unit conversions
  • The runtime of the transformation (SAP HANA or ABAP)
  • Settings regarding the rule groups,
  • Grouping behavior,

In addition, global routines (start, end and expert routines) can be created and edited in the general tab.

The first rule group (called Standard Group in the SAP GUI Editor) is mapped in the Rule tab. Additional rule groups can be created in the Additional Rule Groups section.

1.1.1.1 Runtime Property

A new feature of the transformation is the runtime property on the General tab. In contrast to earlier releases (BW 7.50 and earlier), the runtime of the transformation must now be explicitly defined by the developer when the transformation is created.

The default runtime for newly created transformations is SAP HANA Runtime.

The developer can choose between:

  • SAP HANA runtime and
  • ABAP runtime

The runtime of the transformation determines which features can be used within the transformation. The runtime of a transformation can be switched using the Switch Runtime button. Many standard features and rule types are supported by both runtimes, but not all. I.e. as soon as a feature or rule is used that is not supported by both runtimes, the runtime can no longer be switched. If the runtime cannot be switched, the error attempt to switch the runtime provides a list of the features and / or rules used that prevent a change.

The transformation framework tries to support as many features as possible in both runtimes. But this is not always possible! This is most obvious with the rules regarding the routines. An ABAP start routine, for example, prevents switching from ABAP runtime to SAP HANA runtime. Similarly, an AMDP start routine prevents switching from SAP HANA runtime to ABAP runtime. There are exceptions to this, for example, the ABAP end routine is also supported in the SAP HANA runtime under certain conditions; I will come to this later when we look at the transformation in detail.

In BW 7.50 and BW4 Version 1.0, the runtime could be selected in the Data Transfer Process (DTP) if the transformation supports both. With BW4 Version 2.0 it was introduced that the runtime is determined by the DTP depending on the runtime specified in the transformation.

1.1.1.1 Global routines

There are three types of global routines:

  • Start routine,
  • End – routine and
  • Expert routine

All three types can be implemented in both runtimes. For a transformation with the runtime ABAP Runtime I have to

For a transformation with the ABAP Runtime, all routines must be implemented as ABAP routines. For a transformation with the runtime SAP HANA Runtime, start and expert routines must always be implemented as AMDP routines.

In the SAP HANA Runtime, the routines are called AMDP routines, but in reality they are SQLScript routines, I will come back to this point later in the detailed description of the transformations.

The end routine has a special position in the SAP HANA runtime. If the target of the transformation is a persistent data target (i.e. not an InfoSource), the end routine of a transformation with the SAP HANA Runtime can also be implemented in ABAP.

Figure 1.2: Special case ABAP end routine

All routines block the subsequent change of the runtime, with the exception of the ABAP end routine, if the target of the transformation is a persistent data target.

1.1.1 Properties View

The PROPERTIES view, see Figure 1.1 (4), provides context-sensitive information (metadata) on the currently selected object (transformation, rule) in the transformation editor.

The metadata of the transformation are displayed in the PROPERTIES view in tabs (General, Rules and Technical):

  • General
    • Package assignment
    • Status transformation
    • Information about the creator / last change
  • Rules
    • Information on the currently selected rule is displayed here
  • Technical
  • Transformation ID
    • Analysis Process
      The HANA Analysis Process (HAP) represents the metadata object of the HANA runtime. The HAP is only available if the runtime of the transformation is SAP HANA Runtime and this transformation could be activated at least once. We’ll look at the HAP in detail again later as part of the transformation.
      If the Analysis Process is available as an active version, you can navigate directly to the SAP HANA transformation (transaction RSDHATR) using forward navigation.
    • Generated ABAP (generated program)
      Similar to the Analysis Process of the HANA Runtime, the generated program is the runtime object of the ABAP Runtime.
    • Active Routine Class (A-Class)
      The active routine class or * _A class is only available in the SAP HANA runtime if at least one routine is defined. The * _A class is required as part of the error analysis for debugging customer-specific coding, I will come back to the * _A class later when describing the error analysis.

1.1.2 Outline View

The Outline View interacts with the Transformation Editor and the Properties View. This means that the outline view initially shows the rules of the transformation and can be used for navigation. The marked rule in the outline view is selected in the transformation editor and the metadata of the rule is displayed in the properties view.

1.1.3 Additional views

The following views provide additional information as part of the transformation:

  • Problem View
    Shows information, warnings or error messages during the transformation check or activation.
  • Search View
    Shows information from the last search
  • ABAP Communication Log View
    The ABAP Communication Log can be used to monitor communication between the BW modeling tools such as the transformation editor.
    If the ABAP Communication Log is active, the communication request and response messages between the modeling tools and the ABAP Application Server are recorded and logged.
  • Semantic Content View
    The Semantic Content View shows the saved models of the processed objects.

1.1.5      Design- and Runtime Artefacts

Both transformation runtimes (ABAP and HANA) have their own runtime artifacts

For the ABAP transformation runtime, the generated program (see Figure 1.3 Generated ABAP) is created when the transformation is activated.

Figure 1.3: Transformation runtime artifacts

The corresponding runtime artifact for the SAP HANA runtime is the analytical process (see Figure 1.3 Analysis Process). The analytical process or also called HANA Analytical Process (HAP) or HANA Transformation can be viewed in detail with the help of transaction RSDHATR in the SAPGUI.

I will go into the point Active Routine Class (read-only) later in the Routine.

This entry was posted in SAP. Bookmark the permalink.