Skip to Content
0
Former Member
Dec 24, 2010 at 10:39 AM

result_package not updating DSO fields

100 Views

Dear All,

We have written end routine in DSO level.

When we debug the code i find all the fields are getting updated in result_package but when i load data to ODS then i dont find calcuated fields getting populated ... Only direct mapping fields are getting populated...

Here is the final part of code


LOOP AT e_t_result into e_s_result.
      READ TABLE lt_top_perf TRANSPORTING NO FIELDS
                  WITH KEY employee = e_s_result-employee.
      IF sy-subrc = 0.
        e_s_result-/bic/zma_num = lv_new_top.
        e_s_result-/bic/zma_perf = lv_act_top_p.
        e_s_result-/bic/zmi_num = lv_top.
        e_s_result-/bic/zmi_perf = '5'.
      ELSE.
        READ TABLE lt_high_perf TRANSPORTING NO FIELDS
                  WITH KEY employee = e_s_result-employee.
        IF sy-subrc = 0.
          e_s_result-/bic/zma_num = lv_new_high.
          e_s_result-/bic/zma_perf = lv_act_high_p.
          e_s_result-/bic/zmi_num = lv_high.
          e_s_result-/bic/zmi_perf = '15'.
        ELSE.
          READ TABLE lt_good_perf TRANSPORTING NO FIELDS
                  WITH KEY employee = e_s_result-employee.
          IF sy-subrc = 0.
            e_s_result-/bic/zma_num = lv_new_good.
            e_s_result-/bic/zma_perf = lv_act_good_p.
            e_s_result-/bic/zmi_num = lv_good.
            e_s_result-/bic/zmi_perf = '32'.
          ELSE.
            READ TABLE lt_middle_perf TRANSPORTING NO FIELDS
                    WITH KEY employee = e_s_result-employee.
            IF sy-subrc = 0.
              e_s_result-/bic/zma_num = lv_new_middle.
              e_s_result-/bic/zma_perf = lv_act_middle_p.
              e_s_result-/bic/zmi_num = lv_middle.
              e_s_result-/bic/zmi_perf = '45'.
            ELSE.
              READ TABLE lt_low_perf TRANSPORTING NO FIELDS
                      WITH KEY employee = e_s_result-employee.
              IF sy-subrc = 0.
                e_s_result-/bic/zma_num = lv_new_low.
                e_s_result-/bic/zma_perf = lv_act_low_p.
                e_s_result-/bic/zmi_num = lv_low.
                e_s_result-/bic/zmi_perf = '3'.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDLOOP.
*    BREAK-POINT.
    REFRESH RESULT_PACKAGE.

    MOVE e_t_result[] TO RESULT_PACKAGE[].

Can you please tel me where are we going wrong.

Thanks & Regards,

Anup