Application Development and Automation 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: 
Read only

Select statement

Former Member
0 Likes
1,449

HI,

I have to develop a report in which I have to deal with 2 tables MKPF and MSEG. Can you please tell me which should I start with in my select st. in the

Start-Of-Selection. event block.

Thanks .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,422

hi ,

tables:mseg,MKPF.

data: begin of it_mseg occurs 0,

MBLNR like mseg-MBLNR,

MJAHR like mseg-MJAHR,

ZEILE like mseg-ZEILE,

end of it_mseg.

data: begin of it_mkpf occurs 0,

MBLNR like mkpf-MBLNR,

MJAHR like mkpf-MJAHR,

BLART like mkpf-BLART,

end of it_mkpf.

select-options:s_mblnr for mkpf-mblnr.

select MBLNR

MJAHR

ZEILE

from mseg

into table it_mseg

where mblnr in s_mblnr.

select MBLNR

MJAHR

BLART

from mkpf

into table it_mkpf

for all entries in it_mseg

where mblnr = it_mseg-mblnr.

regards,

venkat.

13 REPLIES 13
Read only

Former Member
0 Likes
1,422

Depends on what field you are using for the condition check . Usually posting dates so use MKPF. You may aswell inner join the two tables.

Read only

0 Likes
1,422

Hi,

You can start with the Table mkpf , however it depends on where you are using the conditional checks

Read only

Former Member
0 Likes
1,422

SELECT AMBLNR AERDAT AERNAM AXBLNR ABLDAT ALIFNR AWERKS AIVAL

AMATDOC ASWERK AREV_DATE ARCAN BMATNR BGR_MADE BMBLNR BMJAHR B~MENGE

FROM MKPF AS A INNER JOIN MSEG AS B

ON AG1SNO = BG1SNO

INTO CORRESPONDING FIELDS OF TABLE ITAB

WHERE A~BUDAT IN ERDAT AND

A~LIFNR IN LIFNR AND

A~WERKS IN WERKS AND

B~MATNR IN MATNR.

Read only

Former Member
0 Likes
1,422

Hi

you should start from MKPF

Regards

Aditya

Read only

0 Likes
1,422

I have this condition, to get the list of material with respect to the list from table mseg.....

Read only

Former Member
0 Likes
1,422

see the sample code....

select single msegmblnr msegmenge msegdmbtr msegwerks mseg~lgort

msegbwart msegshkzg msegebeln msegebelp

into corresponding fields of table

output2 from mseg inner join mkpf on ( msegmblnr = mkpfmblnr and msegmjahr = mkpfmjahr )

and msegbwart = '351' and msegshkzg = 'S'

and mkpf~budat in s_date.

Regards

Sugumar G

Read only

Former Member
0 Likes
1,422

HI,

First u should select from mkpf table that is master tabel

than based on u can selct the data from mseg table.

Please dont use join condition because we r using cluster table(MSEG) and pooled table.

Read only

Former Member
0 Likes
1,423

hi ,

tables:mseg,MKPF.

data: begin of it_mseg occurs 0,

MBLNR like mseg-MBLNR,

MJAHR like mseg-MJAHR,

ZEILE like mseg-ZEILE,

end of it_mseg.

data: begin of it_mkpf occurs 0,

MBLNR like mkpf-MBLNR,

MJAHR like mkpf-MJAHR,

BLART like mkpf-BLART,

end of it_mkpf.

select-options:s_mblnr for mkpf-mblnr.

select MBLNR

MJAHR

ZEILE

from mseg

into table it_mseg

where mblnr in s_mblnr.

select MBLNR

MJAHR

BLART

from mkpf

into table it_mkpf

for all entries in it_mseg

where mblnr = it_mseg-mblnr.

regards,

venkat.

Read only

Nawanandana
Active Contributor
0 Likes
1,422

hi

its depend of the ur requirement....coz MSEG is the master table and MKPF hv posting date... better to do the inner join both of table

regatd

nawa

Read only

Former Member
0 Likes
1,422

hi,

START-OF-SELECTION.

  SELECT  
MSEG~EXBWR
'MSEG~EXVKW
MSEG~GRUND
'MSEG~KDAUF
MSEG~KDEIN
MSEG~KDPOS
MSEG~KOSTL
MSEG~KUNNR
MSEG~KZBEW
    INTO CORRESPONDING FIELDS OF TABLE ITAB
    FROM MKPF INNER JOIN MSEG
    ON    MKPF~MANDT = MSEG~MANDT
      AND MKPF~MBLNR = MSEG~MBLNR
      AND MKPF~MJAHR = MSEG~MJAHR
    FOR ALL ENTRIES IN MATNR
    WHERE MATNR = MATNR-LOW
      AND MSEG~AUFNR IN AUFNR
      AND MKPF~BUDAT IN BUDAT
      AND MSEG~BWART IN BWART
      AND MSEG~CHARG IN CHARG
      AND MSEG~DMBTR IN DMBTR
      AND MSEG~KUNNR IN KUNNR
      AND MSEG~LGORT IN LGORT
      AND MSEG~LIFNR IN LIFNR
      AND MKPF~MBLNR IN MBLNR
      AND MKPF~MJAHR IN MJAHR
      AND MSEG~SOBKZ IN SOBKZ
      AND MKPF~USNAM IN USNAM
      AND MKPF~VGART IN VGART
      AND MSEG~WERKS IN WERKS
      AND MSEG~XAUTO IN XAUTO
      AND MKPF~XBLNR IN XBLNR

Regards,

Ballack.

Reward Points if helpful.

Read only

0 Likes
1,422

Hi,

Start-Of-Selection.

  • MSEG TABLE

select mblnr lgort ablad wempf menge from mseg into corresponding

fields of table t_mseg where

werks = '5900' and

bwart = '101' and

bwart = '102' and

wempf = wa_mseg-wempf.

LOOP AT t_mseg INTO wa_mseg.

*MKPF TABLE

select budat mblnr xblnr from mkpf into corresponding

fields of table t_mkpf where

budat ge pa_sdate and

budat le pa_edate .

endloop.

****************************************************************

Are my select st. correct?

Read only

0 Likes
1,422

any ideas please.

Read only

0 Likes
1,422

Hi,

Try like this.

select mblnr lgort ablad wempf menge from mseg into corresponding

fields of table t_mseg where

werks = '5900' and

bwart = '101' and

bwart = '102' .

*MKPF TABLE

select budat mblnr xblnr from mkpf into corresponding

fields of table t_mkpf

for all entries in t_mseg

where mblnr = t_mseg-mblnr and

budat ge pa_sdate and

budat le pa_edate .