Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

URGENT: - REGARDING ALV REPORT

Former Member
0 Kudos

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

2 REPLIES 2

Former Member
0 Kudos

Hi,

i had change ur code just copy this and try,i hope it will work.

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.

****************CHANGES**************

DATA : FDATE TYPE STRING,

FTIME TYPE STRING,

FNAME TYPE STRING.

****************CHANGES**************

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 = 'TOP'

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

DATA: WT_HEADER TYPE SLIS_T_LISTHEADER,

WA_HEADER TYPE SLIS_LISTHEADER.

CONCATENATE 'DATE:-' SY-DATUM INTO FDATE.

CONCATENATE 'TIME:-' SY-UZEIT INTO FTIME.

FNAME = 'NAME:- TEST'.

WA_HEADER-TYP = HEADER.

WA_HEADER-INFO = FNAME.

APPEND WA_HEADER TO WT_HEADER.

CLEAR WA_HEADER.

WA_HEADER-TYP = HEADER.

WA_HEADER-INFO = FDATE.

APPEND WA_HEADER TO WT_HEADER.

CLEAR WA_HEADER.

WA_HEADER-TYP = HEADER.

WA_HEADER-INFO = FTIME.

APPEND WA_HEADER TO WT_HEADER.

CLEAR WA_HEADER.

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

*please do reward points if helpful

Thanks and Regards,

S.N.Venkatesh

Former Member
0 Kudos

hi

try this

&----


*& Report ZSDN1

*&

&----


*&

*&

&----


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

  • layout declaration

data : gd_layout type slis_layout_alv.

  • assigning current program name.

data : gd_repid like sy-repid.

gd_repid = sy-repid.

  • fieldcatalog declaration.

data : d_fieldcat type slis_t_fieldcat_alv,

d_fieldcat_wa type slis_fieldcat_alv.

  • header declaration.

data : t_heading type slis_t_listheader,

wa_header type slis_listheader,

linecount(10) type c,

line(10) type c.

                      • 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 = '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 = 'TEST PROGRAM'

  • I_GRID_SETTINGS =

IS_LAYOUT = gd_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_WRITE_SUMMARY .

*

*write:/ 'Welcome to XYZ Limited'.

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

*

*ENDFORM.

form top_of_page.

wa_header-typ = 'H'.

wa_header-info = 'ALV REPORT'.

append wa_header to t_heading.

clear wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Date :'.

Concatenate sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) into wa_header-info.

append wa_header to t_heading.

clear wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Time :'.

Concatenate sy-Uzeit(2) '.'

sy-datum+2(2) '.'

sy-datum+4(2) into wa_header-info.

append wa_header to t_heading.

clear wa_header.

describe table itso lines line.

wa_header-typ = 'A'.

linecount = line.

Concatenate 'Total number of records :' linecount into wa_header-info separated by space.

append wa_header to t_heading.

clear wa_header.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = t_heading

I_LOGO ='VMCADMIN'

  • I_END_OF_LIST_GRID =

  • I_ALV_FORM =

.

endform.

*designing layout.

form gd_layout.

gd_layout-zebra = 'X'.

gd_layout-edit = 'X'.

gd_layout-no_hotspot = ''.

gd_layout-no_colhead = ''.

gd_layout-colwidth_optimize = 'X'.

endform.

REWARD IF USEFUL...!!