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

coding correction

Former Member
0 Likes
543

hi to all,,..

pls correct this coding ...i am not getting the perfect output after the selection...repeated document number like that......

thanks in advance...

mpr

tables: MSEG, MBEW,MKPF.

data: begin of itabp occurs 0,
      matnr type MSEG-matnr,  "material number
      kunnr type mseg-kunnr,  "customer
      werks type mseg-werks,  "plant
      menge type mseg-menge,  "quantity
      bwart type mseg-bwart,  "movement type
      lgort type mseg-lgort,  "storage location
      lgpla type mseg-lgpla,  "storage bin
      lgnum type mseg-lgnum,  "warehouse num
      mblnr type mkpf-mblnr,  "document number
      budat type mkpf-budat,  "document date
      lbkum type mbew-lbkum,  "total valuated stock
      salk3 type mbew-salk3,  "value of total valueated stock
      mjahr type mkpf-mjahr,  "doc number
      end of itabp.

selection-screen begin of block blk1 with frame title text-001.

SELECTION-SCREEN  begin of block 2 with frame.

SCREEN-INTENSIFIED = '1'.

select-options: s_budat for mkpf-budat no-extension, "document date.
s_kunnr for mseg-kunnr no-extension MODIF ID SC1 ,
               "CUSTOMER DEFAULT '5525' .
s_matnr for mseg-matnr no-extension.                 "Material no


selection-screen end of block 2.

selection-screen begin of block 3 with frame.

select-options:

s_werks for mseg-werks no-extension no intervals,    "plant.
s_menge for mseg-menge no-extension no intervals MODIF ID SC1,"quantity.
s_bwart for mseg-bwart no-extension no intervals,    "Movement type.
s_lgort for mseg-lgort no-extension no intervals,    "storage location.
s_mblnr for mkpf-mblnr no-extension no intervals,    "document number
s_salk3 for mbew-salk3 no-extension no intervals,    "value of stock
s_mjahr for mkpf-mjahr no-extension no intervals no-display.
selection-screen end of block 3.

selection-screen end of block blk1.

format intensified.

write: sy-vline, 'Matl' color 3, sy-vline, 11 'customer' color 7,
sy-vline , 20 'Plant' color 5,sy-vline, 32 'quantity'
color 1, sy-vline, 46 'mov type' color 6, sy-vline, 56
'stor lo' color 3, sy-vline, 66 'st bin' color 5,sy-vline,
76 'war num' color 7, sy-vline, 83 'doc num' color 1,
sy-vline , 97 'doc date' color 6, sy-vline, 108
'to val st' color 3, sy-vline, 122 'val st' color 5 ,
sy-vline, 133 'V Status' color 4, 142 sy-vline.

format intensified off.

uline (142).

data: lv_salk3 like mbew-salk3.

select   mseg~matnr mseg~kunnr mseg~werks mseg~menge mseg~bwart
         mseg~lgort mseg~lgpla mseg~lgnum mkpf~mblnr mkpf~budat
         mbew~lbkum mbew~salk3 mkpf~mjahr into corresponding
         fields of table itabp from mseg
                     inner join mkpf
                       on mseg~mjahr = mkpf~mjahr
                     inner join mbew
                       on mseg~matnr = mbew~matnr
                                 where mkpf~budat in s_budat
                                   and mseg~kunnr in s_kunnr
                                   and mseg~matnr in s_matnr
                                   and mseg~werks in s_werks
                                   and mseg~menge in s_menge
                                   and mseg~bwart in s_bwart
                                   and mseg~lgort in s_lgort
                                   and mkpf~mblnr in s_mblnr
                                   and mbew~salk3 in s_salk3
                                   and mkpf~mjahr in s_mjahr.

loop at itabp.
  format color 2.
  if sy-subrc = 0.
    uline (142).

   lv_salk3 = lv_salk3 + itabp-salk3.

    write: / sy-vline, 02 itabp-matnr, 12 itabp-kunnr ,
            21 itabp-werks, 37 itabp-mblnr, 47 itabp-lbkum,
            62 itabp-salk3, 71 itabp-menge, 85 itabp-bwart,
            98 itabp-lgort, 105 itabp-lgpla,112 itabp-lgnum,
            125 itabp-budat, 142 sy-vline.

  endif.

  format color off.

endloop.

uline (142).

write: /11 'NETTO PREIS SUMME' color 6 .

write: 28 lv_salk3 color 6 .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
437

Hi,

try with this

select

msegmatnr msegkunnr msegwerks msegmenge msegbwart mseglgort mseglgpla mseglgnum mkpfmblnr mkpfbudat mbewlbkum mbewsalk3 mkpf~mjahr into corresponding fields of table itabp from mkpf

inner join mseg

on mkpfmandt = msegmandt and

mkpfmblnr = msegmblnr and

mkpfmjahr = msegmjahr

inner join mbew on

msegmandt = mbewmandt

msegmatnr = mbewmatnr where mkpfbudat in s_budat and msegkunnr in s_kunnr and msegmatnr in s_matnr and msegwerks in s_werks and msegmenge in s_menge and msegbwart in s_bwart and mseglgort in s_lgort and mkpfmblnr in s_mblnr and mbewsalk3 in s_salk3 and mkpfmjahr in s_mjahr.

2 REPLIES 2
Read only

Former Member
0 Likes
438

Hi,

try with this

select

msegmatnr msegkunnr msegwerks msegmenge msegbwart mseglgort mseglgpla mseglgnum mkpfmblnr mkpfbudat mbewlbkum mbewsalk3 mkpf~mjahr into corresponding fields of table itabp from mkpf

inner join mseg

on mkpfmandt = msegmandt and

mkpfmblnr = msegmblnr and

mkpfmjahr = msegmjahr

inner join mbew on

msegmandt = mbewmandt

msegmatnr = mbewmatnr where mkpfbudat in s_budat and msegkunnr in s_kunnr and msegmatnr in s_matnr and msegwerks in s_werks and msegmenge in s_menge and msegbwart in s_bwart and mseglgort in s_lgort and mkpfmblnr in s_mblnr and mbewsalk3 in s_salk3 and mkpfmjahr in s_mjahr.

Read only

andreas_mann3
Active Contributor
0 Likes
437

HI,

some tips:

1) header -> top-of-page:

format intensified.write: sy-vline, 'Matl' color 3, sy-vline, 11 'customer' color 7,....

2) select into table :

a) select mseg~matnr ...

into table itabp

or b)

...

appending corresponding fields of table itabp "bad performance !

3) you need not ask sy-subrc = 0 in loop after loop statement it's always 0

regards Andreas