Vous êtes sur la page 1sur 3

www.biportal.

org

3. Create infoobject ZBPSHIE that will contain the hierarchy


Create a new infoobject (ZBPSHIE) compounded with Credit Segment (0CDM_CSEG), insert
characteristic as infoprovider and prepare for loading hierarchy and texts from a flat file.

4. Introduce logic in the Transformation to the Open Hub so that


the proper hierarchy file is generated
I suggest using an Expert routine so that we can easily combine source fields with the target
fields in one code.

FIELD-SYMBOLS: <RESULT_FIELDS> TYPE _ty_s_TG_1.


TYPES: ty_bptext TYPE /BI0/TBPARTNER.
DATA: t_bptxt TYPE SORTED TABLE OF ty_bptext
WITH UNIQUE KEY BPARTNER.
FIELD-SYMBOLS: <txt> TYPE ty_bptext.

DATA: t_bp TYPE SORTED TABLE OF _ty_s_SC_1


WITH NON-UNIQUE KEY BPARTNER2 CDM_CSEG.
FIELD-SYMBOLS: <bp> TYPE _ty_s_SC_1.

DATA: nid TYPE N LENGTH 8.

2
www.biportal.org

DATA: rp TYPE _ty_s_TG_1.


DATA: nname TYPE C LENGTH 32.
FIELD-SYMBOLS: <rp> TYPE _ty_s_TG_1.

IF t_bptxt IS INITIAL.
SELECT * FROM /BI0/TBPARTNER INTO TABLE t_bptxt.
ENDIF.

DELETE SOURCE_PACKAGE WHERE BP_RELDIR <> '1'.


SORT SOURCE_PACKAGE BY BPARTNER2 CDM_CSEG BPRELATION DESCENDING.
DELETE ADJACENT DUPLICATES FROM SOURCE_PACKAGE COMPARING BPARTNER2
CDM_CSEG.
t_bp[] = SOURCE_PACKAGE[].

nid = 1.
rp-LANGU = 'EN'.
rp-IOBJNM = 'ZBPSHIE'.

LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.

* Insert upper most level node


READ TABLE t_bp ASSIGNING <bp>
WITH TABLE KEY BPARTNER2 = <SOURCE_FIELDS>-BPARTNER1 CDM_CSEG =
<SOURCE_FIELDS>-CDM_CSEG.

IF sy-subrc <> 0.
rp-NODEID = nid. nid = nid + 1.
CONCATENATE <SOURCE_FIELDS>-BPARTNER1 '.'
<SOURCE_FIELDS>-CDM_CSEG INTO nname.
rp-NODENAME = nname.

* read text from master data


READ TABLE t_bptxt ASSIGNING <txt>
WITH TABLE KEY BPARTNER = <SOURCE_FIELDS>-BPARTNER1.
IF sy-subrc = 0.
rp-TXTSH = <txt>-TXTSH.
rp-TXTMD = <txt>-TXTMD.
rp-TXTLG = <txt>-TXTLG.
ENDIF.
INSERT rp INTO TABLE RESULT_PACKAGE.
ENDIF.

rp-NODEID = nid. nid = nid + 1.

CONCATENATE <SOURCE_FIELDS>-BPARTNER2 '.' <SOURCE_FIELDS>-CDM_CSEG


INTO nname.
rp-NODENAME = nname.

* read text from master data


READ TABLE t_bptxt ASSIGNING <txt>
WITH TABLE KEY BPARTNER = <SOURCE_FIELDS>-BPARTNER2.
IF sy-subrc = 0.
rp-TXTSH = <txt>-TXTSH.

3
www.biportal.org

7. Test results

Here is the generated hierarchy populated in the infoobject ZBPSHIE. This infoobject will be used in
the reports and related infoproviders where the hierarchical view on Business Partner relationships
is required.

Vous aimerez peut-être aussi