Different Types of Internal Table
Different Types of Internal Table
An internal table is a temporary table that is created in the RAM on the Application Server or it is
created inside a program. It can hold data only as long as a user is inside a screen. The
moment the user goes out of the screen, all the rows are deleted and the associated memory
will also be cleared. An internal table cannot avoid duplicate entries. Number of records in the
internal tables is called as number of Lines.
APPLICATION SERVER
APPLICATION SERVER
WORK AREA:
A work area has a similar structure of an internal table but it has only row. Using the work area,
we can append or insert or read or modify or delete a particular line.
TYPES OF INTERNAL TABLES:
IF SY-SUBRC = 4.
MESSAGE 'No Records Found' TYPE 'E'.
ENDIF.
SELECTION SCREEN:
OUTPUT:
IF SY-SUBRC = 4.
MESSAGE 'No Records Found' TYPE 'E'.
ENDIF.
SELECTION SCREEN:
OUTPUT:
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT WHERE MATNR IN M AND
MBRSH = S.
IF SY-SUBRC = 4.
MESSAGE 'No Records Found' TYPE 'E'.
ENDIF.
We can use ORDER BY option to sort the records with respect to a field in Ascending order or
Descending order.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT WHERE MATNR IN M AND
MBRSH = S ORDER BY MATNR DESCENDING.
*MATNR in Descending Order.If none is specified default is Ascending Order.
IF SY-SUBRC = 4.
MESSAGE 'No Records Found' TYPE 'E'.
ENDIF.
USING FIELD LABELS:
These are used for searching. Using this, we can retrieve data :
IF SY-SUBRC = 4.
MESSAGE 'No Records Found!' TYPE 'E'.
ENDIF.
JOINING TABLES:
We can join number of tables. There are two types of joins. They are:
a) Inner Join.
b) Left Outer Join.
INNER JOIN:
Here the system will retrieve the number of records that are common in both the tables.
Here T1 and T2 are tables. Aliases should be mentioned for the all the fields that are common in
both the tables. e.g. T1~MATNR,T2~MATNR. Here MATNR is common in both the tables.
Here the system will retrieve the number of records in T1 and the number of records common in
T1 and t2.
SELECT * FROM T001L INTO CORRESPONDING FIELDS OF TABLE IT1 WHERE WERKS = P
AND LGORT IN S.
SELECT LGORT T1~MATNR MAKTX BRGEW GEWEI FROM MARA AS T1 JOIN MAKT AS T2
ON T1~MATNR = T2~MATNR JOIN MARD AS T3 ON T1~MATNR = T3~MATNR INTO TABLE IT2
FOR ALL ENTRIES IN IT1 WHERE LGORT = IT1-LGORT AND SPRAS = SY-LANGU.
IF SY-SUBRC = 4.
MESSAGE 'No Records Found' TYPE 'E'.
ENDIF.
RETRIEVING A SINGLE ROW:
SELECT SINGLE:
Here, the system will retrieve the first record that satisfies the condition and will not retrieve
further. It may not be consistent.
WRITE : / WA-LIFNR,WA-KTOKK,WA-NAME1,WA-SORTL,WA-LAND1.
IF SY-SUBRC = 4.
MESSAGE 'No Records Found!' TYPE 'E'.
ENDIF.
SELECT UP TO 1 ROWS:
Here, the system will retrieve all the records that satisfy the conditions, sort them in a particular
sequence, then it will send the first record as the output. This will always be consistent. Here we
can read more than 1 rows also.
REPORT TO RETRIEVE THE LAST PURCHASE ORDER DETAILS OF A PARTICULAR DAY
SELECT T1~EBELN T1~AEDAT MATNR TXZ01 MENGE MEINS FROM EKKO AS T1 JOIN EKPO AS
T2
ON T1~EBELN = T2~EBELN UP TO 1 ROWS INTO TABLE IT WHERE T1~AEDAT = D ORDER B
Y
T1~EBELN DESCENDING.
LOOP AT IT INTO WA.
WRITE : / WA-EBELN,WA-AEDAT,WA-MATNR,WA-TXZ01,WA-MENGE,WA-MEINS.
ENDLOOP.
IF SY-SUBRC = 4.
MESSAGE 'No Records Found!' TYPE 'E'.
ENDIF.
AGGREGATE FUNCTIONS:
1. MAX – Maximum.
2. MIN – Minimum.
3. AVG – Average.
TO FIND THE MINIMUM GROSS WEIGHT FROM THE LIST OF MATERIAL NOS:
IF SY-SUBRC = 4.
MESSAGE 'No Records Found!' TYPE 'E'.
ENDIF.
In the similar way, we can write programs for Maximum and Average.
USING IMPLICIT WORK AREA:
Example:
TABLES MARA.
DATA: IT TYPE TABLE OF MARA INITIAL SIZE 0,WA LIKE LINE OF IT.
IF SY-SUBRC = 4.
MESSAGE 'No Records Found!' TYPE 'E'.
ENDIF.
STANDARD TABLES:
We can add new line into the internal table. For this, following keywords are used:
1. Append.
2. Insert.
3. Collect.
1. APPEND:
To add a new line into the internal table without checking the content of the internal table,
we can use the keyword APPEND. New line will be added in the last. The system will not
avoid the duplicate entries.
where WA is the work area and IT is the name of the internal table.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
OUTPUT:
2. INSERT:
To insert a new line in between the existing line, we can use the keyword INSERT.
For this, we can use table index.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Chassis'.
WA-BRGEW = '660.700'.
WA-GEWEI = 'KG'.
INSERT WA INTO IT INDEX 2.
OUTPUT:
3. COLLECT:
If there are no duplicate entries, the COLLECT statement will work like an APPEND
statement. If there are duplicate entries, no new rows will be appended. Instead, the system
will add the values of its numeric components to the corresponding values of existing rows
with the same key.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Chassis'.
WA-BRGEW = '660.700'.
WA-GEWEI = 'KG'.
INSERT WA INTO IT INDEX 2.
SKIP 2.
OUTPUT:
We can copy number of lines from one standard internal table to another. For this, we can
use the following keywords:
1. APPEND.
2. INSERT.
3. MOVE.
APPEND:
Now, the system will append from Lines L2 to L5 from the internal table to IT1 to IT2. Here,
the system will not overwrite the contents of the internal table IT2.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
SKIP 2.
WA2-MATNR = '200'.
WA2-MBRSH = 'C'.
WA2-MTART = 'FERT'.
WA2-MAKTX = 'Sulphuric Acid'.
WA2-BRGEW = '100.000'.
WA2-GEWEI = 'KG'.
APPEND WA2 TO IT2.
WA2-MATNR = '204'.
WA2-MBRSH = 'C'.
WA2-MTART = 'FERT'.
WA2-MAKTX = 'Bauxite'.
WA2-BRGEW = '655.775'.
WA2-GEWEI = 'KG'.
APPEND WA2 TO IT2.
INSERT:
Now, the system will insert from Lines L2 to L5 from the internal table to IT1 to IT2 from line
number n. Here, the system will not overwrite the contents of the internal table IT2.
TYPES: BEGIN OF FS,
MATNR TYPE ZMAT-MATNR,
MBRSH TYPE ZMAT-MBRSH,
MTART TYPE ZMAT-MTART,
MAKTX TYPE ZMAT-MAKTX,
BRGEW TYPE ZMAT-BRGEW,
GEWEI TYPE ZMAT-GEWEI,
END OF FS.
DATA: IT1 TYPE TABLE OF FS INITIAL SIZE 0,WA1 TYPE FS,
IT2 TYPE TABLE OF FS INITIAL SIZE 0,WA2 TYPE FS.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '250.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
SKIP 2.
WA2-MATNR = '200'.
WA2-MBRSH = 'C'.
WA2-MTART = 'FERT'.
WA2-MAKTX = 'Sulphuric Acid'.
WA2-BRGEW = '100.000'.
WA2-GEWEI = 'KG'.
APPEND WA2 TO IT2.
WA2-MATNR = '204'.
WA2-MBRSH = 'C'.
WA2-MTART = 'FERT'.
WA2-MAKTX = 'Bauxite'.
WA2-BRGEW = '655.775'.
WA2-GEWEI = 'KG'.
APPEND WA2 TO IT2.
INSERT LINES OF IT1 FROM 2 TO 4 INTO IT2 INDEX 1.
OUTPUT:
MOVE:
We can copy the number of lines from one internal table to another. Here, if there are
contents in the second internal table, these contents will be overwritten.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '250.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
APPEND WA1 TO IT1.
SKIP 2.
WA2-MATNR = '200'.
WA2-MBRSH = 'C'.
WA2-MTART = 'FERT'.
WA2-MAKTX = 'Sulphuric Acid'.
WA2-BRGEW = '100.000'.
WA2-GEWEI = 'KG'.
APPEND WA2 TO IT2.
WA2-MATNR = '204'.
WA2-MBRSH = 'C'.
WA2-MTART = 'FERT'.
WA2-MAKTX = 'Bauxite'.
WA2-BRGEW = '655.775'.
WA2-GEWEI = 'KG'.
APPEND WA2 TO IT2.
SORTED TABLE:
Here, the system will sort with respect to a particular field and duplicate entries will not be
displayed.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '250.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
OUTPUT:
Here, the system will sort with respect to a particular field and duplicate entries will be
displayed.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '250.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
LOOP AT IT1 INTO WA1.
WRITE : / SY-TABIX,WA1-MATNR,WA1-MBRSH,WA1-MTART,WA1-MAKTX,WA1-
BRGEW,WA1-GEWEI.
ENDLOOP.
OUTPUT:
HASHED TABLE:
Here, the system will store the data with respect to the table key. The system will not display
duplicate entries.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '250.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
We can either read number of lines of an internal table or we can read a single line.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
OUTPUT:
Here the system will read the number of lines that satisfy the condition(s).
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
OUTPUT:
Here the system will read the number of lines between L2 and L5.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '1003'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
OUTPUT:
Here the system will read the number of lines between L2 and L5 that satisfy the
condition(s).
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '1003'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
1. Table Index.
2. Table Key. ( Sorted Table ).
TABLE INDEX:
Here the system will read the line number of the internal table specified in the INDEX.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
READ TABLE IT INTO WA INDEX 3.
WRITE : / SY-TABIX,WA-MATNR,WA-MBRSH,WA-MTART,WA-MAKTX,WA-BRGEW,
WA-GEWEI.
OUTPUT:
WITH KEY:
Here, the system will read the first line that matches the value specified in the WITH KEY
option. If the value of more than one field is specified, then the system will read the first line
that has the value of the fields. In this case, we can use the keyword BINARY SEARCH
by which we can access the line quickly.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
OUTPUT:
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
READ TABLE IT INTO WA WITH KEY MATNR = '100' BRGEW = '450.700' BINARY SEARCH.
WRITE : / SY-TABIX,WA-MATNR,WA-MBRSH,WA-MTART,WA-MAKTX,WA-BRGEW,WA-GEWEI.
OUTPUT:
This option can be used only in the case of SORTED TABLE. Here, the system will read the
first line with respect to the field by which it is sorted. It cannot read with any other fields.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '250.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '102'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ammonium Phosphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '101'.
WA1-MBRSH = 'M'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Castings'.
WA1-BRGEW = '550.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '100'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Copper Sulphate'.
WA1-BRGEW = '350.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
WA1-MATNR = '103'.
WA1-MBRSH = 'C'.
WA1-MTART = 'FERT'.
WA1-MAKTX = 'Ferrous Sulphate'.
WA1-BRGEW = '750.700'.
WA1-GEWEI = 'KG'.
INSERT WA1 INTO TABLE IT1.
SKIP 2.
READ TABLE IT1 INTO WA1 WITH TABLE KEY MATNR = '101'.
WRITE : / SY-TABIX,WA1-MATNR,WA1-MBRSH,WA1-MTART,WA1-MAKTX,WA1-BRGEW,WA1-
GEWEI.
OUTPUT:
THE SYSTEM READS THE LINE NUMBER WHICH HAS THE MATERIAL NUMBER 101:
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
OUTPUT:
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
WA-BRGEW = '800.000'.
MODIFY IT FROM WA TRANSPORTING BRGEW WHERE MATNR = '100'.
LOOP AT IT INTO WA.
WRITE : / SY-TABIX,WA-MATNR,WA-MBRSH,WA-MTART,WA-MAKTX,WA-BRGEW,WA-GEWEI.
ENDLOOP.
OUTPUT:
AFTER MODIFYING:
We can sort the Standard & Hashed tables. For this, we can use the keyword SORT.
SORT:
We can use the keyword SORT. Here, the system will sort the lines of the internal table
with the standard key i.e. first field either in Ascending or Descending order.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SORT IT.
OUTPUT:
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SORT IT DESCENDING.
OUTPUT:
We can sort the lines of an internal table with respect to particular field either in Ascending order
or in a Descending order. The field can either be a character field or numeric field.
EXAMPLE:
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SORT IT BY MAKTX DESCENDING.
LOOP AT IT INTO WA.
WRITE : / SY-TABIX,WA-MATNR,WA-MBRSH,WA-MTART,WA-MAKTX,WA-BRGEW,WA-GEWEI.
ENDLOOP.
OUTPUT:
1. DELETE.
2. FREE.
3. REFRESH or CLEAR.
DELETE:
To delete the lines of the internal table, we can use the keyword DELETE.
To delete the lines inside a loop we can use the following syntax:
DELETE IT.
This will delete all the lines. This should be used within LOOP and ENDLOOP only.
EXAMPLE:
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
OUTPUT:
To delete the number of lines in an internal table, we can use the following syntax:
DELETE IT FROM 2 TO 4.
This will delete the lines from 2 to 4 of the internal table. The subsequent lines will be
decremented by 1.
TYPES: BEGIN OF FS,
MATNR TYPE ZMAT-MATNR,
MBRSH TYPE ZMAT-MBRSH,
MTART TYPE ZMAT-MTART,
MAKTX TYPE ZMAT-MAKTX,
BRGEW TYPE ZMAT-BRGEW,
GEWEI TYPE ZMAT-GEWEI,
END OF FS.
DATA: IT TYPE TABLE OF FS INITIAL SIZE 0,
WA TYPE FS.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
DELETE IT FROM 2 TO 4.
OUTPUT:
Similarly, we can delete the number of lines that satisfy the condition. For this, we can use the
following syntax:
We can delete a single line by using Index. After deleting the line, the subsequent lines will be
decremented by 1.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '450.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '103'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Citric Acid'.
WA-BRGEW = '124.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SKIP 2.
DELETE IT INDEX 3.
LOOP AT IT INTO WA.
WRITE : / SY-TABIX,WA-MATNR,WA-MBRSH,WA-MTART,WA-MAKTX,WA-BRGEW,WA-GEWEI.
ENDLOOP.
OUTPUT:
Here, the system will retain the first entry and will delete all the subsequent duplicate entries.
We can consider an entry as a duplicate entry by comparing either one field or more than field
or all the fields: Syntax:
1. BY COMPARING 1 FIELD:
SORT IT BY MBRSH.
SKIP 2.
OUTPUT:
FREE:
To delete all the rows from the internal table and to clear the associated memory, we can
use the keyword FREE. This should be used in the last of the code.
EXAMPLE:
SORT IT BY MBRSH.
FREE IT.
IF SY-SUBRC = 0.
MESSAGE 'No Records Found!' TYPE 'E'.
ENDIF.
REFRESH or CLEAR:
To delete all the rows from the internal table and to leave the associated memory, we can
use the keywords REFRESH or CLEAR.
EXAMPLE:
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
REFRESH IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
OUTPUT:
After an Internal table is filled with lines, we need to generate report with header, footer, group
wise, total & subtotal. For this, we can use the following control break processing statements. All
the control break processing statements should be used within Loop and EndLoop only.
1. Header
AT FIRST.
................. .
................. .
ENDAT.
2. Footer
AT LAST.
................. .
................. .
ENDAT.
3. GroupWise
Starting of a Group.
ENDAT. ENDON.
Ending of a Group.
AT END OF <field>.
................. .
................. .
ENDAT.
* To form a group, sort the table first with respect to that field.
4. Total:
SUM.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '226.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '326.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
GROUPWISE REPORT:
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '250.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '550.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '100'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Copper Sulphate'.
WA-BRGEW = '350.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '102'.
WA-MBRSH = 'C'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Ammonium Phosphate'.
WA-BRGEW = '226.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
WA-MATNR = '101'.
WA-MBRSH = 'M'.
WA-MTART = 'FERT'.
WA-MAKTX = 'Castings'.
WA-BRGEW = '326.700'.
WA-GEWEI = 'KG'.
APPEND WA TO IT.
SORT IT BY MATNR.