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.
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.
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.
The following step-by-step instruction will lead you the the result shown described above in chapter Result.
Create InfoObject with the help of transaction rsd1 with the technical name ZPA_DATA, which will store your bookmark id.
Create database table ZPA_TCT_BOOKMARK with the help of transaction se11
Fields
Open Eclipse Mars and create a new Open ODS View within the technical content InfoArea 0BWTCT.
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.
Copy the MultiProvider 0TCT_MC01 to CompositeProvider ZCTC_MC01 with the help of migration report RSO_CONVERT_IPRO_TO_HCPR,
Open CompositeProvider in Eclipse, remove the virtual provider and add new Open ODS View ZTCTO101 with left outer join.
Enhance new query ZTCT_XC01_Q0501 in Eclipse and add ZPA_DATA to the free characteristics.
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,
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.
This is only one way to track bookmark execution with the help of the technical content. Enjoy the solution.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
9 | |
7 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |