Saturday, July 18, 2015

Read Table and Describe Table

There are different kinds of fetching the records of internal table. One of these is READ TABLE statement. By using READ TABLE we can fetch only the first record from the table. Hence it can fetch a single record always. Read table statement can be used to any type of table to fetch the record. Now if the table is sorted then we can use BINARY SEARCH to fetch record. Now fetching records may take time but if we use BINARY SEARCH then the system performance will improve. Obviously if the table is sorted then the fetching operation will be faster.

We can describe an internal table as well. If the table stores 300 records then the system will inform us by the system field SY-TFILL. Here note that SY-TFILL will not work alone. We need to describe the table first then we can get data from SY-TFILL field.

DESCRIBE TABLE itab.
WRITE: / 'Number of table records: ', sy-tfill.
Here we are describing the internal table itab. After that we are getting records from SY-TFILL.

REPORT  zabap_gui.

* Declaring the local structure of internal table
TYPES:
      BEGIN OF ty_tab,
        item     TYPE char10,
        quantity TYPE i,
        price    TYPE i,
      END OF ty_tab.

* Declaring the Standard internal table with non unique key
DATA:
      itab TYPE STANDARD TABLE OF ty_tab,
      wtab TYPE ty_tab.

* Entering records to each field
wtab-item = 'Rice'. wtab-quantity = 2. wtab-price = 80.

* Now one single row has been fulfilled with data
* Next appending one single row data into the table
APPEND wtab TO itab.

wtab-item = 'Suger'. wtab-quantity = 1. wtab-price = 90.
APPEND wtab TO itab.

wtab-item = 'Tea'. wtab-quantity = 1. wtab-price = 100.
APPEND wtab TO itab.

wtab-item = 'Rice'. wtab-quantity = 3. wtab-price = 150.
APPEND wtab TO itab.

wtab-item = 'Horlicks'. wtab-quantity = 1. wtab-price = 200.
APPEND wtab TO itab.

wtab-item = 'Suger'. wtab-quantity = 2. wtab-price = 70.
APPEND wtab TO itab.
SORT itab BY item.

WRITE:  /3 'Item',
        13 'Quantity(KG)',
        28 'Price(Rs)'.
WRITE / '=========================================='.
SKIP. " Skipping one single line

READ TABLE itab INTO wtab WITH KEY item = 'Rice'
                                    BINARY SEARCH.
IF sy-subrc = 0.
  WRITE:  /3 wtab-item,
          12 wtab-quantity,
          25 wtab-price.
ENDIF.

SKIP.
WRITE '=========================================='.

DESCRIBE TABLE itab.
WRITE: / 'Number of table records: ', sy-tfill.








Though the output is showing only one record the table still contains six records.

9 comments:

Unknown said...

Really It is very helpful for me. Thanks a lot!!!!.

Anonymous said...

SAP Success Factors Real Time Hands on Training in Chennai...

Don't always Depend on Training Institute Alone and so please aware of Best Trainers too..

http://thecreatingexperts.com/sap-successfactors-training-in-chennai/

If You need a Best Trainer over SAP Success Factors Means??? Please ready for an DEMO From the Trainer MR.Karthick
CONTACT:8122241286

Both Classroom/Online Training is Available!!!!!!

Anonymous said...

Informative Blog...For a long time I was craving for a career growth in programming and then I came to know that THE CREATING EXPERTS is the one who provide training with hands on training and real time scenarios

http://thecreatingexperts.com/sap-abap-training-in-chennai/

contact 8122241286

Unknown said...

Thanks for your info...Here THE CREATING EXPERTS provide hands on training with real time scenarios

http://thecreatingexperts.com/sap-abap-training-in-chennai/

contact +91-08122241286

Anonymous said...

Hi, I learned SAP Training in Chennai from THE CREATING EXPERTS. The training was good and i got selected in leading MNC company as SAP Consultant.

contact 8122241286

www.thecreatingexperts.com

Anonymous said...

Hi, I learned SAP Training in Chennai from THE CREATING EXPERTS. The training was good and i got selected in leading MNC company as SAP Consultant.

contact 8122241286

www.thecreatingexperts.com

Anonymous said...

Why is it mandatory to use the SY-SUBRC Check in a read Statement?

Danni said...

Before using binary search, we must sort the internal table, if not it will be fail to retrieve.

Unknown said...

thank you for sharing nyce information really very nice ..i am interested Ur sap course for more info
sap hr online classes