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: 

SELECT FOR INNER JOINT ( MEMORY )

Former Member
0 Kudos

hi frds

i am writing the code for inner joint in se38 . That select qurrie is not completed also but from server its using more memory . why like that?

SELECT

A~MBLNR

A~BUDAT

A~XBLNR

B~BWART

B~MATNR

B~WERKS

B~LIFNR

B~MENGE

B~SGTXT

B~UMWRK

INTO CORRESPONDING FIELDS OF TABLE IT_SEL

FROM MKPF AS A INNER JOIN MSEG AS B

ON AMBLNR = BMBLNR

  • AND AMJAHR = BMJAHR

WHERE A~MBLNR IN S_MBLNR

AND A~BUDAT IN S_BUDAT

AND B~WERKS IN S_WERKS.

i dint save or syntac-chek or exicute just i wrote code on SE38 thats it but at that time my system process ( crt + alt + del ) task manager ---preocesser

its occuring more memory for that nearly 90% usage of memory .... why why why like so ......( just writing the code why its coming like that)

this above statement was not showing like that if I do any changes in this ( if suppose its wrong select qurrie its taking more memory )

if its wrong or any thing why its occuping more memory ( while writing the code in SE38 at that time only any back-ground will go or eny thing else)

plse give detail responce

i am using 6.0 ver.........

2 REPLIES 2

Former Member
0 Kudos

Hi Madhu,

Dont use Into Corresponding field, Define the internal table with required fields and move into that table.

Use MJAHR & ZEILE fields also in your where clause.

Regards,

Satish

Former Member
0 Kudos

Try using the following code and see if it helps.

TYPES: BEGIN OF ty_mkpf,
         mblnr TYPE mkpf-mblnr,
         mjahr TYPE mkpf-mjahr,
         budat TYPE mkpf-budat,
         xblnr TYPE mkpf-xblnr,
       END OF ty_mkpf,

       BEGIN OF ty_mseg,
         mblnr TYPE mseg-mblnr,
         mjahr TYPE mseg-mjahr,
         zeile TYPE mseg-zeile,
         bwart TYPE mseg-bwart,
         matnr TYPE mseg-matnr,
         werks TYPE mseg-werks,
         lifnr TYPE mseg-lifnr,
         menge TYPE mseg-menge,
         sgtxt TYPE mseg-sgtxt,
         umwrk TYPE mseg-umwrk,
       END OF ty_mseg,

       BEGIN OF ty_sel,
         mblnr TYPE mkpf-mblnr,
         budat TYPE mkpf-budat,
         xblnr TYPE mkpf-xblnr,
         bwart TYPE mseg-bwart,
         matnr TYPE mseg-matnr,
         werks TYPE mseg-werks,
         lifnr TYPE mseg-lifnr,
         menge TYPE mseg-menge,
         sgtxt TYPE mseg-sgtxt,
         umwrk TYPE mseg-umwrk,
       END OF ty_sel.

DATA: w_mkpf TYPE                 ty_mkpf,
      w_mseg TYPE                 ty_mseg,
      w_sel  TYPE                 ty_sel ,
      it_mkpf type hashed table of ty_mkpf
        with unique key mblnr mjahr,
      it_mseg type        table of ty_mseg,
      it_sel type         table of ty_sel .


SELECT mblnr
 mjahr
 budat
 xblnr
FROM mkpf
INTO TABLE it_mkpf
WHERE mblnr IN s_mblnr
AND   budat IN s_budat.

IF sy-subrc EQ 0.

  SELECT mblnr
         mjahr
         zeile
         bwart
         matnr
         werks
         lifnr
         menge
         sgtxt
         umwrk
    FROM mseg
    INTO TABLE it_mseg
    FOR ALL ENTRIES IN it_mkpf
    WHERE mblnr EQ it_mkpf-mblnr
    AND   mjahr EQ it_mkpf-mjahr
    AND   werks IN s_werks.

  IF sy-subrc EQ 0.

    SORT it_mseg BY mblnr mjahr zeile.

  ENDIF.

ENDIF.


REFRESH it_sel.

LOOP AT it_mseg INTO w_mseg.

  AT NEW mjahr.
    READ TABLE it_mkpf INTO w_mkpf WITH KEY mblnr = w_mseg-mblnr
                                           mjahr = w_mseg-mjahr
                                           TRANSPORTING
                                             budat
                                             xblnr.
  ENDAT.

  w_sel-mblnr = w_mseg-mblnr.
  w_sel-budat = w_mkpf-budat.
  w_sel-xblnr = w_mkpf-xblnr.
  w_sel-bwart = w_mseg-bwart.
  w_sel-matnr = w_mseg-matnr.
  w_sel-werks = w_mseg-werks.
  w_sel-lifnr = w_mseg-lifnr.
  w_sel-menge = w_mseg-menge.
  w_sel-sgtxt = w_mseg-sgtxt.
  w_sel-umwrk = w_mseg-umwrk.
  APPEND w_sel TO it_sel.
  CLEAR  w_sel.

ENDLOOP.