Skip to Content
0
Former Member
Sep 13, 2007 at 05:04 AM

Reporting-

53 Views

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