Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

How to fill target Fields from Start Routine?

Hello Abaper,

¨

I need to fill two fields in target DSO from DataSource that is including only one Field. The other 2 Fields are already existing in another DSO. I know I can achieve that using Read from DSO in Rule Type but I need to know how to achieve that using Start Routine only. Why do not wanna use Rule Type Read from DSO ? Because in many cases we have more than one conditions for lookup which cannot be implemented using rule type Read from DSO.

I wrote the following code, how can I populate the data in target fields and how can I add the target fields into source_package or source_fields,


DATA: ITAB  TYPE STANDARD TABLE OF /BIC/AZSE1DSO00,

         WA_ITAB LIKE LINE OF ITAB.


SELECT  /BIC/ZSECOMPC CURRENCY TXTMD

         FROM /BIC/AZSE1DSO00 INTO CORRESPONDING FIELDS OF TABLE ITAB

         FOR ALL ENTRIES IN RESULT_PACKAGE

         WHERE /BIC/ZSECOMPC = RESULT_PACKAGE-/BIC/ZSECOMPC.

         SORT ITAB ASCENDING BY /BIC/ZSECOMPC.

         LOOP AT RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.

         LOOP AT ITAB INTO WA_ITAB WHERE

             /BIC/ZSECOMPC = <RESULT_FIELDS>-/BIC/ZSECOMPC.

         IF SY-SUBRC = 0.

           <RESULT_FIELDS>-CURRENCY = WA_ITAB-CURRENCY.

           <RESULT_FIELDS>-TXTMD = WA_ITAB-TXTMD.

         ENDIF.

         ENDLOOP.

         ENDLOOP.


regards,


sherif

Former Member
Former Member replied

Hi,

  • It is directly not possible. Declare a internal table as the result structure in the global area.
    • In the start routine populate the internal table
    • In the  end routine read that table to populate / move all the data to the result package and clear your internal table.
  • In the second case, create a internal table in Global area.
    • In the start routine fetch data
    • In the field routine read that internal table and populate your value to result.

Thanks.

2 View this answer in context

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question