Hi,
You can find your answer on page no 120, you have to go with the flow of this book.
READ_PRODUCTS
DATA: LT_PROD TYPE TABLE OF ZBOOK_PRODUCTS,
LS_PROD_ATT_N TYPE ZBOL_BOOK_PRODUCTS_ATT_N,
DB_READ_FLAG TYPE ABAP_BOOL.
FIELD-SYMBOLS: TYPE ZBOL_BOOK_PRODUCTS_ATT.
REFRESH ET_PROD_ATT.
*check if there is something in the buffer
READ TABLE GT_BUFFER_PRODUCTS
WITH KEY GUEST_ID = IS_BOOK_KEY-GUEST_ID
HOTEL_NAME = IS_BOOK_KEY-HOTEL_NAME
LASTCHECKIN = IS_BOOK_KEY-LASTCHECKIN
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
There is data in the buffer
LOOP AT GT_BUFFER_PRODUCTS ASSIGNING .
ENDLOOP.
ELSE.
Read from the DB
SELECT * FROM ZBOOK_PRODUCTS INTO TABLE LT_PROD
WHERE GUEST_ID EQ IS_BOOK_KEY-GUEST_ID
AND HOTEL_NAME EQ IS_BOOK_KEY-HOTEL_NAME
AND LASTCHECKIN EQ IS_BOOK_KEY-LASTCHECKIN.
IF SY-SUBRC EQ 0.
LOOP AT LT_PROD ASSIGNING .
We need to return the data read....
APPEND INITIAL LINE TO ET_PROD_ATT ASSIGNING .
ENDLOOP.
ENDIF.
ENDIF.
Regards,
Sumeet