on 2018 Nov 08 11:09 AM
Hi Expert,
I have simple transformation file like below:
and below is the er_data (final result) looks like:
As you can see that evdescription & parenth1 has been assigned with value, but when I checked the BPC web admin, I cant see any description and parenth1.
Below is the status of package:
/CPMB/MODIFY completed in 0 seconds /CPMB/BW_IOBJ_MASTER_SOURCE completed in 0 seconds /CPMB/BW_IOBJ_TEXT_SOURCE completed in 1 seconds /CPMB/MERGE_IOBJ_MD_DATA completed in 0 seconds /CPMB/IOBJ_SOURCE_MD_CONVERT completed in 1 seconds /CPMB/SPLIT_IOBJ_MD_TXT_DATA completed in 0 seconds /CPMB/BPC_MASTER_DATA_TARGET completed in 4 seconds /CPMB/BPC_TXT_DATA_TARGET completed in 0 seconds /CPMB/CLEAR completed in 0 seconds
[Selection]
--------------------------------------------------------------
INFOOBJECT = ZCMATBPC SELECTION = <?xml version="1.0" encoding="utf-16"?><Selections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Selection Type="Attribute" /><Selection Type="Hierarchy" ImportText="1" /><Selection Type="Language" TextType="2"><Language>E</Language></Selection><Selection Type="AttributeList"><Attribute>ZCMATBPC</Attribute><Attribute>0MATL_TYPE</Attribute><Attribute>0MATL_GROUP</Attribute><Attribute>ZCMATGTXT</Attribute><Attribute>0CHRT_ACCTS</Attribute><Attribute>0GL_ACCOUNT</Attribute><Attribute>ZCGLALTXT</Attribute></Selection><KeyDate>20181108</KeyDate><Relation><Value Right="Hierarchy" Left="Attribute">1</Value></Relation></Selections> WRITEMODE = 2 FORMAT = No TRANSFORMATION = \ROOT\WEBFOLDERS\NNNNN\Material\DATAMANAGER\TRANSFORMATIONFILES\NEW_MATERIAL.xls DIMNAME = MATERIAL CLEAR_ALL = No
[Message]
--------------------------------------------------------------
Task name MASTER DATA SOURCE:
Record count: 4924 Task name
TEXT SOURCE:
Record count: 4924 Task name
CONVERT:
No 1 Round:
End routine is called in convert
Reject count: 0
Record count: 4924
Skip count: 0
Accept count: 5119
Task name MASTER DATA TARGET:
Submit count: 5119
Task name TXT DATA TARGET:
Submit count: 0
model: Material.
Package status: WARNING
any idea what should I do to save evdescription and parenth1 ?
System Information:
BPC NW 10.1
BW 750 SP 11
Many Thanks.
Curious whether implementing the START_ROUTINE implementation as ENDROUTINE is the right approach.
The BADI code looks to be following START ROUTINE coding approach, which will not work for ENDROUTINE.
Secondly, BPC Description can only pick-up either from short, medium, or long text from the source InfoObject TEXT. InfoObject ATTR cannot be used as the source of BPC Description. Customization has to be done at source/BW layer.
Third, Hierarchy extraction should use separate package:
/CPMB/IMPORT_IOBJ_HIER
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
May be er_data is filled incorrectly.
Start with simple ROUTINE badi with single line:
er_data = ir_data.
Look on the table.
Compare with your table.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Strange to ask question about issue in ROUTINE badi without providing text of badi!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
TYPES: BEGIN OF zty_material_attr,
id(32) TYPE c,
bpc_mat_type(5) TYPE c,
material_type_code(7) TYPE c,
* parenth1(32) TYPE c,
END OF zty_material_attr.
DATA: lt_material TYPE STANDARD TABLE OF zty_material_attr,
lr_material TYPE REF TO data.
DATA: lo_appl TYPE REF TO cl_uja_application,
lr_ref_attr TYPE REF TO data,
lr_result TYPE REF TO data,
lo_ref_if_uja_dim TYPE REF TO cl_uja_dim,
lo_cx_uja_admin_error TYPE REF TO cx_uj_application_exception,
lo_er_data TYPE REF TO data,
lo_ir_data TYPE REF TO data.
DATA: lv_ir_field(40) TYPE c,
lv_er_field(40) TYPE c,
it_hier_info TYPE uja_t_hier,
it_hier_name TYPE uja_t_hier_name,
it_attr_list TYPE uja_t_attr,
it_attr_name TYPE uja_t_attr_name,
it_appl_dim TYPE uja_t_appl_dim,
it_dim_name TYPE ujq_t_dim,
wa_appl_dim LIKE LINE OF it_appl_dim,
wa_dim_name LIKE LINE OF it_dim_name,
wa_hier_info TYPE uja_s_hier,
wa_attr_list TYPE uja_s_attr,
l_dimname TYPE uj_dim_name,
l_error_message TYPE string.
CONSTANTS: lc_appset_id TYPE uj_appset_id VALUE 'NNNNNN',
lc_appl_id TYPE uj_appl_id VALUE 'Material',
lc_material(20) TYPE c VALUE 'MATERIAL',
lc_id(20) TYPE c VALUE 'ID',
lc_parenth1(20) TYPE c VALUE 'PARENTH1'.
FIELD-SYMBOLS: <ft_ir_data> TYPE STANDARD TABLE,
<fs_ir_data> TYPE any,
<ft_er_data> TYPE STANDARD TABLE,
<fs_er_data> TYPE any,
<lv_ir_field> TYPE any,
<lv_er_field> TYPE any,
<ft_ir_gl> TYPE STANDARD TABLE,
<ft_ir_mat_group> TYPE STANDARD TABLE.
IF ir_data IS NOT INITIAL.
ASSIGN ir_data->* TO <ft_ir_data>.
ENDIF.
CREATE DATA lo_ir_data LIKE <ft_ir_data>.
ASSIGN lo_ir_data->* TO <ft_ir_gl>.
CREATE DATA lo_ir_data LIKE <ft_ir_data>.
ASSIGN lo_ir_data->* TO <ft_ir_mat_group>.
<ft_ir_gl> = <ft_ir_data>.
<ft_ir_mat_group> = <ft_ir_data>.
SORT <ft_ir_gl> BY ('0GL_ACCOUNT').
SORT <ft_ir_mat_group> BY ('0MATL_GROUP').
DELETE ADJACENT DUPLICATES FROM <ft_ir_gl> COMPARING ('0GL_ACCOUNT').
DELETE ADJACENT DUPLICATES FROM <ft_ir_mat_group> COMPARING ('0MATL_GROUP').
* Retrieve the structure of MATERIAL Dimension
IF er_data IS INITIAL.
TRY.
CREATE OBJECT lo_appl
EXPORTING
i_appset_id = lc_appset_id
i_application_id = lc_appl_id.
REFRESH it_appl_dim.
lo_appl->get_appl_dim(
EXPORTING
i_appl_id = lc_appl_id
IMPORTING
et_appl_dim = it_appl_dim ).
ENDTRY.
LOOP AT it_appl_dim INTO wa_appl_dim.
wa_dim_name = wa_appl_dim-dimension.
APPEND wa_dim_name TO it_dim_name.
ENDLOOP.
READ TABLE it_dim_name WITH TABLE KEY table_line = lc_material INTO wa_dim_name.
IF sy-subrc = 0.
l_dimname = wa_dim_name.
ENDIF.
TRY.
CREATE OBJECT lo_ref_if_uja_dim
EXPORTING
i_appset_id = lc_appset_id
i_dimension = l_dimname.
* Retrieve Attribute List
CALL METHOD lo_ref_if_uja_dim->if_uja_dim_data~get_attr_list
IMPORTING
et_attr_list = it_attr_list.
* Check with multiple attributes
LOOP AT it_attr_list INTO wa_attr_list.
APPEND wa_attr_list-attribute_name TO it_attr_name.
ENDLOOP.
* Retrieve Hier List
CALL METHOD lo_ref_if_uja_dim->if_uja_dim_data~get_hier_list
IMPORTING
et_hier_info = it_hier_info.
LOOP AT it_hier_info INTO wa_hier_info.
APPEND wa_hier_info-hier_name TO it_hier_name.
ENDLOOP.
CATCH cx_uja_admin_error INTO lo_cx_uja_admin_error.
CALL METHOD lo_cx_uja_admin_error->if_message~get_text
RECEIVING
result = l_error_message.
cl_ujk_logger=>log( l_error_message ).
ENDTRY.
TRY.
CALL METHOD lo_ref_if_uja_dim->if_uja_dim_data~create_data_ref
EXPORTING
i_data_type = 'T' " Data Type
it_attr_name = it_attr_name " The list of the components of created struct
it_hier_name = it_hier_name " BPC: Internal Table of Hierarchy Name
* it_extra_field = " Extra Caller-Defined fields in the struct to be created
* if_tech_name = abap_false " Use Techname as the field name
IMPORTING
er_data = lo_er_data.
CATCH cx_uja_admin_error INTO lo_cx_uja_admin_error.
CALL METHOD lo_cx_uja_admin_error->if_message~get_text
RECEIVING
result = l_error_message.
cl_ujk_logger=>log( l_error_message ).
ENDTRY.
ENDIF.
ASSIGN lo_er_data->* TO <ft_er_data>.
* CREATE DATA lr_material LIKE lt_material.
* ASSIGN lr_material->* TO <ft_er_data>.
LOOP AT <ft_ir_gl> ASSIGNING <fs_ir_data>.
APPEND INITIAL LINE TO <ft_er_data> ASSIGNING <fs_er_data>.
lv_ir_field = '<fs_ir_data>-0GL_ACCOUNT'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-ID'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_ir_field = '<fs_ir_data>-ZCGLALTXT'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-EVDESCRIPTION'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_er_field = '<fs_er_data>-BPC_MAT_TYPE'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = 'GLA'.
ENDLOOP.
LOOP AT <ft_ir_mat_group> ASSIGNING <fs_ir_data>.
APPEND INITIAL LINE TO <ft_er_data> ASSIGNING <fs_er_data>.
lv_ir_field = '<fs_ir_data>-0MATL_GROUP'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-ID'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_ir_field = '<fs_ir_data>-ZCMATGTXT'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-EVDESCRIPTION'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_ir_field = '<fs_ir_data>-0GL_ACCOUNT'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-PARENTH1'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>+2.
lv_er_field = '<fs_er_data>-BPC_MAT_TYPE'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = 'GRP'.
ENDLOOP.
LOOP AT <ft_ir_data> ASSIGNING <fs_ir_data>.
APPEND INITIAL LINE TO <ft_er_data> ASSIGNING <fs_er_data>.
lv_ir_field = '<fs_ir_data>-ID'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-ID'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_ir_field = '<fs_ir_data>-_LANGU_2EN'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-EVDESCRIPTION'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_ir_field = '<fs_ir_data>-0MATL_GROUP'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-PARENTH1'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_ir_field = '<fs_ir_data>-0MATL_TYPE'.
ASSIGN (lv_ir_field) TO <lv_ir_field>.
lv_er_field = '<fs_er_data>-MATERIAL_TYPE_CODE'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = <lv_ir_field>.
lv_er_field = '<fs_er_data>-BPC_MAT_TYPE'.
ASSIGN (lv_er_field) TO <lv_er_field>.
<lv_er_field> = 'DESC'.
ENDLOOP.
GET REFERENCE OF <ft_er_data> INTO er_data.
User | Count |
---|---|
10 | |
5 | |
4 | |
4 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.