in src/zgoog_i_bqtr_gen_repl_objl_im1.prog.abap [0:0]
METHOD create.
DATA: lt_return TYPE bapiret2_t.
DATA: lv_sy_subrc TYPE sy-subrc.
DATA: ls_tlogo_adso TYPE zgoog_cl_bqtr_gen_bw_object=>t_tlogo.
DATA: lv_odso_name TYPE rsoadsonm.
DATA: ls_tlogo_ds TYPE zgoog_cl_bqtr_gen_bw_object=>t_tlogo.
DATA: lv_ds_name TYPE string.
DATA: ls_tlogo_trnf TYPE zgoog_cl_bqtr_gen_bw_object=>t_tlogo.
DATA: lv_dtp TYPE rsbkdtpnm.
lv_ds_name = iv_ds.
zgoog_cl_bqtr_gen_bw_object=>create_bw_ds(
EXPORTING
iv_ds = lv_ds_name
iv_dsnam = iv_dsname
iv_logsys = iv_logsy
iv_applnm = iv_appl
IMPORTING
es_tlogo = ls_tlogo_ds
ev_sy_subrc = lv_sy_subrc
et_return = lt_return ).
lv_odso_name = iv_odso.
add_status( iv_ds = iv_ds
iv_description = 'BW Data Source'
iv_value = |{ iv_dsname } with ODP Provider { lv_ds_name } |
it_return = lt_return ).
IF ls_tlogo_ds IS NOT INITIAL.
zgoog_cl_bqtr_gen_bw_object=>create_odso(
EXPORTING
iv_iobj = iv_iobj
iv_adsonm = lv_odso_name
iv_odpname = ls_tlogo_ds-odpname
iv_logsys = iv_logsy
IMPORTING
es_tlogo = ls_tlogo_adso
ev_sy_subrc = lv_sy_subrc
et_return = lt_return ).
add_status( iv_ds = iv_ds
iv_description = 'Data Store Object (ODSO)'
iv_value = CONV #( lv_odso_name )
it_return = lt_return ).
IF ls_tlogo_adso IS NOT INITIAL.
zgoog_cl_bqtr_gen_bw_object=>create_trnf_odso(
EXPORTING
iv_mass_tr_key = iv_trkey
iv_data_source = lv_ds_name
iv_tlogo_ds = ls_tlogo_ds
iv_tlogo_adso = ls_tlogo_adso
iv_iobj = iv_iobj
iv_mandt_fval = iv_mfnam
IMPORTING
es_tlogo = ls_tlogo_trnf
ev_sy_subrc = lv_sy_subrc
et_return = lt_return ).
add_status( iv_ds = iv_ds
iv_description = 'Data Transformation (RSDS)'
iv_value = |RSDS { lv_ds_name }/{ iv_logsy } -> ODSO { lv_odso_name }|
it_return = lt_return ).
IF ls_tlogo_trnf IS NOT INITIAL.
zgoog_cl_bqtr_gen_bw_object=>create_dtp_legacy(
EXPORTING
iv_tlogo_ds = ls_tlogo_ds
iv_tlogo_adso = ls_tlogo_adso
iv_tlogo_trnf = ls_tlogo_trnf
IMPORTING
ev_dtpnm = lv_dtp
ev_sy_subrc = lv_sy_subrc
et_return = lt_return ).
add_status( iv_ds = iv_ds
iv_description = 'Data Transfer Process'
iv_value = |{ lv_ds_name }/{ iv_logsy } -> { lv_dtp }|
it_return = lt_return ).
IF lv_dtp IS NOT INITIAL.
zgoog_cl_bqtr_gen_bw_object=>create_trigger(
EXPORTING
iv_trigger = CONV #( iv_trig )
IMPORTING
ev_sy_subrc = lv_sy_subrc
et_return = lt_return
).
add_status( iv_ds = iv_ds
iv_description = 'Process Chain Trigger'
iv_value = |{ iv_trig }|
it_return = lt_return ).
IF lv_sy_subrc = 0.
zgoog_cl_bqtr_gen_bw_object=>create_process_chain(
EXPORTING
iv_chain = iv_chain
iv_infoara = iv_info
iv_active = iv_active
iv_streaming = space
iv_trigger = CONV #( iv_trig )
iv_dtp_load = CONV #( lv_dtp )
iv_adso = CONV #( ls_tlogo_adso-objnm )
IMPORTING
ev_sy_subrc = lv_sy_subrc
et_return = lt_return
).
add_status( iv_ds = iv_ds
iv_description = 'Process Chain'
iv_value = |{ iv_chain }|
it_return = lt_return ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.