Skip to Content
0
Former Member
Feb 11, 2011 at 04:23 AM

Performance on Select Single&Write AND Select*(For All Entries)&Read&Write

62 Views

Hi Experts,

I got a code review problem & we are in a argument.

I need the best performance code out of this two codes. I have tested this both on 5 & 1000 & 3000 & 100,000 & 180,000 records.

But still, I just need a second opinion of experts.

TYPES : BEGIN OF ty_account,

saknr TYPE skat-saknr,

END OF ty_account.

DATA : g_txt50 TYPE skat-txt50.

DATA : g_it_skat TYPE TABLE OF skat, g_wa_skat LIKE LINE OF g_it_skat.

DATA : g_it_account TYPE TABLE OF ty_account, g_wa_account LIKE LINE OF g_it_account.

Code 1.

SELECT saknr INTO TABLE g_it_account FROM skat.

LOOP AT g_it_account INTO g_wa_account.
  SELECT SINGLE txt50 INTO g_txt50 FROM skat
    WHERE spras = 'E'
      AND ktopl = 'XXXX'
      AND saknr = g_wa_account-saknr.
  WRITE :/ g_wa_account-saknr, g_txt50.
  CLEAR : g_wa_account, g_txt50.
ENDLOOP.

Code 2.

SELECT saknr INTO TABLE g_it_account FROM skat.
SELECT * INTO TABLE g_it_skat FROM skat 
  FOR ALL ENTRIES IN g_it_account
      WHERE spras = 'E'
        AND ktopl = 'XXXX'
        AND saknr = g_it_account-saknr.

LOOP AT g_it_account INTO g_wa_account.
  READ TABLE g_it_skat INTO g_wa_skat WITH KEY saknr = g_wa_account-saknr.
  WRITE :/ g_wa_account-saknr, g_wa_skat-txt50.
  CLEAR : g_wa_account, g_wa_skat.
ENDLOOP.

Thanks & Regards,

Dileep .C