cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Table for list of all the field mapped to a composite provider in sap GUI

former_member206066
Participant
0 Kudos
7,695

Hello Experts,

I need a table where we can find list of the all Info-objects/Field which are mapped to a composite provider.

There are 5 ADSO under this composite provider so I also need to know the field is coming from which ADSO>

Is there any table from where I can find these information. I am using SAP BW 7.4 version.

Please help.

Thanks

Ipsita

Accepted Solutions (0)

Answers (7)

Answers (7)

Jörg_Brandeis
Contributor

Hi Ipsita,

please have a look at this post:

https://blogs.sap.com/2016/03/04/mapping-of-infoprovider-fields-in-compositeprovider/

If this report is not enough, you can adopt it to your needs.

Regards,
Jörg

former_member206066
Participant
0 Kudos

hello experts,

can anyone help me on this topic.

Thanks,

Ipsita

former_member688242
Participant
0 Kudos

Pleae try the code in the link

link

former_member206066
Participant
0 Kudos

Hello Gaurav,

I have used that code:

But I am getting the screen attached below:

And it is not giving me designed result also.

Code:

************************************************************************
* DATA DECLARATION
***********************************************************************
TYPES: BEGIN OF ty_output,
infoprovider TYPE rsdodsobject,
source TYPE rsdiobjnm,
target TYPE rsohcprcolnm,
END OF ty_output.

DATA: l_hcpr_xml_def TYPE xstring,
lt_xml_info TYPE TABLE OF smum_xmltb INITIAL SIZE 0,
lt_return TYPE STANDARD TABLE OF bapiret2,
lt_output TYPE STANDARD TABLE OF ty_output,
l_cvalue TYPE char255,
l_offset TYPE i,
l_output TYPE ty_output.

************************************************************************
* ALV REFERENCES
***********************************************************************
DATA: go_alv TYPE REF TO cl_salv_table,
go_columns TYPE REF TO cl_salv_columns,
go_funcs TYPE REF TO cl_salv_functions,
go_ex TYPE REF TO cx_root.


FIELD-SYMBOLS: fs_xml_info TYPE smum_xmltb.

************************************************************************
* SELECTION SCREEN DETAILS
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: p_cp TYPE rsohcprnm.
SELECTION-SCREEN END OF BLOCK blk1.

************************************************************************
* DATA PROCESSSING
************************************************************************
* Select XML definition of CompositeProvider
SELECT SINGLE xml_ui
FROM rsohcpr
INTO l_hcpr_xml_def
WHERE hcprnm = p_cp
AND objvers = 'A'.

IF sy-subrc NE 0.
MESSAGE 'No valid or inactive CompositeProvider or CompositeProvider not of type HCPR' TYPE 'I'.
EXIT.
ELSE.

* Parse XML string to XML table
CALL FUNCTION 'SMUM_XML_PARSE'
EXPORTING
xml_input = l_hcpr_xml_def
TABLES
xml_table = lt_xml_info
return = lt_return.

* Internal table with mapping
LOOP AT lt_xml_info ASSIGNING fs_xml_info.
IF fs_xml_info-cname = 'entity'.
l_cvalue = fs_xml_info-cvalue.
SEARCH l_cvalue FOR 'composite'.
l_offset = sy-fdpos.
l_offset = l_offset - 1.
TRY.
l_output-infoprovider = fs_xml_info-cvalue(l_offset). "CompositeProvider
CATCH cx_sy_range_out_of_bounds.
l_output-infoprovider = fs_xml_info-cvalue.
ENDTRY.
ELSEIF
fs_xml_info-cname = 'targetName'.
l_output-target = fs_xml_info-cvalue.
ELSEIF
fs_xml_info-cname = 'sourceName'.
l_output-source = fs_xml_info-cvalue.
APPEND l_output TO lt_output.
ENDIF.
ENDLOOP.

* Output to ALV
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = go_alv
CHANGING
t_table = lt_output ).
" set column optimized
go_columns = go_alv->get_columns( ).
go_columns->set_optimize( ).
" set functions
go_funcs = go_alv->get_functions( ).
go_funcs->set_all( ).
go_alv->display( ).
CATCH cx_salv_msg INTO go_ex.
MESSAGE go_ex TYPE 'E'.
ENDTRY.

ENDIF.1.png

former_member206066
Participant
0 Kudos

Hello Experts,

Is there any way to convert the XML file to a Table.

In the mentioned blog , there is no information how to use SMUM_XML_PARSE

Mapping of InfoProvider fields in CompositeProvider | SAP Blogs

Requesting for your help

Thanks,

former_member688242
Participant
0 Kudos
former_member206066
Participant
0 Kudos

Hello gaurav,

In the blog, there is no information how to use SMUM_XML_PARSE

Mapping of InfoProvider fields in CompositeProvider | SAP Blogs.

can you please help on that.

Thanks,

Ipsita

MartinMaruskin
Active Contributor
0 Kudos

Hi Ipsita,

from what I see in the BW/4 2.0 based system this information is always determined in the runtime. Thus I do not think it is not stored persistently in any of DB tables. What you can do is to run t-code RSOHCPR (CompositeProvider Support). Put your CompProv in there and hit "Display XML" button on tool-bar. You get an pop-up window where you see all IOs that particular CompProv has; plus at the end of the XML there is a list of the underlaying objects (e.g. ADSO) plus their IOs that are mapped into the CompProv. I think this is the closed where you can get.

cheers

m./

former_member206066
Participant
0 Kudos

Hello martin,

can I download this information from Design Studio??

Thanks,

Ipsita

MartinMaruskin
Active Contributor
0 Kudos

No I do not think so. In the Studuo you have only graphical representation of fields/IOs that are mapped into the CompProv.

former_member206066
Participant
0 Kudos

Hello Martin,

Can you please help me to convert that XML to an output table.

Thanks,

Ipsita

MartinMaruskin
Active Contributor
0 Kudos

Hi Ipsita,

check table RSOOBJXREF that is a storage of objects that are included in BW infoprov like aDSO, CompProv etc.

In your case as you are looking for all objects in the particular CompProv put a filter on field TLOGO = HCPR. As an output you will get a list of IOs used in the CompProv.

cheers

m./

former_member206066
Participant
0 Kudos

Hello Martin,

Thanks for your valuable comments.

is there any way to find out which info-object is coming from which underlying ADSO.

Thanks

Ipsita