Wednesday, October 27, 2010

ABAP PROGRAM EXAMPLE PROGRAM WITH ALL THE INTERNAL TABLE OPERATIONS:

*&---------------------------------------------------------------------*

*& Report ZALL_INTERNALTABLE_OPERATIONS *

*& *

*&---------------------------------------------------------------------*

*& *

*& *

*&---------------------------------------------------------------------*

REPORT ZALL_INTERNALTABLE_OPERATIONS .

* DECLARE THE REQUIRED DATATYPE

TYPES : BEGIN OF TY_T001,

BUKRS TYPE BUKRS,

BUTXT TYPE BUTXT,

ORT01 TYPE ORT01,

LAND1 TYPE LAND1,

END OF TY_T001,

TY_T_T001 TYPE TABLE OF TY_T001.

* DECLARE INTERNAL TABLE FROM THE ABOVE STRUCTURE

DATA IT_T001 TYPE TY_T_T001.

DATA WA_T001 TYPE TY_T001.

* FETCH DATA FROM T001 INTO IT_T001.

SELECT BUKRS BUTXT ORT01 LAND1 INTO TABLE IT_T001 FROM T001 WHERE LAND1

= 'DE'.

* SORT

SORT IT_T001 DESCENDING BY BUKRS.

WRITE : / 'LIST OF GERMAN COMPANIES IN DESCENDING ORDER' COLOR 1.

ULINE.

* DISPALY DATA FROM IT_T001

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.

* ADD SOME MORE RECORDS

CLEAR WA_T001.

* ABOVE IS CLEARS THE CONTENTS

WA_T001-BUKRS = 'E001'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.

WA_T001-BUKRS = 'E002'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES2'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.


WA_T001-BUKRS = 'E003'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES 3'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.


WA_T001-BUKRS = 'E004'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES 4'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.


WA_T001-BUKRS = 'E005'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES 5'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.


WA_T001-BUKRS = 'E006'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES 6'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.


WA_T001-BUKRS = 'E007'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES 7'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.


WA_T001-BUKRS = 'E008'.

WA_T001-BUTXT = 'EMAX TECHNOLOGIES 8'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

APPEND WA_T001 TO IT_T001.

* INSERT

CLEAR WA_T001.

WA_T001-BUKRS = 'I001'.

WA_T001-BUTXT = 'IMAX TECHNOLOGY'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

INSERT WA_T001 INTO IT_T001 INDEX 1.


WA_T001-BUKRS = 'I002'.

WA_T001-BUTXT = 'IMAX TECHNOLOGY 2'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

INSERT WA_T001 INTO IT_T001 INDEX 1.


WA_T001-BUKRS = 'I003'.

WA_T001-BUTXT = 'IMAX TECHNOLOGY 3'.

WA_T001-ORT01 = 'HYDERABAD'.

WA_T001-LAND1 = 'INDIA'.

INSERT WA_T001 INTO IT_T001 INDEX 1.


SKIP 2.

WRITE :/ 'DATA AFTER APPEND AND INSERT'.

ULINE.

* DISPALY DATA FROM IT_T001

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.


* DELETE


DELETE IT_T001 FROM 4 TO 5.

SKIP 2.

WRITE : / 'DATA AFTER DELETE ' COLOR 3.

ULINE.

* DISPLAY DATA FROM IT_T001

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.

* MODIFY

* SET COUNTRY KEY TO 'IN' FOR BOTH COMPANY CODES 'EOO1' AND 'I001'.

CLEAR WA_T001.

WA_T001-LAND1 = 'IN'.

MODIFY IT_T001 FROM WA_T001 TRANSPORTING LAND1 WHERE BUKRS = 'E001' OR

BUKRS = 'I001'.

IF SY-SUBRC = 0 .

* SUCCESSFULLY MODIFYED

SKIP 2.

WRITE : / 'DATA AFTER MODIFYED' COLOR 5.

*DISPLAY DATA FROM IT_T001

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.

ENDIF.

* READ

SORT IT_T001 BY BUKRS ASCENDING.

CLEAR WA_T001.

READ TABLE IT_T001 INTO WA_T001 WITH KEY BUKRS = '0001' BINARY SEARCH.

SKIP 2.

WRITE : / 'DATA AFTER READ' COLOR 6.

ULINE.

* DISPLAY DATA FROM IT_T001

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.

* DELETE ADJACENT DUPLICATES SINCE WE DON'T HAVE DUPLICATES ON BUKRS,

*WE PREPARE DUPLICATES.

DO 3 TIMES.

APPEND LINES OF IT_T001 TO IT_T001.

ENDDO.

SORT IT_T001 BY BUKRS ASCENDING.

SKIP 2.

WRITE : / 'DATA AFTER ADDING DUPLICATE RECORDINS'

COLOR 7.

ULINE.

* DISPALY DATA FROM IT_T001

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.

* DELETE ADJCENT DUPLICATES

DELETE ADJACENT DUPLICATES FROM IT_T001 COMPARING BUKRS.

SKIP 2.

WRITE : / 'DATA AFTER ADJACENT DUPLICATES' COLOR 6 .

ULINE.

LOOP AT IT_T001 INTO WA_T001.

WRITE : / SY-TABIX,

WA_T001-BUKRS,

WA_T001-BUTXT,

WA_T001-ORT01,

WA_T001-LAND1.

ENDLOOP.