Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Help on performance issues

Former Member
0 Likes
402

Hi All,

Could you correct me to the following coding with the Bold part, how to avoid using the Loop for below coding which will not effect the performance issues.

OPEN DATASET p_inpfl FOR INPUT IN TEXT MODE.

DO.

READ DATASET p_inpfl INTO i_input.

IF sy-subrc EQ 0.

APPEND i_input.

CLEAR i_input.

ELSE.

EXIT.

ENDIF.

ENDDO.

CLOSE DATASET p_inpfl.

ENDIF.

CONSTANTS: con_tab TYPE x VALUE '09'.

<b> LOOP AT i_input.

SPLIT i_input AT con_tab INTO i_finaltab-Field1 i_input.

SPLIT i_input AT con_tab INTO i_finaltab-Field2 i_input.

APPEND i_finaltab.

CLEAR i_finaltab.

ENDLOOP.</b>

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
379

Hi - do the SPLIT after you have fill the work area w_input - this has the same structure as the internal table i_input. This way you only have 1 internal table to fill and you don't need to loop through i_input

<i>CONSTANTS: con_tab TYPE x VALUE '09'</i>.

OPEN DATASET p_inpfl FOR INPUT IN TEXT MODE.

DO.

READ DATASET p_inpfl INTO w_input.

IF sy-subrc <i>NE</i> 0.

<i>EXIT

ENDIF.</i>

<i>SPLIT w_input AT con_tab INTO i_finaltab-Field1 i_input.

SPLIT w_input AT con_tab INTO i_finaltab-Field2 i_input.

APPEND i_finaltab.

CLEAR i_finaltab.</i>

ENDDO.

CLOSE DATASET p_inpfl.

2 REPLIES 2
Read only

Former Member
0 Likes
379

Hi,

OPEN DATASET p_inpfl FOR INPUT IN TEXT MODE.

<b>if sy-subrc = 0.</b>

DO.

READ DATASET p_inpfl INTO i_input.

IF sy-subrc EQ 0.

APPEND i_input.

CLEAR i_input.

ELSE.

EXIT.

ENDIF.

ENDDO.

<b>endif.</b>

CLOSE DATASET p_inpfl.

CONSTANTS: con_tab TYPE x VALUE '09'.

LOOP AT i_input.

***SPLIT i_input AT con_tab INTO i_finaltab-Field1 i_input.

*****SPLIT i_input AT con_tab INTO i_finaltab-Field2 i_input.

TRANSFER i_input TO i_finaltab.

****APPEND i_finaltab.

*****CLEAR i_finaltab.

ENDLOOP.

reward if useful

regards,

nazeer

Read only

Former Member
0 Likes
380

Hi - do the SPLIT after you have fill the work area w_input - this has the same structure as the internal table i_input. This way you only have 1 internal table to fill and you don't need to loop through i_input

<i>CONSTANTS: con_tab TYPE x VALUE '09'</i>.

OPEN DATASET p_inpfl FOR INPUT IN TEXT MODE.

DO.

READ DATASET p_inpfl INTO w_input.

IF sy-subrc <i>NE</i> 0.

<i>EXIT

ENDIF.</i>

<i>SPLIT w_input AT con_tab INTO i_finaltab-Field1 i_input.

SPLIT w_input AT con_tab INTO i_finaltab-Field2 i_input.

APPEND i_finaltab.

CLEAR i_finaltab.</i>

ENDDO.

CLOSE DATASET p_inpfl.