This code is not working...anybody can tell where is the problem. or some one can rectify this code. Ponts will be rewarded.
Thanks,
REPORT zmm_purchase_report.
TABLES: marc,
mkpf,
mseg,
ekko,
ekpo,
ekbe,
rseg.
TYPE-POOLS: slis.
&----
DATA: BEGIN OF itab OCCURS 0,
matnr LIKE marc-matnr,
budat LIKE mkpf-budat,
werks LIKE mseg-werks,
lifnr LIKE ekko-lifnr,
ebeln LIKE ekpo-ebeln,
menge LIKE ekpo-menge,
smbln LIKE mseg-smbln,
bstmg LIKE mseg-bstmg,
dmbtr LIKE mseg-dmbtr,
belnr LIKE ekbe-belnr,
bprbm LIKE rseg-bprbm,
refwr LIKE ekbe-refwr,
END OF itab.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
DATA v_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.
PERFORM build_fieldcatlog.
PERFORM display_alv_report.
&----
*SELECT SINGLE matnr FROM marc INTO itab
*WHERE matnr IN s_matnr.
*
*SELECT SINGLE budat FROM mkpf INTO itab
*WHERE budat IN s_budat.
*
*SELECT werks smbln bstmg dmbtr FROM mseg INTO itab
*WHERE mblnr = mkpf-mblnr AND
mjahr = mkpf-mjahr.
*
*
SELECT SINGLE lifnr FROM ekko INTO itab
WHERE ebeln = ekko-ebeln.
*
*
SELECT ebeln menge FROM ekpo INTO itab
WHERE ebeln = ekko-ebeln.
*
SELECT belnr refwr FROM ekbe INTO itab
WHERE ebeln = ekko-ebeln.
*
SELECT SINGLE bprbm FROM rseg INTO itab
**
WHERE belnr = ekko-belnr,
gjahr = ekko-gjhar,
buzei = ekko-buzei.
*
APPEND itab.
*
*
*
ENDSELECT.
ENDSELECT.
*ENDSELECT.
*
*APPEND itab.
&----
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.
&----
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 .
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'menge'.
wa_fieldcat-seltext_m = 'menge.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'werks'.
wa_fieldcat-seltext_m = 'werks.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'smbln'.
wa_fieldcat-seltext_m = 'smbln.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'bstmg'.
wa_fieldcat-seltext_m = 'bstmg.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'matnr'.
wa_fieldcat-seltext_m = 'matnr.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'ebeln'.
wa_fieldcat-seltext_m = 'ebeln.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-seltext_m = 'LIFNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'belnr'.
wa_fieldcat-seltext_m = 'belnr.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'refwr'.
wa_fieldcat-seltext_m = 'refwr.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'itab'.
wa_fieldcat-fieldname = 'budat'.
wa_fieldcat-seltext_m = 'budat'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " build_fieldcatlog
&----
*& Form display_alv_report
&----
text
----
FORM display_alv_report.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = 'ZMM_PURCHASE_REPORT'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = itab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "display_alv_report