in src/zgoog_cl_bqtr_gen_bw_object.clas.abap [0:0]
METHOD add_trnf_map_odso.
CONSTANTS:
co_input TYPE rstran_paramtype VALUE '0',
co_output TYPE rstran_paramtype VALUE '1'.
DATA:
lt_posit TYPE rstran_t_posit_mapping,
ls_posit TYPE rstran_s_posit_mapping.
TRY.
"First field of input
ls_posit-posit = 0001.
ls_posit-segid = '0001'.
ls_posit-paramtype = co_input.
APPEND ls_posit TO lt_posit.
io_trfn->get_target(
IMPORTING
e_r_target = DATA(lo_target) ).
lo_target->get_header(
IMPORTING
e_s_head = DATA(ls_header) ).
lo_target->get_list(
IMPORTING
e_t_field = DATA(lt_target_field) ).
READ TABLE lt_target_field TRANSPORTING NO FIELDS
WITH KEY iobjnm = iv_iobj.
IF sy-subrc IS INITIAL.
ls_posit-posit = sy-tabix.
ls_posit-segid = '0001'.
ls_posit-paramtype = co_output.
APPEND ls_posit TO lt_posit.
ELSE.
RETURN.
ENDIF.
io_trfn->add_rule(
EXPORTING
i_ruletype = 'DIRECT'
i_t_posit = lt_posit
i_groupid = '02' ).
CLEAR lt_posit.
ls_posit-posit = lines( lt_target_field ).
ls_posit-segid = '0001'.
ls_posit-paramtype = co_output.
APPEND ls_posit TO lt_posit.
io_trfn->add_rule(
EXPORTING
i_t_posit = lt_posit
i_groupid = '02' ).
CATCH cx_root.
ENDTRY.