cancel
Showing results for 
Search instead for 
Did you mean: 

smartform performance issue

Former Member
0 Kudos

HI floks

i did some development in new smartform its working fine but i have issue in data base performance is 76% . but i utilize similar below code with various conditions in various 12 places . is it possible to reduce performance this type of code . check it and mail me how can i do it . if possible can suggest me fast .how much % is best for this type of performance issues.

DATA : BEGIN OF ITVBRPC OCCURS 0,

LV_POSNR LIKE VBRP-POSNR,

END OF ITVBRPC.

DATA : BEGIN OF ITKONVC OCCURS 0,

LV_KNUMH LIKE KONV-KNUMH,

LV_KSCHL LIKE KONV-KSCHL,

END OF ITKONVC.

DATA: BEGIN OF ITKONHC OCCURS 0,

LV_KNUMH LIKE KONH-KNUMH,

LV_KSCHL LIKE KONH-KSCHL,

LV_KZUST LIKE KONH-KZUST,

END OF ITKONHC.

DATA: BEGIN OF ITKONVC1 OCCURS 0,

LV_KWERT LIKE KONV-KWERT,

END OF ITKONVC1.

DATA : BEGIN OF ITCALCC OCCURS 0,

LV_KWERT LIKE KONV-KWERT,

END OF ITCALCC.

DATA: COUNTC(3) TYPE n,

TOTALC LIKE KONV-KWERT.

SELECT POSNR FROM VBRP INTO ITVBRPC

WHERE VBELN = INV_HEADER-VBELN AND ARKTX = WA_INVDATA-ARKTX .

APPEND ITVBRPC.

ENDSELECT.

LOOP AT ITVBRPC.

SELECT KNUMH KSCHL FROM KONV INTO ITKONVC WHERE KNUMV =

LV_VBRK-KNUMV AND KPOSN = ITVBRPC-LV_POSNR AND KSCHL = 'ZLAC'.

APPEND ITKONVC.

ENDSELECT.

ENDLOOP.

SORT ITKONVC BY LV_KNUMH.

DELETE ADJACENT DUPLICATES FROM ITKONVC.

LOOP AT ITKONVC.

SELECT KNUMH KSCHL KZUST FROM KONH INTO ITKONHC WHERE KNUMH = ITKONVC-LV_KNUMH AND KSCHL = 'ZLAC' AND KZUST = 'Z02'.

APPEND ITKONHC.

ENDSELECT.

ENDLOOP.

LOOP AT ITKONHC.

SELECT KWERT FROM KONV INTO ITKONVC1 WHERE KNUMH = ITKONHC-LV_KNUMH AND

KSCHL = ITKONHC-LV_KSCHL AND KNUMV = LV_VBRK-KNUMV.

MOVE ITKONVC1-LV_KWERT TO ITCALCC-LV_KWERT.

APPEND ITCALCC.

ENDSELECT.

endloop.

LOOP AT ITCALCC.

COUNTC = COUNTC + 1.

TOTALC = TOTALC + ITCALCC-LV_KWERT.

ENDLOOP.

MOVE ITKONHC-LV_KSCHL TO LV_CKSCHL.

MOVE TOTALC TO LV_CKWERT.

it's urgent ..........

thanks .

bbbbye

suresh

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

you can increase the performance by following,

1. By changing occurs clause to types declaration clause.

You need to declare like this:

DATA : BEGIN OF xVBRPC,

LV_POSNR LIKE VBRP-POSNR,

END OF xVBRPC.

DATA: ITVBRPC like table of xVBRPC,

2. do not use select statements in loop statements.

Ashven