BPC Sample Code - 2
BPC Sample Code - 2
*& Method
: IF_UJ_CUSTOM_LOGIC~EXECUTE
*& Application : Retail
*&--------------------------------------------------------------------*
*& Details:
*& Copy P&L account to main version
*&--------------------------------------------------------------------*
* MODIFICATION HISTORY LOG:
* Date
Programmer
Description
TR
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
METHOD if_uj_custom_logic~execute.
DATA:
lo_appset
lo_application
lo_gentab
ls_appset_info
ls_application
ls_prefix
TYPE uja_s_appset_info,
TYPE uja_s_application,
TYPE uja_s_prefix,
lv_tab_name
lv_gotstate
TYPE tabname,
TYPE ddgotstate,
lo_ref_table_descr
lo_ref_table_type
lo_ref_itab
lo_context
ls_user_original
ls_user
ls_status
lo_write_back
TYPE
TYPE
TYPE
TYPE
TYPE
REF TO if_uj_context,
uj0_s_user,
uj0_s_user,
ujo_s_wb_status,
REF TO cl_ujo_write_back,
TYPE
TYPE
TYPE
TYPE
REF TO if_uja_dim_data,
uj_dim_name, "member
REF TO if_uja_hier,
uj_flg,
lt_message
TYPE uj0_t_message,
lr_data
lv_errors
lv_model
lo_dataref
lo_model
lo_appl
lt_appl_dim
ls_appl_dim
TYPE uja_t_appl_dim,
LIKE LINE OF lt_appl_dim,
lt_dim_name
ls_dim_name
TYPE ujq_t_dim,
LIKE LINE OF lt_dim_name,
lt_selection
ls_sel
TYPE uj0_t_sel,
LIKE LINE OF lt_selection,
lt_attr_list
ls_attr_list
TYPE uja_t_attr_name,
LIKE LINE OF lt_attr_list,
lt_dim_list
ls_member
lt_slicer
TYPE uja_t_dim_list,
TYPE ujo_s_member,
TYPE ujo_t_members.
FIELD-SYMBOLS:
"Table and reference to the data. Temporary storage of data.
<lt_rate>
TYPE STANDARD TABLE,
<ls_rate>
TYPE any,
<lt_output>
TYPE STANDARD TABLE,
<ls_output>
TYPE any,
<lt_errors>
TYPE STANDARD TABLE,
<ls_wa>
TYPE any,
<lt_query_result>
TYPE STANDARD TABLE,
<lt_cat_md>
<ls_cat_md>
<lt_time_md>
<ls_time_md>
TYPE
TYPE
TYPE
TYPE
STANDARD TABLE,
any,
STANDARD TABLE,
any,
TYPE uj_dim_member,
TYPE uj_dim_member,
<ld_datasrc_out>
<ld_account_out>
<ld_region_out>
<ld_market_segment_out>
TYPE
TYPE
TYPE
TYPE
<ld_signeddata_out>
<ld_signeddata_cost>
<ld_signeddata_rate>
TYPE p,
TYPE p,
TYPE p,
<ld_year>
<ld_pc_type>
<ld_id>
TYPE any,
TYPE any,
TYPE uj_dim_member.
CONSTANTS:
"Dimensions
lc_measures
lc_signeddata
lc_time
uj_dim_member,
uj_dim_member,
uj_dim_member,
uj_dim_member,
lc_account
lc_datasrc
lc_green_scheme
lc_region
lc_version
lc_market_segment
lc_currency
lc_erm_entity
" Hierarchy Node name
lc_skf_group
lc_x(1)
lc_ci(3)
lc_sme(3)
lc_aud(3)
lc_calc(4)
lc_1013(4)
lc_s0131(5)
lc_input(5)
lc_no_gs(5)
lc_no_ms(5)
lc_no_rg(5)
lc_upload(6)
lc_input_inp(9)
lc_800000(6)
lc_total(5)
DATA:
lt_cat_md
lt_time_md
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
uj_dim_name
uj_dim_name
uj_dim_name
uj_dim_name
uj_dim_name
uj_dim_name
uj_dim_name
uj_dim_name
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
'ACCOUNT',
'DATASRC',
'GREEN_SCHEME',
'REGION',
'VERSION',
'MARKET_SEGMENT',
'CURRENCY',
'ERM_ENTITY',
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
'X',
'C&I',
'SME',
'AUD',
'CALC',
'1013',
'S0131',
'INPUT',
'NO_GS',
'NO_MS',
'NO_RG',
'UPLOAD',
'INPUT_INP',
'800000',
'TOTAL'.
ls_account(32)
lt_account
TYPE c,
LIKE STANDARD TABLE OF ls_account,
lv_category(8)
lv_cond
lv_msg
TYPE c,
TYPE string,
TYPE string,
lv_year
lv_total_rom(16)
lv_total_cost(16)
TYPE i,
TYPE p DECIMALS 10,
TYPE p DECIMALS 10.
lv_category = ls_param-hashvalue.
"Main version
lo_dim->read_mbr_data
= lt_selection
= abap_true
= lt_time_md.
lc_datasrc
lc_account
lc_region
<ld_account_out>
= lc_800000.
<ld_datasrc_out>
= lc_calc.
<ld_region_out>
= lc_no_rg.
<ld_market_segment_out> = lc_no_ms.
<ld_signeddata_out> = <ld_signeddata_cost> * <ld_signeddata_rate> * -1.
COLLECT <ls_output> INTO ct_data.
ENDLOOP.
"Write message to log.
cl_ujk_logger=>log( i_object = 'Apply Rates: COMPLETED' ).
cl_ujk_logger=>log( i_object = '' ).
ENDMETHOD.