In Mixed Modelling (SAP HANA and BW) Architecture, we use Composite Provider to consume the data from both HANA and BW Objects. Composite Provider is a replacement of Multi-Provider in BW on HANA and BW4HANA Modeling.
Requirement/ Issue Observed:-
We have an existing Composite Provider which is built on top of four Calculation View.
We are looking into some Key Figures and wanted to find out from which calculation view those values are coming, so to find the source of this data, we looked into the Composite Provider display data option for the Field InfoProvider (0INFOPROV).
This field does not provides the actual Technical name of the underlying Calculation View, instead it displays some system generated name starting with 2H.
See the Field InfoProvider (0INFOPROV), it shows system generated name starting with 2H.
One cannot identify which calculation View it is, by this Information.
How to identify the source Calculation View of Composite Provider?
Please created a Z Program, the code is given below
REPORT ZBW_HCPR_CLV. PARAMETERS: p_hcpr type RSOHCPRNM. Data: ip_name type RSINFOPROV. Data: l_t_hana_xref TYPE CL_RSO_BW_HANA_OBJXREF=>NT_T_HANA_XREF. FIELD-SYMBOLS: <ls_xref> like line of l_t_hana_xref. CALL METHOD CL_RSO_RES_HCPR_DB=>READ_HCPR EXPORTING I_HCPRNM = p_hcpr I_OBJVERS = 'A' IMPORTING E_T_HANA_XREF = l_t_hana_xref. loop at l_t_hana_xref ASSIGNING <ls_xref>. CALL METHOD CL_RODPS_HANA_MODEL=>HASH_ODPNAME EXPORTING I_PACKAGE = <ls_xref>-namespace I_NAME = <ls_xref>-object_name RECEIVING R_ODPNAME = ip_name . CONCATENATE '2H' ip_name into ip_name. write: / <ls_xref>-namespace, <ls_xref>-object_name, at 100 ip_name. endloop.
Explanation of Program:
The Program will call this Method READ_HCPR of the Class CL_RSO_RES_HCPR_DB with input as our given Composite Provider tech name. The result of this Method brings the Package path and the actual technical name of the Calculation View in the field NAMESPACE and OBJECT_NAME respectively.
Now this fields NAMESPACE and OBJECT_NAME will be passed into another Method HASH_ODPNAME of Class CL_RODPS_HANA_MODEL one by one in loop to get its mapped ip_name.
At the end of the program a prefix 2H is added into the result ip_name
This is the same name that is seen in the Field InfoProvider (0INFOPROV). While checking the Composite Provider data.
Program Execution: Execute the Program, and put the Composite Provider in the selection Screen.
The result will show the actual Technical name (not 2H*) of calculation View along with their package path.
Note: If a composite provider “A” having underlying composite Provider “B” along with other calculation Views then result of the program when executed for “A” will give the tech name of underlying Calculation View of Composite Provider “A” only.
To get the calculation View of composite Provider “B” run the program again with “B” in the selection Screen.