2013 May 20 5:50 AM
Hi Friends,
How to improve performance of following code,
LOOP AT IT_NONF ASSIGNING <NONF>.
CLEAR : LV_CHAR.
IF <NONF>-MATNR+0(1) CO VALID_CHRS.
LV_CHAR = <NONF>-MATNR+0(9).
ELSE.
LV_CHAR = <NONF>-MATNR+0(6).
ENDIF.
CONCATENATE LV_CHAR '%' INTO LV_CHAR.
CONDENSE LV_CHAR.
SELECT SUM( AGQTY )
SUM( AGVAL )
FROM ZCT090_SOP
INTO (<NONF>-AGQTY, <NONF>-AGVAL)
WHERE WERKS EQ <NONF>-WERKS AND
MATNR LIKE LV_CHAR.
ENDLOOP.
Getting Timeout Dump..
Regards
Karthikeyan K
Hi Friends,
How to improve performance of following code,
LOOP AT IT_NONF ASSIGNING <NONF>.
CLEAR : LV_CHAR.
IF <NONF>-MATNR+0(1) CO VALID_CHRS.
LV_CHAR = <NONF>-MATNR+0(9).
ELSE.
LV_CHAR = <NONF>-MATNR+0(6).
ENDIF.
CONCATENATE LV_CHAR '%' INTO LV_CHAR.
CONDENSE LV_CHAR.
SELECT SUM( AGQTY )
SUM( AGVAL )
FROM ZCT090_SOP
INTO (<NONF>-AGQTY, <NONF>-AGVAL)
WHERE WERKS EQ <NONF>-WERKS AND
MATNR LIKE LV_CHAR.
ENDLOOP.
Getting Timeout Dump..
Regards
Karthikeyan K
2013 May 20 6:00 AM
Hi Karthikeyan,
You are getting time out since you are hitting database inside a loop. This is bound to cause trouble as the data in your internal table increases. Please always try to avoid SELECT inside loops.
Please refer below scneario and try to fit in your code as required:
LOOP AT IT_NONF ASSIGNING <NONF>.
CLEAR : LV_CHAR.
IF <NONF>-MATNR+0(1) CO VALID_CHRS.
LV_CHAR = <NONF>-MATNR+0(9).
ELSE.
LV_CHAR = <NONF>-MATNR+0(6).
ENDIF.
CONCATENATE LV_CHAR '%' INTO LV_CHAR.
CONDENSE LV_CHAR.
lv_new-werks = <NONF>-werks.
lv_new-MATNR = LV_CHAR.
append lv_new to it_new.
ENDLOOP.
SELECT SUM( AGQTY )
SUM( AGVAL )
FROM ZCT090_SOP
INTO (var_AGQTY, var_AGVAL)
for all entries in it_new
WHERE WERKS EQ it_new-WERKS AND
MATNR LIKE it_new-matnr.
Please let me know if this doesnt work.
Regards,
DN.
2013 May 20 6:01 AM
Hi,
Select outside the loop using for all entries and inside the loop use read statement.
BR,
Sandeep Katoch
2013 May 20 6:02 AM
Hi Karthikeyan,
I think the loop is going to infinite, check with this. By the way can you explain exactly what to going to achieve in this loop?
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |