Skip to Content
0
Former Member
Sep 09, 2007 at 05:54 AM

Re: URGENT: REGARDING ALV REPORT

17 Views

hi,

i had made dis report in ALV and i want to display d heading format as follows:-

NAME:- TEST PROGRAM

date: - 21.05.2007

time:- 1:30:23 am

moreover i want to see the print perview of it but it is giving runtime error.

plz help me in solving dis problem and he or she will be definately rewarded..

&----


*& Report ZMFTEST5

*&

&----


*&

*&

&----


REPORT ZMFTEST5 no standard page heading LINE-SIZE 310.

TABLES : VBAK,ABAP,VBEP,VBKD,MARA,KNA1,MAKT.

*Varriable declaration.

TYPE-POOLS SLIS.

DATA : POS TYPE I.

DATA REPID LIKE SY-REPID.

DATA : F1 TYPE SLIS_T_FIELDCAT_ALV,

F2 TYPE SLIS_FIELDCAT_ALV,

L_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA L_POS TYPE I VALUE 1. "position of the column

DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: GT_EVENTS TYPE SLIS_T_EVENT,

FS_EVENTCAT LIKE LINE OF GT_EVENTs.

DATA : T_HEADING TYPE slis_t_listheader.

  • INTERNAL TABLE FOR SALES ORDER *****************

DATA : BEGIN OF ITSO OCCURS 0,

VBELN LIKE VBAK-VBELN,

ERDAT LIKE VBAK-ERDAT,

BSTNK LIKE VBAK-BSTNK,

KUNNR LIKE VBAK-KUNNR,

MATNR LIKE VBAP-MATNR,

POSNR LIKE VBAP-POSNR,

WMENG LIKE VBEP-WMENG,

NTGEW LIKE MARA-NTGEW,

BRGEW LIKE MARA-BRGEW,

GEWEI LIKE MARA-GEWEI,

SPART LIKE VBAK-SPART,

BMENG LIKE VBEP-BMENG,

EDATU LIKE VBEP-EDATU,

BSTKD LIKE VBKD-BSTKD,

WERKS LIKE VBAP-WERKS,

MEINS LIKE MARA-MEINS,

KWMENG LIKE VBAP-KWMENG,

KLMENG LIKE VBAP-KLMENG,

BALQTY LIKE VBAP-KLMENG,

SOGWT LIKE MARA-BRGEW,

SONWT LIKE MARA-BRGEW,

SINWT LIKE MARA-BRGEW,

BALGWT LIKE MARA-BRGEW,

BALNWT LIKE MARA-BRGEW,

DISPNWT LIKE MARA-BRGEW,

PARTYNAME LIKE KNA1-NAME1,

ITEMDESC LIKE MAKT-MAKTX,

STATUS TYPE C,

END OF ITSO.

DATA:B_QTY TYPE P LENGTH 7 DECIMALS 3.

***********PARAMETERS***************

PARAMETERS : PLANT LIKE VBAP-WERKS OBLIGATORY.

*********SELECTION SCREEN OPTIONS*********

SELECT-OPTIONS : SO_ORD FOR VBAK-VBELN,

SO_PARTY FOR VBAK-KUNNR,

IT_M FOR MARA-MATNR,

DIV FOR VBAK-SPART,

SO_DATE FOR VBAK-ERDAT,

S_DATE FOR VBEP-EDATU.

START-OF-SELECTION.

SELECT DISTINCT A~VBELN A~ERDAT A~BSTNK A~KUNNR B~SPART B~MATNR B~POSNR B~WERKS B~KWMENG B~KBMENG C~NTGEW C~BRGEW C~GEWEI D~WMENG D~BMENG D~EDATU D~VBELN

FROM VBAK AS A INNER JOIN VBAP AS B ON B~VBELN = A~VBELN

INNER JOIN MARA AS C ON C~MATNR = B~MATNR

INNER JOIN VBEP AS D ON D~WMENG > 0 AND D~VBELN = A~VBELN AND D~POSNR = B~POSNR

INTO CORRESPONDING FIELDS OF TABLE ITSO

WHERE A~VBELN IN SO_ORD AND A~KUNNR IN SO_PARTY AND B~SPART IN DIV AND A~ERDAT IN SO_DATE AND D~EDATU IN S_DATE AND B~MATNR IN IT_M AND B~WERKS = PLANT.

IF SY-SUBRC <> 0.

MESSAGE E899(M3) WITH 'No records'.

ENDIF.

DATA : V_NETWT LIKE MARA-NTGEW,

V_GRWT LIKE MARA-NTGEW,

V_SOSTAT TYPE C.

LOOP AT ITSO.

if ITSO-bmeng = 0.

V_SOSTAT = 'A'.

ELSEIF ITSO-WMENG <> ITSO-BMENG.

V_SOSTAT = 'B'.

ELSE.

V_SOSTAT = 'C'.

ENDIF.

IF ITSO-GEWEI = 'G'.

V_NETWT = ITSO-NTGEW / 1000.

V_GRWT = ITSO-BRGEW / 1000.

ELSEIF ITSO-GEWEI = 'KG'.

V_NETWT = ITSO-NTGEW.

V_GRWT = ITSO-BRGEW.

ELSEIF ITSO-GEWEI = 'TO'.

V_NETWT = ITSO-NTGEW * 1000.

V_GRWT = ITSO-BRGEW * 1000.

ENDIF.

ITSO-STATUS = V_SOSTAT.

ITSO-SOGWT = V_GRWT * ITSO-WMENG / 1000.

ITSO-SONWT = V_NETWT * ITSO-WMENG / 1000.

ITSO-SINWT = V_GRWT * ITSO-BMENG / 1000.

ITSO-BALGWT = V_GRWT * ( ITSO-WMENG - ITSO-BMENG ) / 1000.

ITSO-BALNWT = V_NETWT * ( ITSO-WMENG - ITSO-BMENG ) / 1000.

ITSO-DISPNWT = V_NETWT * ITSO-BMENG / 1000.

ITSO-BALQTY = ITSO-WMENG - ITSO-BMENG.

SELECT SINGLE NAME1 FROM KNA1 INTO ITSO-PARTYNAME WHERE KUNNR = ITSO-KUNNR.

SELECT SINGLE MAKTX FROM MAKT INTO ITSO-ITEMDESC WHERE MATNR = ITSO-MATNR.

MODIFY ITSO.

ENDLOOP.

perform f_build_eventcat.

PERFORM LAYOUT using t_heading.

END-OF-SELECTION.

FORM LAYOUT using t_heading type slis_t_listheader.

data : t_event type slis_t_event.

PERFORM FCAT USING 'WERKS' 'ITSO' '' 'PLANT ' 'WERKS' 'VBAP' ''.

PERFORM FCAT USING 'VBELN' 'ITSO' '' 'SO NO. ' 'VBELN' 'VBAK' ''.

PERFORM FCAT USING 'ERDAT' 'ITSO' '' 'S.O.DATE' 'ERDAT' 'VBAK' ''.

PERFORM FCAT USING 'BSTNK' 'ITSO' '' 'P.O.N.O.' 'BSTNK' 'VBAK' ''.

PERFORM FCAT USING 'KUNNR' 'ITSO' '' 'PARTY ' 'KUNNR' 'VBAP' ''.

PERFORM FCAT USING 'PARTYNAME' 'ITSO' '' 'PARTY DESCRIPTION' 'PARTYNAME' '' ''.

PERFORM FCAT USING 'ITEMDESC' 'ITSO' '' 'MATERIAL DESCRIPTION' 'ITEMDESC' '' ''.

PERFORM FCAT USING 'MATNR' 'ITSO' '' 'MAT.NO. ' 'MATNR' 'MARA' ''.

PERFORM FCAT USING 'POSNR' 'ITSO' '' 'LINE.ITEM' 'POSNR' 'VBAP' ''.

PERFORM FCAT USING 'WMENG' 'ITSO' '' 'S.O.QTY' 'WMENG' 'VBEP' '' .

PERFORM FCAT USING 'EDATU' 'ITSO' '' 'SCH.DATE' 'EDATU' 'VBEP' ''.

PERFORM FCAT USING 'SONWT' 'ITSO' '' 'S.O.NWT ' 'P' '' ''.

PERFORM FCAT USING 'SOGWT' 'ITSO' '' 'S.O.GWT ' 'P' '' ''.

PERFORM FCAT USING 'SPART' 'ITSO' '' 'DIV ' 'SPART' 'VBAP' ''.

PERFORM FCAT USING 'BMENG' 'ITSO' '' 'DISP.QTY' 'BMENG' 'VBEP' ''.

PERFORM FCAT USING 'DISPNWT' 'ITSO' '' 'DISP.NT.WT ' 'P' '' ''.

PERFORM FCAT USING 'BALQTY' 'ITSO' '' 'BAL.QTY.' 'P' '' ''.

PERFORM FCAT USING 'BALNWT' 'ITSO' '' 'BAL.NT.WT ' 'P' '' ''.

PERFORM FCAT USING 'BALGWT' 'ITSO' '' 'BAL.GR.WT ' 'P' '' ''.

PERFORM FCAT USING 'STATUS' 'ITSO' '' 'STATUS' 'STATUS' '' ''.

refresh t_event.

*perform set_top_page_heading using t_heading t_event.

REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK

  • 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 = F1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = GT_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

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IT_EXCEPT_QINFO =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITSO

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

ENDFORM. " LAYOUT

&----


*& Form FCAT

&----


FORM FCAT USING P_FIELD P_TABLE P_SUM P_TEXT P_RFIELD P_RTABLE P_DISP.

ADD 1 TO POS.

F2-COL_POS = POS.

F2-FIELDNAME = P_FIELD.

F2-TABNAME = P_TABLE.

F2-SELTEXT_L = P_TEXT.

F2-REF_FIELDNAME = P_RFIELD.

F2-REF_TABNAME = P_RTABLE.

F2-DO_SUM = P_SUM.

F2-NO_OUT = P_DISP.

APPEND F2 TO F1.

CLEAR F2.

ENDFORM. " FCAT

FORM F_BUILD_EVENTCAT .

CLEAR: GT_EVENTS. REFRESH: GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'TOP_OF_PAGE'.

FS_EVENTCAT-FORM = 'F_REPORT_HEADER_ALV'.

APPEND FS_EVENTCAT TO GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'END_OF_LIST'.

FS_EVENTCAT-FORM = 'F_WRITE_SUMMARY'.

APPEND FS_EVENTCAT TO GT_EVENTS.

ENDFORM.

*FORM F_REPORT_HEADER_ALV.

*CALL FUNCTION 'Z_HEAD_PRINT'

  • EXPORTING

  • WRITE: / TITLE1 = 'XYZ Limited'

  • TITLE2 = 'Sales Order Report'

  • TITLE3 = 'Created on '

  • COLOR = 'X'.

*ENDFORM.

FORM F_WRITE_SUMMARY .

write:/ 'Welcome to XYZ Limited'.

write:/ 'This is a test program to display Report in ALV Format'.

ENDFORM.

&----


*& Form set_top_page_heading

&----


  • text

----


  • -->P_T_HEADING text

----


*form set_top_page_heading using t_heading

  • t_events type slis_t_event.

*data: x_heading type slis_listheader,

  • x_event type line of slis_t_event.

  • Report title

  • clear t_heading[].

  • clear x_heading.

  • x_heading-typ = 'H'.

  • x_heading-info = ''(001).

  • append x_heading to t_heading.

  • t_heading-info = 'TEST'.

  • t_heading-typ = 'H'.

  • *

    • Program name

  • clear x_heading.

  • x_heading-typ = 'S'.

  • x_heading-key = 'Program: '.

  • x_heading-info = sy-repid.

  • append x_heading to t_heading.

  • *

    • User who is running the report

  • clear x_heading.

  • x_heading-typ = 'S'.

  • x_heading-key = 'User: '.

  • x_heading-info = sy-uname.

  • append x_heading to t_heading.

  • *

    • Date of execution

  • clear x_heading.

  • x_heading-typ = 'S'.

  • x_heading-key = 'Date: '.

  • write sy-datum to x_heading-info.

  • append x_heading to t_heading.

  • *

    • Time of execution

  • clear x_heading.

  • x_heading-typ = 'S'.

  • x_heading-key = 'Time: '.

  • write sy-uzeit to x_heading-info.

  • append x_heading to t_heading.

  • *

    • Top of page event

  • x_event-name = slis_ev_top_of_page.

  • x_event-form = 'TOP_OF_PAGE'.

  • append x_event to t_events.

  • *endform. " set_top_page_heading