Skip to Content
0
Former Member
Sep 14, 2007 at 11:13 AM

ALV Report!

20 Views

Daer All,

Please go through the code and do let me know where is the problem.

As when I am debugging it not showing any value in ITAB.

Please check and if possible rectify the error.

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 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.

&----


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.