Skip to Content

Enhance technical content with BEx 7.x Bookmark calls

Scope

The scope of the document is to show a possible way to track BEx 7.x Bookmark execution and integrate the results into the technical content. Integration is done with the help of quite new SAP BW objects, like Open ODS View or Composite Provider.

Tracking bookmark execution could be very helpful in case of housekeeping and/or invalid bookmarks due to query changes.

General

The implementation was done on a SAP BW 750 system SP 2 on a HANA DB Release 1.00.102.02.1446663129. The implementation can also be done on SAP BW 7.X with a classic data source on custom table and/or a virtual provider.

Result

The result of the step-by-step instruction will be a technical content query showing the executed bookmarkid in the technical content session in which it was executed.

Result.png

Step by Step

The following step-by-step instruction will lead you the the result shown described above in chapter Result.

STEP 1: Create Bookmark InfoObject

Create InfoObject with the help of transaction rsd1 with the technical name ZPA_DATA, which will store your bookmark id.

  • Technical Name
    • ZPA_DATA
  • Texts
    • Bookmark ID
  • Type
    • CHAR 30
    • NO ALPHA Conversion
  • No Masterdata
  • No Texts

Step_1.png

STEP 2: Create Bookmark Content Table

Create database table ZPA_TCT_BOOKMARK with the help of transaction se11

  • Technical name
    • ZPA_TCT_BOOKMARK
  • Short Description
    • Technical Content for Bookmark
  • Delivery Class
    • A

Step_2_1.png


Fields

  • ZPA_DATA       
    • /BIC/OIZPA_DATA
    • Key
  • TCTTIMSTMP       
    • /BI0/OITCTTIMSTMP
    • Key
  • TCTSESUID       
    • /BI0/OITCTSESUID
    • Key
  • TCTSTEPUID       
    • /BI0/OITCTSTEPUID
    • Key
  • TCTSYSID       
    • /BI0/OITCTSYSID
  • TCTUSERNM       
    • /BI0/OITCTUSERNM
  • CALDAY       
    • /BI0/OICALDAY


Step_2_2.png

        • Technical Settings

Step_2_3.png

STEP 3: Create Open ODS View

Open Eclipse Mars and create a new Open ODS View within the technical content InfoArea 0BWTCT.

  • Technical name
    • ZTCTO101
  • Description
    • Bookmark Statistics
  • Semantics
    • Facts
  • DB Object Name
    • ZPA_TCT_BOOKMARK

Step_3_1.png


Now go to the facts area of the editor and accociation Fields to InfoObjects. In case of 0TCTUSERNM you have also to maintain the compounding with InfoObject 0TCTSYSID.


Step_3_2.png

STEP 4: Copy MultiProvider 0TCT_MC01 to CompositeProvider ZTCT_MC01

Copy the MultiProvider 0TCT_MC01 to CompositeProvider ZCTC_MC01 with the help of migration report RSO_CONVERT_IPRO_TO_HCPR,

  • Execute Report RSO_CONVERT_IPRO_TO_HCPR in transaction se38
    • Source 0TCT_MC01
    • Target ZTCT_XC01
    • Optional copy Quer with prefix ZTCT_XC01
    • Execute in simulation mode

Step_4_1.png

  • Now execute with transfer InfoProvider and copy Queries option and choose query 0TCT_MC01_Q0501 and rename it

Step_4_2.png

Step_4_2.png

Step_4_3.png

  • Check log due to errors

Step_4_4.png

  • For the last check execute your new query in transaction rsrt

Step_4_5.png

STEP 5: Enhance CompositeProvider

Open CompositeProvider in Eclipse, remove the virtual provider and add new Open ODS View ZTCTO101 with left outer join.

Step_5_1.png

Step_5_2.png

Step_5_3.png

Step_5_4.png

STEP 6: Enahce Query with new characteristic ZPA_DATA

Enhance new query ZTCT_XC01_Q0501 in Eclipse and add ZPA_DATA to the free characteristics.



Step_6_1.png

STEP 7: Enhancement point to fill ZPA_TCT_BOOKMARK

Now we create an enhancement point in oder to fill the new technical content bookmark table ZPA_TCT_BOOKMARK. Open transaction se80 and open class CL_RSWR_DB. Create an enhancement point at the end of the method DATA_GET with the following coding.


*declare

   DATA: LV_TIMESTAMP     TYPE TZNTSTMPL.

   DATA: LS_TCT_BOOKMARK  TYPE ZPA_TCT_BOOKMARK.

   DATA: LV_TCTSYSID      TYPE /BI0/OITCTSYSID.

*prepare

   GET TIME.

   GET TIME STAMP FIELD LV_TIMESTAMP.

   CONCATENATE sysysid symandt INTO LV_TCTSYSID.

*Save data into  ZPA_TCT_BOOKMARK

   LS_TCT_BOOKMARK = VALUE #(

      ZPA_DATA      = i_id

      TCTTIMSTMP    = LV_TIMESTAMP

      TCTSESUID     = cl_rsdd_statolap=>n_sessionuid

      TCTSTEPUID    = cl_rsdd_statolap=>n_stepuid

      TCTSYSID      = LV_TCTSYSID

      TCTUSERNM     = syuname

      CALDAY        = sydatum

      ).

  MODIFY ZPA_TCT_BOOKMARK FROM LS_TCT_BOOKMARK.

  CALL FUNCTION ‘DB_COMMIT’.


Step_7_1.png

Activate the enhancement point. From now on your bookmark calls are tracked,

Check

To check the result create a bookmark in BEx 7.x Webtemplate and call it.

Check_1.png

Check entries in the custom table if your call was tracked.

Check_2.png

Check if your call also can be seen in the new query result.

Check_4.png

Conclusio

This is only one way to track bookmark execution with the help of the technical content. Enjoy the solution.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply