add_trnf_map_odso

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.