operations on Internal Table


Ex on Internal Table operations
Types: Begin of  TY_KNA1,
KUNNR  TYPE  KNA1-KUNNR,
NAME1  TYPE  KNA1-NAME1,
LAND1    TYPE  KNA1-LAND1,
ORT01    TYPE  KNA1-ORT01,
End Of  TY_KNA1.

DATA :  I_KNA1   TYPE  TABLE OF  TY_KNA1.
DATA :  WA_KNA1  TYPE  TY_KNA1.

SELECT   KUNNR   NAME1  LAND1  ORT01
FROM  KNA1  INTO  TABLE  I_KNA1
WHERE  LAND1  =  'US'.

LOOP  AT  I_KNA1  INTO  WA_KNA1.
WRITE:/   WA_KNA1-KUNNR,
WA_KNA1-NAME1,
WA_KNA1-LAND1,
WA_KNA1-ORT01.
ENDLOOP.



Ex on APPEND
  Wa_kna1-kunnr = ‘0000001011’.
  Wa_kna1-land1 = ‘US’.
  Wa_kna1-name1 = ‘AAA’.
  Wa_kna1-ort01 = ‘NEWYORK’.
  Append wa_kna1 to i_kna1.



LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test

Ex on INSERT
  Wa_kna1-kunnr = ‘0000001022’.
  Wa_kna1-land1 = ‘US’.
  Wa_kna1-name1 = ‘BBB’.
  Wa_kna1-ort01 = ‘NEWYORK’.
  Insert wa_kna1 into i_kna1 index 5.
  LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test


Ex on SORT
*sort i_kna1 by kunnr.
*sort i_kna1 by land1 descending.
Sort i_kna1.


LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
Save->Act->test

Ex on Describe table:

  Data v_lines type I.
  Describe table i_kna1 lines v_lines.
  Write: / ‘total customers are:’, v_lines color 1.
  Save->Act->test





Read table with index:
  Read table i_kna1 into wa_kna1 index 5.
  WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
  Save->Act->test

Read table with KEY:
  Read table i_kna1 into wa_kna1 with key kunnr = ‘0000001011’
  binary search.
  WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.

Save->Act->test

Ex to Modify LAND1 from US to USA:
  Sort i_kna1 by kunnr.
  Read table i_kna1 into wa_kna1 with key kunnr = ‘0000001011’                                 
 binary search.
  Wa_kna1-land1 = ‘USA’.
  Modify i_kna1 from wa_kna1 index sy-tabix transporting land1.
  
  LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test
  Ex2: (modifying All or multiple records from US to USA)
  Wa_kna1-land1 = ‘USA’.
  Modify i_kna1 from wa_kna1 transporting land1
  where land1 = ‘US’.
  LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test



Ex on Delete:
  Ex1: (deleting single record)
  Delete i_kna1 index 5.
  Loop …. Endloop.
  Save->Act->test
  Ex2: (deleting single record)
  Delete i_kna1 where kunnr = ‘0000001011’.
  Loop…. Endloop.
  Save->Act->test
Ex3: (deleting multiple records)
  Delete i_kna1 where land1 = ‘USA’
  Loop…. Endloop
  Save->Act->test
  Ex on Delete adjacent duplicates:
  Wa_kna1-kunnr = ‘0000001033’.
  Wa_kna1-land1 = ‘US’.
  Wa_kna1-name1 = ‘CCC’.
  Wa_kna1-ort01 = ‘NEWYORK’.
  Insert wa_kna1 into i_kna1 index 5.


Insert wa_kna1 into i_kna1 index 8.
  Insert wa_kna1 into i_kna1 index 3.
  Sort i_kna1 by kunnr.
  Delete adjacent duplicates from i_kna1 comparing all fields.
  LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test
  Ex on Clear:
  Wa_kna1-kunnr = ‘0000001044’.
  Wa_kna1-land1 = ‘US’.
  Wa_kna1-name1 = ‘ARJUN4’.
  Wa_kna1-ort01 = ‘NEWYORK’.
  Append wa_kna1 to i_kna1.
  Clear wa_kna1.


Ex on Refresh:
  Refresh i_kna1 .
  LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test
 Ex on FREE:
  FREE i_kna1 .
  LOOP AT i_kna1 INTO wa_kna1.
WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test

 Ex on Append lines of
  Data: i_kna1 type table of ty_kna1.
  Data: i_kna1_tmp type table of ty_kna1.
  Data: wa_kna1 type ty_kna1.
  Select kunnr name1 land1
  From kna1 into table i_kna1 Up to 10 rows.


Append lines of i_kna1 from 3 to 5 to i_kna1_tmp.
  Loop at i_kna1_tmp into wa_kna1.
   WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test
  Ex on INSERT lines of
  Insert lines of i_kna1 from 6 to 8 into i_kna1_tmp index 2.
  


  Loop at i_kna1_tmp into wa_kna1.
   WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.
  Save->Act->test
  Ex on Move itab1 to itab2:
  Refresh i_kna1_tmp.
  I_kna1_tmp [ ] = i_kna1 [ ].
  Loop at i_kna1_tmp into wa_kna1.
   WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.


(Or)
  Loop at i_kna1 into wa_kna1.
  Append wa_kna1 to i_kna1_tmp.
  Endloop.
  
  Loop at i_kna1_tmp into wa_kna1.
   WRITE: / wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-land1,
wa_kna1-ort01.
ENDLOOP.



  What is the output of program?
  Loop at i_kna1 into wa_kna1.
  Write: / wa_kna1-kunnr,
  wa_kna1-name1,
  wa_kna1-land1.
  Append wa_kna1 to i_kna1.
  Endloop.


Ex on COLLECT
  Types: begin of ty_kna1,
     Kunnr type kna1-kunnr,
     Name1 type kna1-name1,
     Amount type I,
     End of ty_kna1.
  Data: i_kna1 type table of ty_kna1.
  Data: wa_kna1 type ty_kna1.
  
  Wa_kna1-kunnr = ‘1011’.
  Wa_kna1-name1 = ‘reliance’.
  Wa_kna1-amount = ‘100’.
  Collect wa_kna1 into i_kna1.
  
  Wa_kna1-kunnr = ‘1022’.
  Wa_kna1-name1 = ‘hero motor corp’.
  Wa_kna1-amount = ‘200’.
  Collect wa_kna1 into i_kna1.

  Wa_kna1-kunnr = ‘1011’.

Wa_kna1-name1 = ‘reliance’.
  Wa_kna1-amount = ‘50’.
  Collect wa_kna1 into i_kna1.

  Loop at i_kna1 into wa_kna1.
  Write: / wa_kna1-kunnr, wa_kna1-name1, wa_kna1-amount.
  Endloop.





Previous
Next Post »