cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

Hi Gurus,

Need your help in this.

I am trying to split records in a table through ABAP routine. Following is the source table with 2 records

To split the record I wrote the following code in Start routine

DATA: ITAB_SOURCE TYPE _ty_t_SC_1,

       WA_SOURCE TYPE _ty_s_SC_1,

       TMP_COUNTER TYPE I VALUE 1.

LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.

   CLEAR WA_SOURCE.

   MOVE <SOURCE_FIELDS> TO WA_SOURCE.

   TMP_COUNTER = 1.

   DO 12 TIMES.

     WA_SOURCE-CALMONTH2 = TMP_COUNTER.

     APPEND WA_SOURCE TO ITAB_SOURCE.

     TMP_COUNTER = TMP_COUNTER + 1.

     ENDDO.

     "TMP_COUNTER = 1.

   ENDLOOP.

   "REFRESH SOURCE_PACKAGE.

   MOVE ITAB_SOURCE TO SOURCE_PACKAGE


However I could see only 1 record being split. Kindly point out the flaw in my routine.Following is the result for the routine.

Please help

0 Likes
View Entire Topic
Former Member
0 Likes

Hi Soumya,

Declare ITAB_SOURCE as internal table instead of work area.

DATA: ITAB_SOURCE TYPE STANDARD TABLE OF  _ty_t_SC_1,

        WA_SOURCE TYPE _ty_s_SC_1,

        TMP_COUNTER TYPE I VALUE 1.


RafkeMagic
Active Contributor
0 Likes

it's already defined as a table, hence the update of 12 records

the note (1258089) is really straight forward... not sure what I could add to make it more clear to you? you're obviously in scenario 1... instead of "changing" the value of WA_SOURCE-CALMONTH2 you'll also have to "update" the value of WA_SOURCE-RECORD

your initial records have values 1 (for employee 9000125) and 2 (for employee 9001673) for RECORD

since you don't correctly update the values for RECORD, they're just being overwritten in your second loop