Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

help with select statement

Former Member
0 Kudos

Hi ABAPERs,

I am new to abap and please help me in writing select statement for all entries to the below query.

REPORT ZBALATEST .

TABLES: LFA1, EKKO, EKPO.

DATA: BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

END OF ITAB.

DATA: BEGIN OF JTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

END OF JTAB.

DATA: BEGIN OF KTAB OCCURS 0,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

END OF JTAB.

select

thanks in advance,

bin

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

SELECT LIFNR NAME1

INTO TABLE ITAB

FROM LFA1

WHERE (Write ur condition) .

SELECT EBELN AEDAT

INTO TABLE JTAB

FROM EKKO

FOR ALL ENTRIES IN ITAB

WHERE LIFNR = ITAB-LIFNR.

SELECT EBELP MATNR

INTO TABLE KTAB

FROM EKPO

FOR ALL ENTRIES IN JTAB

WHERE EBELN = JTAB-EBELN.

Do Reply me for further help.

Regards,

Ranjit Thakur.

<b>Please Mark The Helpful Answer.</b>

5 REPLIES 5

Former Member
0 Kudos

hi

to use for all entries for 2 tables..u should have atleast one field in common

for example

data : begin of mara occurs 0,

matnr like mara-matnr,

......

end of mara.

data : begin of marc occurs 0,

matnr like mara-matnr,

werks like marc-werks

endof marc.

select * from mara into corresponding fields of table mara.

select matnr werks from marc into table marc for all entries in mara where

matnr = mara-matnr.

hope it helps u

Former Member
0 Kudos

Hi,

SELECT LIFNR NAME1

INTO TABLE ITAB

FROM LFA1

WHERE (Write ur condition) .

SELECT EBELN AEDAT

INTO TABLE JTAB

FROM EKKO

FOR ALL ENTRIES IN ITAB

WHERE LIFNR = ITAB-LIFNR.

SELECT EBELP MATNR

INTO TABLE KTAB

FROM EKPO

FOR ALL ENTRIES IN JTAB

WHERE EBELN = JTAB-EBELN.

Do Reply me for further help.

Regards,

Ranjit Thakur.

<b>Please Mark The Helpful Answer.</b>

Former Member
0 Kudos

see the below code it was for all entries for 2 internal tables you can replace the table adn fields in my code ...so that you can get yours ...


TYPES: BEGIN OF t_bkpf,
*  include structure bkpf.
  bukrs LIKE bkpf-bukrs,
  belnr LIKE bkpf-belnr,
  gjahr LIKE bkpf-gjahr,
  bldat LIKE bkpf-bldat,
  monat LIKE bkpf-monat,
  budat LIKE bkpf-budat,
  xblnr LIKE bkpf-xblnr,
  awtyp LIKE bkpf-awtyp,
  awkey LIKE bkpf-awkey,
 END OF t_bkpf.
DATA: it_bkpf TYPE STANDARD TABLE OF t_bkpf INITIAL SIZE 0,
      wa_bkpf TYPE t_bkpf.

TYPES: BEGIN OF t_bseg,
*include structure bseg.
  bukrs     LIKE bseg-bukrs,
  belnr     LIKE bseg-belnr,
  gjahr     LIKE bseg-gjahr,
  buzei     LIKE bseg-buzei,
  mwskz     LIKE bseg-mwskz,         "Tax code
  umsks     LIKE bseg-umsks,         "Special G/L transaction type
  prctr     LIKE bseg-prctr,         "Profit Centre
  hkont     LIKE bseg-hkont,         "G/L account
  xauto     LIKE bseg-xauto,
  koart     LIKE bseg-koart,
  dmbtr     LIKE bseg-dmbtr,
  mwart     LIKE bseg-mwart,
  hwbas     LIKE bseg-hwbas,
  aufnr     LIKE bseg-aufnr,
  projk     LIKE bseg-projk,
  shkzg     LIKE bseg-shkzg,
  kokrs     LIKE bseg-kokrs,
 END OF t_bseg.
DATA: it_bseg TYPE STANDARD TABLE OF t_bseg INITIAL SIZE 0,
      wa_bseg TYPE t_bseg.


*Select FOR ALL ENTRIES command
SELECT bukrs belnr gjahr bldat monat budat xblnr awtyp awkey
  UP TO 100 ROWS
  FROM bkpf
  INTO TABLE it_bkpf.

IF sy-subrc EQ 0.
* The FOR ALL ENTRIES comand only retrieves data which matches
* entries within a particular internal table.
  SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
         dmbtr mwart hwbas aufnr projk shkzg kokrs
    FROM bseg
    INTO TABLE it_bseg
    FOR ALL ENTRIES IN it_bkpf
    WHERE bukrs EQ it_bkpf-bukrs AND
          belnr EQ it_bkpf-belnr AND
          gjahr EQ it_bkpf-gjahr.
ENDIF.

reward points if it is usefull..

Girish

Former Member
0 Kudos

select lifnr name

INTO TABLE itab FROM LFA1.

IF itab[] IS NOT INITIAL.

SELECT ebeln aedat

INTO TABLE jtab FROM ekko

FOR ALL ENTRIES IN itab.

WHERE lifnr EQ itab-lifnr.

IF jtab[] IS NOT INITIAL.

SELECT ebelp matnr INTO TABLE ktab FROM ekpo

FOR ALL ENTRIES IN jtab

WHERE ebeln EQ jtab-ebeln.

regards,

Ruchika

reward if useful.

Former Member
0 Kudos

hi,

in your declaration of table fields in internal tables u should have atleast one common field in all tables

for ex:

SELECT LIFNR NAME1 from lfa1 INTO TABLE ITAB WHERE name1 = 'suresh'.

SELECT EBELN AEDAT from ekko INTO TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.

SELECT EBELP MATNR from ekko INTO TABLE KTAb FOR ALL ENTRIES IN JTAB WHERE EBELN = JTAB-EBELN.

in this way u can select any no.of.fields in the table.

if useful reward some points.

with regards,

suresh.