How to find Maximum Value in Internal Table

There is one internal table containing 3 columns.

I want to find the maximum value of 2nd column in that internal table . If I use loop at tab, that becomes performance issue, when there are more no. of records.
 

sort internaltable by secondcolumn descending.
read table internaltable index 1.
thelargestvalueofsecondcolumn = internaltable-secondcolumn.
 

Though we sort internal table on second column ,it sorts, first ,based on the first column and then it sorts on second column.So we may not get the maximum value on top of second column.
If I am true,please give me some suggestion.


If the two columns are A and B then

SORT ITAB BY B DESCENDING.
READ TABLE ITAB INDEX 1.
WRITE:/ ITAB-B. 

 

You have internal table with three rows in it. Ok...now when you add the rows into the internal tables, generally you writes,

APPEND IT..........instead of that you write like this :
APPEND IT sorted by  column name           ................ this column name must be that column for which you have to find the max. value.

now write :

READ TABLE IT index 2.

you will get the second max. value in the internal table.

for example, copy the following code and test it. You'll get the result.

REPORT ZAPPEND.

data: begin of it occurs 3,
          sales type p decimals 2,
          name(10),
end of it.

it-sales = 100.
it-name = 'Ulhas'.

append it sorted by sales.

it-sales = 50.
it-name = 'Ravi'.

append it sorted by sales.

it-sales = 150.
it-name = 'Ram'.

append it sorted by sales.

it-sales = 75.
it-name = 'Sham'.

append it sorted by sales.

it-sales = 200.
it-name = 'Madan'.

append it sorted by sales.

it-sales = 100.
it-name = 'Javed'.

append it sorted by sales.

loop at it.
     write: / it-sales, it-name.
endloop.

read table it index 2.

write : / 'Second maximun row is'.
write: / it-sales, it-name.


How To Know Whether Internal Tables Is Empty

* Check  Whether Table is Empty
IF ITAB[] is initial.
   WRITE: / 'TABLE EMPTY'.
ENDIF.

* Assuming that the data have been uploaded into internal table ITAB. You then can ignore the first line of the internal table
Delete ITAB index 1.          ( before you do your operation such as batch input or others )

* To know the last record insert in a table
DESCRIBE TABLE ITAB LINES SY-TFILL.
READ TABLE ITAB INDEX SY-TFILL. 

 

 

 

Serkan AKKAVAK
Computer Engineer
SAP Department Deputy Manager
Contact : serkurumsal@yandex.com