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

How to tune this loop??

abapdeveloper20
Contributor
0 Likes
1,630

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,584

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

12 REPLIES 12
Read only

Former Member
0 Likes
1,585

LOOP AT ITAB.

MOVE-CORRESPONDING ITAB TO OTAB.

APPEND OTAB.

MOVE-CORRESPONDING ITAB TO CTAB.

APPEND CTAB.

ENDLOOP.

RTAB[] = CTAB[] .

Read only

0 Likes
1,584

Thanks for the quick reply...

Is copy internal table directly ( itab1[] = itab2[] ) is faster than MOVE-CORRESPONDING/APPEND?????

Read only

0 Likes
1,584

Move corresponding will look for corresponding fields. this will impact performance if it has more fields + more data.

regards,

madhumitha

Read only

0 Likes
1,584

Is copy internal table directly ( itab1] = itab2[ ) is faster than MOVE-CORRESPONDING/APPEND?????Yes

( itab1] = itab2[ ) is faster than move-corresponding and append .

Read only

0 Likes
1,584

Hi..

Thanks to all....

Happy Coding!!!!

Read only

Former Member
0 Likes
1,584

Hi ,

You can avoid populating RTAB in the loop as it is of the same structure as CTAB.

Regards,

Madhumitha

Read only

Former Member
0 Likes
1,584

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

Read only

valter_oliveira
Active Contributor
0 Likes
1,584

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.

Read only

Former Member
0 Likes
1,584

hai,

the best to resolve tis issues to simply assign one table values to another

itab_target[] = itab_source[].

regards

jase

Read only

Former Member
0 Likes
1,584

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....

Read only

Former Member
0 Likes
1,584

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

Read only

Former Member
0 Likes
1,584

More info about Performance tuning for Data Selection Statement

http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm

Cheers

Wiparat