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.