2008 May 28 10:17 AM
Hi experts,
Kindly help me to change this code in any means to execute it in a better & faster way...
DATA : BEGIN OF ITAB OCCURS 0,
BUKRS LIKE ZSDSTFORM-BUKRS,
VKORG LIKE VBRK-VKORG,
GJAHR LIKE ZSDSTFORM-GJAHR,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
VKGRP LIKE VBRP-VKGRP,
GROUP LIKE TVGRT-BEZEI,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE VBRK-FKDAT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
AUBEL LIKE VBRP-AUBEL,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
INVMT LIKE VBRK-NETWR,
BSTKD LIKE VBKD-BSTKD,
BSTDK LIKE VBKD-BSTDK,
FSLNO LIKE ZSDSTFORM-FSLNO,
VGBEL LIKE VBRP-VGBEL,
NVBELN LIKE VBFA-VBELN,
END OF ITAB.
DATA : BEGIN OF OTAB OCCURS 0,
BUKRS LIKE ZSDSTFORM-BUKRS,
VKORG LIKE VBRK-VKORG,
GJAHR LIKE ZSDSTFORM-GJAHR,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
VKGRP LIKE VBRP-VKGRP,
GROUP LIKE TVGRT-BEZEI,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE VBRK-FKDAT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
INVMT LIKE VBRK-NETWR,
BSTKD LIKE VBKD-BSTKD,
BSTDK LIKE VBKD-BSTDK,
NVBELN LIKE VBFA-VBELN,
FSLNO LIKE ZSDSTFORM-FSLNO,
VGBEL LIKE VBRP-VGBEL,
END OF OTAB.
DATA : BEGIN OF CTAB OCCURS 0,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE ZSDSTFORM-FKDAT,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
* vkgrp like vbrp-vkgrp,
* group like tvgrt-bezei,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
EFORM LIKE ZSDSTFORM-EFORM,
EDATE LIKE ZSDSTFORM-EDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
FSLNO LIKE ZSDSTFORM-FSLNO,
NVBELN LIKE VBFA-VBELN,
END OF CTAB.
DATA : RTAB LIKE CTAB OCCURS 0 WITH HEADER LINE.
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO OTAB.
APPEND OTAB.
MOVE-CORRESPONDING ITAB TO CTAB.
APPEND CTAB.
MOVE-CORRESPONDING ITAB TO RTAB.
APPEND RTAB.
ENDLOOP.Points will be rewarded..
Rgds
Lakshmiraj
2008 May 28 10:23 AM
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO OTAB.
APPEND OTAB.
MOVE-CORRESPONDING ITAB TO CTAB.
APPEND CTAB.
ENDLOOP.
RTAB[] = CTAB[] .
Hi experts,
Kindly help me to change this code in any means to execute it in a better & faster way...
DATA : BEGIN OF ITAB OCCURS 0,
BUKRS LIKE ZSDSTFORM-BUKRS,
VKORG LIKE VBRK-VKORG,
GJAHR LIKE ZSDSTFORM-GJAHR,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
VKGRP LIKE VBRP-VKGRP,
GROUP LIKE TVGRT-BEZEI,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE VBRK-FKDAT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
AUBEL LIKE VBRP-AUBEL,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
INVMT LIKE VBRK-NETWR,
BSTKD LIKE VBKD-BSTKD,
BSTDK LIKE VBKD-BSTDK,
FSLNO LIKE ZSDSTFORM-FSLNO,
VGBEL LIKE VBRP-VGBEL,
NVBELN LIKE VBFA-VBELN,
END OF ITAB.
DATA : BEGIN OF OTAB OCCURS 0,
BUKRS LIKE ZSDSTFORM-BUKRS,
VKORG LIKE VBRK-VKORG,
GJAHR LIKE ZSDSTFORM-GJAHR,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
VKGRP LIKE VBRP-VKGRP,
GROUP LIKE TVGRT-BEZEI,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE VBRK-FKDAT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
INVMT LIKE VBRK-NETWR,
BSTKD LIKE VBKD-BSTKD,
BSTDK LIKE VBKD-BSTDK,
NVBELN LIKE VBFA-VBELN,
FSLNO LIKE ZSDSTFORM-FSLNO,
VGBEL LIKE VBRP-VGBEL,
END OF OTAB.
DATA : BEGIN OF CTAB OCCURS 0,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE ZSDSTFORM-FKDAT,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
* vkgrp like vbrp-vkgrp,
* group like tvgrt-bezei,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
EFORM LIKE ZSDSTFORM-EFORM,
EDATE LIKE ZSDSTFORM-EDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
FSLNO LIKE ZSDSTFORM-FSLNO,
NVBELN LIKE VBFA-VBELN,
END OF CTAB.
DATA : RTAB LIKE CTAB OCCURS 0 WITH HEADER LINE.
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO OTAB.
APPEND OTAB.
MOVE-CORRESPONDING ITAB TO CTAB.
APPEND CTAB.
MOVE-CORRESPONDING ITAB TO RTAB.
APPEND RTAB.
ENDLOOP.Points will be rewarded..
Rgds
Lakshmiraj
2008 May 28 10:23 AM
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO OTAB.
APPEND OTAB.
MOVE-CORRESPONDING ITAB TO CTAB.
APPEND CTAB.
ENDLOOP.
RTAB[] = CTAB[] .
2008 May 28 10:25 AM
Thanks for the quick reply...
Is copy internal table directly ( itab1[] = itab2[] ) is faster than MOVE-CORRESPONDING/APPEND?????
2008 May 28 10:27 AM
Move corresponding will look for corresponding fields. this will impact performance if it has more fields + more data.
regards,
madhumitha
2008 May 28 10:29 AM
Is copy internal table directly ( itab1] = itab2[ ) is faster than MOVE-CORRESPONDING/APPEND?????Yes
( itab1] = itab2[ ) is faster than move-corresponding and append .
2008 May 28 10:31 AM
2008 May 28 10:26 AM
Hi ,
You can avoid populating RTAB in the loop as it is of the same structure as CTAB.
Regards,
Madhumitha
2008 May 28 10:26 AM
do use corresponding statement
u try this if the structure is same...
iatb1[] = itab2[].
is will hjelp u....
Reward If it is usefull
regards
Anbu
2008 May 28 10:26 AM
Hello.
First of all I would advise you to use work areas instead of OCCURS 0 statement. Also, since RTAB has same structure of CTAB, you can copy all line directly.
TYPES:
BEGIN OF ty_itab,
BUKRS LIKE ZSDSTFORM-BUKRS,
VKORG LIKE VBRK-VKORG,
GJAHR LIKE ZSDSTFORM-GJAHR,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
VKGRP LIKE VBRP-VKGRP,
GROUP LIKE TVGRT-BEZEI,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE VBRK-FKDAT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
AUBEL LIKE VBRP-AUBEL,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
INVMT LIKE VBRK-NETWR,
BSTKD LIKE VBKD-BSTKD,
BSTDK LIKE VBKD-BSTDK,
FSLNO LIKE ZSDSTFORM-FSLNO,
VGBEL LIKE VBRP-VGBEL,
NVBELN LIKE VBFA-VBELN,
END OF ty_itab,
BEGIN OF ty_otab,
BUKRS LIKE ZSDSTFORM-BUKRS,
VKORG LIKE VBRK-VKORG,
GJAHR LIKE ZSDSTFORM-GJAHR,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
VKGRP LIKE VBRP-VKGRP,
GROUP LIKE TVGRT-BEZEI,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE VBRK-FKDAT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
INVMT LIKE VBRK-NETWR,
BSTKD LIKE VBKD-BSTKD,
BSTDK LIKE VBKD-BSTDK,
NVBELN LIKE VBFA-VBELN,
FSLNO LIKE ZSDSTFORM-FSLNO,
VGBEL LIKE VBRP-VGBEL,
END OF ty_otab.
BEGIN OF ty_ctab,
KUNNR LIKE ZSDSTFORM-KUNNR,
NAME1 LIKE KNA1-NAME1,
VBELN LIKE ZSDSTFORM-VBELN,
FKDAT LIKE ZSDSTFORM-FKDAT,
VKBUR LIKE VBRP-VKBUR,
OFFICE LIKE TVKBT-BEZEI,
* vkgrp like vbrp-vkgrp,
* group like tvgrt-bezei,
PERNR LIKE KNVP-PERNR,
SNAME LIKE PA0001-SNAME,
FTYPE LIKE ZSDSTFORM-FTYPE,
FNAME LIKE ZSDSTFORM-FNAME,
FDATE LIKE ZSDSTFORM-FDATE,
EFORM LIKE ZSDSTFORM-EFORM,
EDATE LIKE ZSDSTFORM-EDATE,
ERDAT LIKE ZSDSTFORM-ERDAT,
NETWR LIKE ZSDSTFORM-NETWR,
FSLNO LIKE ZSDSTFORM-FSLNO,
NVBELN LIKE VBFA-VBELN,
END OF ty_ctab.
DATA: itab TYPE STANDARD TABLE OF ty_itab,
otab TYPE STANDARD TABLE OF ty_otab,
ctab TYPE STANDARD TABLE OF ty_ctab,
rtab TYPE STANDARD TABLE OF ty_ctab,
DATA: wa_itab TYPE ty_itab,
wa_otab TYPE ty_otab,
wa_ctab TYPE ty_ctab,
wa_rtab TYPE ty_ctab,
LOOP AT ITAB INTO wa_itab.
MOVE-CORRESPONDING wa_itab TO wa_otab.
APPEND wa_otab TO otab.
MOVE-CORRESPONDING wa_itab TO wa_ctab.
APPEND wa_ctab TO ctab.
ENDLOOP.
rtab[] = ctab[].
Best regards.
Valter Oliveira.
2008 May 28 10:33 AM
hai,
the best to resolve tis issues to simply assign one table values to another
itab_target[] = itab_source[].
regards
jase
2008 May 28 11:27 AM
use separate work area, use field group and then use select all or else u can use nesting if and if ur using field group....
2008 May 28 11:58 AM
The fastest solution would be to do nothing at all.
Is it really useful to keep the same data three times in the system.
Especially if the tables are large. If they are not then you need no performance improvement, because it is not worth the effort.
The structures arfe so similar, that I do not understand why it should not be possible to work with one structure which contains all fields.
maybe you could enlighten me in these questions.
Siegfried
2008 Jun 03 4:33 PM
More info about Performance tuning for Data Selection Statement
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
Cheers
Wiparat