Skip to Content
0
Former Member
Sep 17, 2007 at 12:13 PM

Check the Code!

36 Views

Dear All,

I have wriiten one program in ALV. But it not showing the required output.

can somebody go through the my prob and can come up with the desired results.

Whne u all will go through the program will got to know what exactly I want to display.

As per as I am thinking there is some prob in SELECT stament.

So please check and do help me.

I am giving my code below:-

tables: marc,

mkpf,

mseg,

ekko,

ekpo,

ekbe,

rseg.

type-pools: slis.

&----


data: begin of itab occurs 0,

matnr like marc-matnr,

budat like ekbe-budat,

maktx like makt-maktx,

bedat like ekko-bedat,

ebeln like mseg-ebeln,

menge like mseg-menge,

bprme like mseg-bprme,

netwr like ekpo-netwr,

bstmg like mseg-bstmg,

dmbtr like mseg-dmbtr,

bprbm like rseg-bprbm,

refwr like ekbe-refwr,

end of itab.

data: i_fieldcat type slis_t_fieldcat_alv with header line,

wa_fieldcat type slis_fieldcat_alv.

data v_repid type sy-repid.

&----


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

select-options: s_matnr for marc-matnr,

s_budat for mkpf-budat.

selection-screen end of block b1.

&----


&----


initialization.

v_repid = sy-repid.

start-of-selection.

  • SELECT werks smbln bstmg dmbtr matnr ebeln FROM mseg INTO

  • CORRESPONDING FIELDS OF TABLE itab

  • WHERE matnr IN s_matnr.

**ENDSELECT.

*

*

  • SELECT SINGLE lifnr FROM ekko INTO CORRESPONDING FIELDS OF itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT ebeln menge FROM ekpo INTO CORRESPONDING FIELDS OF itab

  • WHERE ebeln = mseg-ebeln.

  • ENDSELECT.

*

  • SELECT ebeln belnr refwr budat FROM ekbe INTO CORRESPONDING FIELDS OF

  • itab

  • WHERE budat IN s_budat AND

  • ebeln = mseg-ebeln.

  • ENDSELECT.

*

  • SELECT SINGLE matnr FROM marc INTO itab

  • WHERE matnr = mseg-matnr.

**APPEND itab.

**END-OF-SELECTION.

*----


  • SELECT matnr ebeln menge bprme bstmg dmbtr FROM mseg INTO

  • CORRESPONDING FIELDS OF TABLE itab

  • WHERE matnr IN s_matnr.

*

*

  • SELECT matnr maktx FROM makt INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE matnr = mseg-matnr.

*

  • SELECT ebeln bedat FROM ekko INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT ebeln netwr FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT ebeln bprbm FROM rseg INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT budat ebeln refwr FROM ekbe INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE budat IN s_budat AND

  • ebeln = mseg-ebeln.

*----


-


select matnr ebeln menge bprme bstmg dmbtr from mseg into corresponding fields of table itab where matnr in s_matnr.

select matnr maktx from makt into corresponding fields of table itab for all entries in itab where matnr = itab-matnr.

select ebeln bedat from ekko into corresponding fields of table itab for all entries in itab where ebeln = itab-ebeln.

select ebeln netwr from ekpo into corresponding fields of table itab for all entries in itab where ebeln = itab-ebeln.

select ebeln bprbm from rseg into corresponding fields of table itab for all entries in itab where ebeln = itab-ebeln.

select budat ebeln refwr from ekbe into corresponding fields of

table itab for all entries in itab

where budat in s_budat and

ebeln = itab-ebeln.

append itab.

&----


perform build_fieldcatlog.

perform display_alv_report.

&----


  • LOOP AT itab.

*

*WRITE:/ itab-menge, itab-werks, itab-smbln, itab-bstmg, itab-matnr,

*itab-ebeln, itab-lifnr, itab-menge, itab-belnr, itab-refwr, itab-budat.

*

  • ENDLOOP.

&----


*& Form build_fieldcatlog

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form build_fieldcatlog . "Form BUILD_FIELDCATLOG, Start

wa_fieldcat-fieldname = 'maktx'.

wa_fieldcat-seltext_m = 'maktx.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'bedat'.

wa_fieldcat-seltext_m = 'bedat.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'EBELN'.

wa_fieldcat-seltext_m = 'ebeln.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'MENGE'.

wa_fieldcat-seltext_m = 'menge.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'bprme'.

wa_fieldcat-seltext_m = 'bprme.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'netwr'.

wa_fieldcat-seltext_m = 'netwr.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'BSTMG'.

wa_fieldcat-seltext_m = 'bstmg.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'dmbtr'.

wa_fieldcat-seltext_m = 'dmbtr.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'bprbm'.

wa_fieldcat-seltext_m = 'bprbm'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-fieldname = 'REFWR'.

wa_fieldcat-seltext_m = 'refwr.'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

endform. "build_fieldcatlog

" build_fieldcatlog "Form BUILD_FIELDCATLOG, End

&----


*& Form display_alv_report

&----


  • text

----


form display_alv_report. "Form DISPLAY_ALV_REPORT, Start

v_repid = sy-repid.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = v_repid

it_fieldcat = i_fieldcat[]

i_callback_top_of_page = 'TOP-OF-PAGE'

i_save = 'A'

tables

t_outtab = itab.

endform. "display_alv_report

----


top-of-page.

write:/ 'Purchase request Print program'.

end-of-page.

Thanks & Regards,

Abhay.