Professional Documents
Culture Documents
SELECT UP TO 1 ROWS
To read exact record from database table we need to We can read appropriate record from database table, we m
provide all key fields.
need to provide all key fields.
This is slow.
SELECT SINGLE * FROM MARA INTO WA_MARA WHERE MATNR = '0001'. " Read exact
record from MARA table
SELECT * FROM MARA INTO WA_MARA UP TO 1 ROWS WHERE MTART = 'FERT'. " Read
appropriate record from MARA table here MTART is not a keyfield
ENDSELECT.
SELECT * FROM MARA INTO WA_MARA UP TO 50 ROWS WHERE MTART = 'FERT'. " Read 50
appropriate records from MARA table here MTART is not a keyfield
ENDSELECT.
LOOP AT IT_MARA INTO WA_MARA.
write :/ wa_mara-matnr, wa_mara-mtart, wa_mara-meins. " Print data to screen
ENDLOOP.
SELECT T1~FIELD1
T1~FIELD2
T2~FIELD1
T2~FIELD2
INTO TABLE <ITAB>
FROM T1 INNER JOIN T2 ON ( T1~FIELD1 = T2~FIELD )
WHERE T1~FIELD = <SOME VALUE> .
** Here T1 and T2 are database tables, FIELD1 and FIELD2 are fields in respective tables
SELECT MARA~MATNR
MARA~MTART
MAKT~MAKTX
MAKT~SPRAS
INTO TABLE IT_MARA
FROM MARA INNER JOIN MAKT ON ( MARA~MATNR = MAKT~MATNR )
UP TO 50 ROWS.
Parent internal table must not be empty ( If it is empty, where condition fails and it will get
all records from database).
Here is the example of using SELECT FOR ALL ENTRIES in real-time applications
**DATA DECLERATIONS
DATA : IT_MARA TYPE TABLE OF MARA.
DATA : IT_MAKT TYPE TABLE OF MAKT .
**GET DATA FROM MARA TABLE
SELECT * FROM MARA INTO TABLE IT_MARA
WHERE MATNR = '0001'.
**SORT MARA TABLE, TO DELETE ADJACENT DUPLICATES THE TABLE MUST BE SORTED IN
ASCENDING ORDER
SORT IT_MARA ASCENDING .
**TO USE SELECT FOR ALL ENTRIES, THE PARENT INTERNAL TABLE MUST NOT BE EMPTY
SO CHECK IT
IF IT_MARA IS NOT INITIAL. "CHECK PARENT INTERNAL TABLE
**SECOND SELECT STATEMENT TO GET DATA FROM MAKT (MATERIAL DESCRIPTIONS), HE
RE WE ARE GETTING DATA
**FROM MAKT FOR ALL THE RECORDS IN IT_MARA, SEE WHERE CONDITION SHOULD BE P
ARENT INTERNAL TABLE
SELECT * FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR.
ENDIF.
As per SAP standards select into corresponding statement is not advisable as it effects
the performance of an application because it has to compare each field with database.