Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
mario_nadegger
Participant

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.

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 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


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


        • Technical Settings

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


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 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

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

  • Check log due to errors

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

STEP 5: Enhance CompositeProvider

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

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 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 sy-sysid sy-mandt 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     = sy-uname

      CALDAY        = sy-datum

      ).

  MODIFY ZPA_TCT_BOOKMARK FROM LS_TCT_BOOKMARK.

  CALL FUNCTION 'DB_COMMIT'.


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 entries in the custom table if your call was tracked.

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

Conclusio

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

Labels in this area