Enhance technical content with BEx 7.x bookmark calls
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
- 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.