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.
Program for all the Data Base changing operations:
DATA : WA_T001 TYPE T001,
IT_T001 TYPE TABALE OF T001.
WA_T001-BUKRS = ‘E001’.
WA_T001-BUTXT = ‘EMAX TECHNOLOGY’.
WA_T001-ORT01 = ‘HYD’.
APPEND WA_T001 TO IT_T001.
WA_T001-BUKRS = ‘E001’.
WA_T001-BUTXT = ‘EMAX TECHNOLOGY’.
WA_T001-ORT01 = ‘HYD’.
INSERT T001 FROM TABLE IT_T001 ACCEPTING DUPLICATE KEYS.
WRITE : / ‘NO OF RECORDS INSERTED SUCCESSFUL’, SY-DBCNT COLOR 1.
UPDATE T001 SET LAND1 = ‘IN’ WHERE BUKRS IN (‘E001’, ‘I001’).
WRITE : / ‘NO OF RECORDS INSERTED UPDATED’, SY-DBCNT COLOR 1.
DELETE FROM T001 WHERE BUKRS IN (‘E001’,’I001’), SY-DBCNT COLOR 1.
COMMIT WORK.
ROLLBACK WORK.