How to trigger top-of-page in ALV Grid
How to trigger Top-Of-Page in ALV Grid...
can any one plese send the sample code...
thanks.
here is sample code. try this. u need to build an internal table and then call function commentary write and pass that internal table.
*& Form TOP_OF_PAGE
Top_of_page
FORM top-of-page. "#EC CALLED
*ALV Header declarations
DATA: lit_header TYPE slis_t_listheader,
lwa_header TYPE slis_listheader.
Title
lwa_header-typ = 'H'.
lwa_header-info = text-013.
APPEND lwa_header TO lit_header.
CLEAR lwa_header.
BOM Number
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = p_matnr
IMPORTING
output = gv_matnr.
Pass BOM number
lwa_header-typ = 'S'.
lwa_header-key = text-014.
lwa_header-info = gv_matnr .
APPEND lwa_header TO lit_header.
CLEAR: lwa_header ,
gv_matnr .
BOM description
lwa_header-typ = 'S'.
lwa_header-key = text-015 .
lwa_header-info = gv_maktx .
APPEND lwa_header TO lit_header.
CLEAR: lwa_header.
start/end date format MM/DD/YY
lwa_header-typ = 'S'.
lwa_header-key = text-016 .
CONCATENATE s_erdat-low+4(2) '/'
s_erdat-low+6(2) '/'
s_erdat-low(4) ' - '
s_erdat-high+4(2) '/'
s_erdat-high+6(2) '/'
s_erdat-high(4)
INTO lwa_header-info.
APPEND lwa_header TO lit_header.
CLEAR: lwa_header.
Run Date of Report format MM/DD/YY
lwa_header-typ = 'S'.
lwa_header-key = text-017 .
CONCATENATE sy-datum+4(2) '/'
sy-datum+6(2) '/'
sy-datum(4) INTO lwa_header-info .
APPEND lwa_header TO lit_header.
CLEAR: lwa_header.
call function REUSE_ALV_COMMENTARY_WRITE to use TOP_OF_PAGE event.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = lit_header.
ENDFORM . " FORM top-of-page.
Similar Messages
-
How to declare top of page in alv grid disply
Hi
Can any ine let me know how to declare the top -of -page??
Arun JosephHi , check this one u will get easily .
*& Report ZMM_ANNEXURE4_ALV
REPORT ZMM_ANNEXURE4_ALV1.
TYPE-POOLS SLIS .
TABLES : J_1IEXCHDR,
J_1IEXCDTL,
J_1IGRXSUB, " FOR QTY
LFA1, " Vendor Master
ADRC, " Vendor Address
MSEG, " Batch - Identification Marks
MKPF. "
DATA : IT_J_1IEXCHDR LIKE J_1IEXCHDR OCCURS 0 WITH HEADER LINE.
DATA : IT_MSEG LIKE MSEG OCCURS 0 WITH HEADER LINE.
DATA : IT_J_1IEXCDTL LIKE J_1IEXCDTL OCCURS 0 WITH HEADER LINE.
DATA : IT_J_1IGRXSUB LIKE J_1IGRXSUB OCCURS 0 WITH HEADER LINE.
DATA : IT_MSGE LIKE MSEG OCCURS 0 WITH HEADER LINE.
DATA : IT_LFA1 LIKE LFA1 OCCURS 0 WITH HEADER LINE.
DATA : IT_ADRC LIKE ADRC OCCURS 0 WITH HEADER LINE.
DATA : IT_MKPF LIKE MKPF OCCURS 0 WITH HEADER LINE.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
it_listheader type slis_t_listheader,
it_events type slis_t_event,
it_fieldcat type slis_t_fieldcat_alv,
gd_tab_group type slis_t_sp_group_alv,
IS_layout type slis_layout_alv,
SELL_MODE TYPE SLIS_T_SP_GROUP_ALV,
gd_repid like sy-repid.
INCLUDE <symbol>.
INCLUDE <icon>.
*DATA : TEXT1(100) TYPE C.
*DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : V_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA : V_QTY LIKE EKPO-MENGE.
DATA : V_VAL LIKE MARA-NTGEW. " For calculation of Qty
DATA : V_VAL1 TYPE STRING. " For calculation of Qty
DATA : V_Q TYPE STRING. " Variable for calculating
" burning loss
DATA : V_WST TYPE STRING. " Variable 4 WasteM.
DATA : V_WST1 TYPE STRING. " Variable 4 WasteM.
DATA : V_SCPGN LIKE MSEG-MENGE.
DATA : V_WUNIT TYPE STRING.
DATA : V_QFPG1 TYPE STRING.
DATA : V_QFPG2 TYPE STRING.
DATA : V_AQTY TYPE STRING.
DATA : V_QTYR LIKE J_1IEXCDTL-MENGE.
DATA : V_QTYR1 TYPE STRING.
DATA : V_UNTQT TYPE STRING.
DATA : V_MEINS LIKE MSEG-MEINS.
DATA : V_MEINS1 LIKE MSEG-MEINS.
DATA : V_SCPGN1 TYPE STRING.
DATA : V_WSTMQ LIKE MSEG-MENGE.
DATA : V_WSTMQ1 TYPE STRING.
DATA : V_QFPGN LIKE MARA-NTGEW.
DATA : V_VALQ LIKE MARA-NTGEW.
DATA : V_UNITQ LIKE MARA-MEINS.
DATA : V_WGHT TYPE STRING.
DATA : V_WGHT1 TYPE STRING.
DATA : V_CHARG LIKE MSEG-CHARG.
DATA: TEXT TYPE STRING.
DATA: TEXT1 TYPE STRING.
DATA: TEXT2 TYPE STRING.
DATA :TEXT3 TYPE STRING.
DATA :TEXT4 TYPE STRING.
DATA:dat_frt(30).
SELECTION-SCREEN ************
SELECTION-SCREEN COMMENT /80(50) VER.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE tit2.
SELECT-OPTIONS: P_CHLN FOR IT_J_1IEXCDTL-EXNUM. "NO-EXTENSION
"NO INTERVALS OBLIGATORY.
SELECT-OPTIONS: P_DATE FOR IT_J_1IEXCHDR-BUDAT. "NO-EXTENSION
"NO INTERVALS OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK blk2.
SELECTION-SCREEN COMMENT /72(60) run.
DATA : BEGIN OF IT_FINAL OCCURS 1,
BUDAT type d, "1 Date of issue
MAKTX(40) TYPE C, "2Material Desc
CHAPID(22) TYPE C,
MENGE(18) TYPE C, "4 Qty removed weight
CHARG(25) TYPE C, "5 Identification Marks
ADRS(55) TYPE C," 6For Vendor Address
EXNUM LIKE J_1IEXCHDR-EXNUM, "7 Challan No. & Date
ADDLDATA1(40) TYPE C, "8 NatureProcessReq
DOCNO LIKE J_1IEXCHDR-DOCNO, "10 Document No.
CPUDT TYPE D, "9 Date of Receipt
V_QTY1(40) TYPE C, "10QtyofProcessedFinishedGoods
BURNING(12) TYPE C, "11 Burning Loss
WST_M(20) TYPE c, "12 Qty of waste material
ADDLDATA2(18) TYPE C,"13 Invoice No.&Date
V_PARTIC(25) TYPE C," 14Particulars of Payment
ADDLDATA2 LIKE J_1IEXCHDR-ADDLDATA2,"15 Invoice No.&Date
END OF IT_FINAL.
PERFORM INITIALZATION1.
PERFORM GET_DATA.
PERFORM CALL_FORM.
*& Form INITIALZATION
text
--> p1 text
<-- p2 text
form INITIALZATION1 .
CLEAR IT_FINAL.
CLEAR IT_J_1IEXCHDR.
CLEAR IT_MSEG.
CLEAR IT_J_1IEXCDTL.
CLEAR IT_J_1IGRXSUB.
CLEAR IT_ADRC.
CLEAR V_Q.
CLEAR V_SCPGN.
CLEAR V_WST.
CLEAR V_QFPG1.
CLEAR V_QFPG2.
CLEAR V_VAL.
CLEAR V_VAL1.
CLEAR V_AQTY.
CLEAR V_WUNIT.
CLEAR V_QTYR.
CLEAR V_UNTQT.
CLEAR V_SCPGN1.
CLEAR V_MEINS.
CLEAR V_WSTMQ.
CLEAR V_WSTMQ1.
CLEAR V_QFPGN.
CLEAR V_VALQ.
CLEAR V_UNITQ.
CLEAR V_WGHT.
CLEAR V_WGHT1.
CLEAR IT_FINAL[].
CLEAR IT_J_1IEXCHDR[].
CLEAR IT_MSEG[].
CLEAR IT_J_1IEXCDTL[].
CLEAR IT_J_1IGRXSUB[].
endform. " INITIALZATION
*****INITIALIZATION
INITIALIZATION.
tit2 = 'Selection Criteria'.
CONCATENATE sy-datum6(2) '.' sy-datum4(2) '.' sy-datum+0(4) INTO
dat_frt.
CONCATENATE 'User ID : ' sy-uname ' Client ID : ' sy-mandt
' Run Date : ' dat_frt
INTO run SEPARATED BY space.
ver = 'Developed by CMC Limited. '.
*& Form GET_DATA
text
--> p1 text
<-- p2 text
form GET_DATA .
IF P_DATE <> ''.
SELECT *
FROM J_1IEXCHDR
INTO TABLE IT_J_1IEXCHDR
WHERE BUDAT IN P_DATE AND
TRNTYP = '57FC' AND " Transaction type
SRGRP = 40. " Series Group
ENDIF.
IF P_CHLN <> ''.
SELECT *
FROM J_1IEXCHDR
INTO TABLE IT_J_1IEXCHDR
WHERE EXNUM IN P_CHLN AND
TRNTYP = '57FC' AND " Transaction type
SRGRP = 40. " Series Group
ENDIF.
select *
FROM J_1IEXCDTL
INTO TABLE IT_J_1IEXCDTL
WHERE EXDAT IN P_DATE " Document No.
AND TRNTYP = '57FC'.
" Transaction type for subcontracting
LOOP AT IT_J_1IEXCHDR.
MOVE-CORRESPONDING IT_J_1IEXCHDR TO IT_FINAL.
select MATNR MAKTX CHAPID MENGE MEINS ADDLDATA1 EXNUM
FROM J_1IEXCDTL
INTO (IT_J_1IEXCDTL-MATNR, IT_FINAL-MAKTX,
IT_FINAL-CHAPID,V_QTYR, V_UNTQT,
IT_J_1IEXCDTL-ADDLDATA1, IT_J_1IEXCDTL-EXNUM)
WHERE DOCNO = IT_J_1IEXCHDR-DOCNO " Document No.
AND TRNTYP = '57FC'
" Transaction type for subcontracting
AND RDOC2 = IT_J_1IEXCHDR-RDOC. " Material Doc No.
IT_FINAL-MAKTX = IT_J_1IEXCDTL-MAKTX. " Material Desc
IT_FINAL-CHAPID = IT_J_1IEXCDTL-CHAPID. " Tariff Clasifi
IT_FINAL-MENGE = IT_J_1IEXCDTL-MENGE.
IT_FINAL-MEINS = IT_J_1IEXCDTL-MEINS.
IT_FINAL-ADDLDATA1 = IT_J_1IEXCDTL-ADDLDATA1. " Nature of proc
V_QTYR1 = V_QTYR.
CONCATENATE V_QTYR1 V_UNTQT INTO IT_FINAL-MENGE SEPARATED BY ''.
IF V_UNTQT = 'EA'.
SELECT SINGLE NTGEW GEWEI " VALUE, UNIT
FROM MARA
INTO (V_VALQ, V_UNITQ)
WHERE MATNR = IT_J_1IEXCDTL-MATNR.
V_WGHT = V_VALQ * V_QTYR.
V_WGHT1 = V_WGHT.
CONCATENATE V_WGHT1 V_UNITQ INTO V_WGHT1 SEPARATED BY ''.
CONCATENATE IT_FINAL-MENGE V_WGHT1 INTO IT_FINAL-MENGE
SEPARATED BY ' / '.
ENDIF.
SELECT SINGLE CHARG " Batch No.
FROM MSEG
INTO V_CHARG
WHERE MBLNR = IT_J_1IEXCHDR-RDOC AND " Material Doc No.
MATNR = IT_J_1IEXCDTL-MATNR AND
SHKZG = 'H'. " H- CREDIT
IT_FINAL-CHARG = V_CHARG.
CLEAR V_CHARG.
SELECT SINGLE REC_QTY MBLNR " Qtywaste material,mat docno.
FROM J_1IGRXSUB
INTO (IT_J_1IGRXSUB-REC_QTY, IT_J_1IGRXSUB-MBLNR)
WHERE EXNUM = IT_J_1IEXCHDR-EXNUM." AND
EXC_ZEILE = IT_J_1IEXCHDR-ZEILE.
SELECT SINGLE MENGE " QTY OF WASTE MATERIAL
FROM MSEG
INTO V_SCPGN " VARIABLE STORING QTY OF WASTE MTRL.
WHERE MBLNR = IT_J_1IGRXSUB-MBLNR
AND BWART = 545.
V_WST = V_SCPGN.
SELECT SINGLE MENGE MEINS " QTY OF WASTE MATERIAL
FROM MSEG
INTO (V_WSTMQ, V_MEINS) "VARIABLE STORING QTYOFWASTEMTRL.
WHERE MBLNR = IT_J_1IGRXSUB-MBLNR
AND BWART = 101.
V_WSTMQ1 = V_WSTMQ.
CONCATENATE V_WSTMQ1 V_MEINS INTO V_SCPGN1.
ADDING UNIT 'KG' INTO WASTE MATERIAL.
CONCATENATE V_WST 'KG' INTO IT_FINAL-WST_M.
SELECT SINGLE MATNR
FROM MSEG
INTO IT_MSEG-MATNR
WHERE MBLNR = IT_J_1IGRXSUB-MBLNR
AND BWART = 101.
IF RECEIVED QTY IS IN EA THEN IT SHOULD COME IN KG ALSO
SELECT SINGLE NTGEW GEWEI " VALUE, UNIT
FROM MARA
INTO (V_VAL, V_WUNIT)
WHERE MATNR = IT_MSEG-MATNR.
V_VAL1 = V_VAL.
CONCATENATE V_VAL1 V_WUNIT INTO V_QFPG1 SEPARATED BY ''.
IT_FINAL-V_QTY1 = V_VAL * IT_J_1IGRXSUB-REC_QTY.
V_QFPG2 = V_VAL * IT_J_1IGRXSUB-REC_QTY.
V_QFPGN = V_QFPG2.
CONCATENATE V_QFPG2 V_WUNIT INTO V_QFPG2.
V_AQTY = IT_J_1IGRXSUB-REC_QTY.
IF V_QFPGN <> 0.
CONCATENATE V_SCPGN1 V_QFPG2 INTO IT_FINAL-V_QTY1 SEPARATED BY ' / '.
ELSE.
IT_FINAL-V_QTY1 = V_SCPGN1.
ENDIF.
BURNING LOSS
*Burning Loss = Qty-removed - ( Qty of processed finished goods +
Qty of waste material)
V_Q = V_QTYR - ( V_QFPGN + V_SCPGN ).
IF V_Q GE 0.
CONCATENATE V_Q 'KG' INTO IT_FINAL-BURNING
SEPARATED BY ''.
ELSE.
V_Q = 0.
IT_FINAL-BURNING = V_Q.
ENDIF.
MOVE-CORRESPONDING IT_J_1IEXCHDR TO IT_FINAL.
IT_FINAL-ADDLDATA1 = IT_J_1IEXCDTL-ADDLDATA1. " Nature of proc
APPEND IT_FINAL.
endselect.
LOOP AT IT_FINAL.
SELECT SINGLE adrnr "Adress Number
FROM lfa1
INTO IT_LFA1-adrnr
WHERE lifnr = IT_J_1IEXCHDR-LIFNR.
SELECT " Vendor Address
SINGLE name1 street city1 post_code1 tel_number fax_number
house_num1
FROM adrc
INTO (IT_ADRC-name1,IT_ADRC-street,IT_ADRC-city1,
IT_ADRC-post_code1,
IT_ADRC-tel_number,IT_ADRC-fax_number,IT_ADRC-house_num1)
WHERE addrnumber = it_lfa1-adrnr.
CONCATENATION OF VENDOR NAME & ADDRESS INTO ONE FIELD i.e ADRS.
CONCATENATE IT_ADRC-NAME1 IT_ADRC-STREET IT_ADRC-CITY1
IT_ADRC-POST_CODE1
INTO IT_FINAL-ADRS SEPARATED BY ''.
MODIFY IT_FINAL.
ENDLOOP.
***************CLEAR STATEMENT
CLEAR IT_FINAL.
CLEAR IT_J_1IEXCHDR.
CLEAR IT_MSEG.
CLEAR IT_J_1IEXCDTL.
CLEAR IT_J_1IGRXSUB.
CLEAR IT_ADRC.
CLEAR V_Q.
CLEAR V_SCPGN.
CLEAR V_WST.
CLEAR V_QFPG1.
CLEAR V_QFPG2.
CLEAR V_VAL.
CLEAR V_VAL1.
CLEAR V_AQTY.
CLEAR V_WUNIT.
CLEAR V_QTYR.
CLEAR V_UNTQT.
CLEAR V_SCPGN1.
CLEAR V_MEINS.
CLEAR V_WSTMQ.
CLEAR V_WSTMQ1.
CLEAR V_QFPGN.
CLEAR V_VALQ.
CLEAR V_UNITQ.
CLEAR V_WGHT.
CLEAR V_WGHT1.
ENDLOOP.
CLEAR IT_J_1IEXCHDR[].
CLEAR IT_MSEG[].
CLEAR IT_J_1IEXCDTL[].
CLEAR IT_J_1IGRXSUB[].
endform. " GET_DATA
ADD
form alv_events using events type slis_t_event.
data : wa_events type slis_alv_event.
clear wa_events.
wa_events-name = 'TOP_OF_PAGE'.
wa_events-form = 'TOP_OF_PAGE'.
append wa_events to it_events.
endform. "alv_events
*FORM FOR TOP OF PAGE
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheader.
endform. "top_of_page
FORM fill_fieldcat USING f d o t to p c.
data wa_fieldcat type slis_fieldcat_alv.
statics pos like sy-index value 1.
pos = pos + 1.
clear wa_fieldcat.
MOVE : 1 TO WA_FIELDCAT-ROW_POS,
POS TO WA_FIELDCAT-COL_POS,
F TO WA_FIELDCAT-FIELDNAME,
D TO WA_FIELDCAT-SELTEXT_L,
O TO WA_FIELDCAT-OUTPUTLEN,
T TO WA_FIELDCAT-TABNAME,
TO TO WA_FIELDCAT-DO_SUM,
P TO WA_FIELDCAT-FIX_COLUMN,
C TO WA_FIELDCAT-EMPHASIZE.
move : 1 to wa_fieldcat-row_pos,
pos to wa_fieldcat-col_pos,
f to wa_fieldcat-fieldname,
d to wa_fieldcat-seltext_l,
o to wa_fieldcat-outputlen,
t to wa_fieldcat-tabname,
to to wa_fieldcat-do_sum,
p to wa_fieldcat-fix_column.
append wa_fieldcat to it_fieldcat.
ENDFORM. " fill_fieldcat
*& Form CALL_FORM
text
--> p1 text
<-- p2 text
form CALL_FORM .
perform alv_header using it_listheader.
perform alv_events using it_events.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_FINAL'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
For Columns Heading
LOOP AT IT_FIELDCAT INTO V_FIELDCAT.
CASE V_FIELDCAT-FIELDNAME.
WHEN 'BUDAT'.
V_FIELDCAT-SELTEXT_L = 'Date of Issue'.
WHEN 'MAKTX'.
V_FIELDCAT-SELTEXT_L = 'Description of goods (inputs)'.
WHEN 'CHAPID'.
V_FIELDCAT-SELTEXT_L = 'Tarrif Classification'.
WHEN 'MENGE'.
V_FIELDCAT-SELTEXT_L = 'Quantity Removed '.
WHEN 'CHARG'.
V_FIELDCAT-SELTEXT_L = 'Identification Marks, If any'.
WHEN 'ADRS'.
V_FIELDCAT-SELTEXT_L =
'Premises/Factory to which goods removed'.
WHEN 'EXNUM'.
V_FIELDCAT-SELTEXT_L = 'Challan No.'.
WHEN 'ADDLDATA1'.
V_FIELDCAT-SELTEXT_L = 'Nature of Processing required'.
WHEN 'CPUDT'.
V_FIELDCAT-SELTEXT_L = 'Date of Receipt'.
WHEN 'V_QTY1'.
V_FIELDCAT-SELTEXT_L = 'Qty of Processed Finished Goods '.
WHEN 'BURNING'.
V_FIELDCAT-SELTEXT_L = 'Process Loss'.
WHEN 'WST_M'.
V_FIELDCAT-SELTEXT_L = 'Quantity of Waste Material'.
WHEN 'ADDLDATA2'.
V_FIELDCAT-SELTEXT_L = 'Invoice No. & Date'.
WHEN 'V_PARTIC'.
V_FIELDCAT-SELTEXT_L = 'Particulars of Payment of Duty'.
V_FIELDCAT-REF_FIELDNAME = 'ERSDA'.
V_FIELDCAT-REF_TABNAME = 'J_1IEXCDTL'.
WHEN OTHERS. CONTINUE.
ENDCASE.
V_FIELDCAT-SELTEXT_S = V_FIELDCAT-SELTEXT_L.
V_FIELDCAT-SELTEXT_M = V_FIELDCAT-SELTEXT_L.
MODIFY IT_FIELDCAT FROM V_FIELDCAT.
ENDLOOP.
perform fill_layout_structure.
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT =
IT_EVENTS = 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 = IT_FINAL
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. " CALL_FORM
*& Form FILL_LAYOUT_STRUCTURE
text
--> p1 text
<-- p2 text
form FILL_LAYOUT_STRUCTURE .
data: wa_event type slis_alv_event,
wa_listheader type slis_t_listheader.
clear is_layout.
is_layout-zebra = 'X'.
SELL_MODE = 'D'.
endform. " FILL_LAYOUT_STRUCTURE
*& Form ALV_HEADER
text
-->P_IT_LISTHEADER text
form ALV_HEADER using p_it_listheader.
data : wa_listheader type slis_listheader.
TEXT = 'Annexure - IV'.
clear wa_listheader.
wa_listheader-typ = 'H'.
move TEXT to wa_listheader-info.
append wa_listheader to it_listheader.
TEXT1 = 'Account of Removal of inputs or partially processed goods'.
clear wa_listheader.
wa_listheader-typ = 'S'.
move TEXT1
to wa_listheader-info.
append wa_listheader to it_listheader.
TEXT2 = 'under Sub Rule 5a of Rule of CENVAT Credit Rules, 2002'.
clear wa_listheader.
wa_listheader-typ = 'S'.
move TEXT2 to wa_listheader-info.
append wa_listheader to it_listheader.
TEXT3 = '(to be maintened by assessee who sends raw '.
clear wa_listheader.
wa_listheader-typ = 'S'.
move TEXT3 to wa_listheader-info.
append wa_listheader to it_listheader.
TEXT4 = 'materials/semifinished goods.'.
clear wa_listheader.
wa_listheader-typ = 'S'.
move TEXT4 to wa_listheader-info.
append wa_listheader to it_listheader.
endform. " ALV_HEADER
Regards,
Gulrez Alam -
How to declare top of page in alv report
hi guru
how to declare top of page in alv report
thanks
subhasisHi,
check this simple program.
REPORT ZBHALV_LIST.
TABLES:MARA.
SELECT-OPTIONS: MATNR FOR MARA-MATNR.
DATA:BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
MTART LIKE MARA-MTART,
MBRSH LIKE MARA-MBRSH,
END OF ITAB.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE MATNR
IN MATNR.
TYPE-POOLS SLIS.
DATA:FCAT TYPE slis_t_fieldcat_alv.
DATA:LAYOUT TYPE slis_layout_alv.
DATA:EVE TYPE slis_t_event WITH HEADER LINE.
DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.
DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
SORT-UP = 'X'.
SORT-SPOS = 1.
SORT-FIELDNAME = 'ERSDA'.
SORT-tabname = 'MARA'.
APPEND SORT.
SORT-SPOS = 2.
SORT-FIELDNAME = 'MTART'.
SORT-tabname = 'MARA'.
APPEND SORT.
EVE-NAME = 'TOP_OF_PAGE'.
EVE-FORM = 'TOPOFPAGE'.
APPEND EVE.
EVE-NAME = 'TOP_OF_LIST'.
EVE-FORM = 'TOPOFLIST'.
APPEND EVE.
EVE-NAME = 'END_OF_LIST'.
EVE-FORM = 'ENDOFLIST'.
APPEND EVE.
LAYOUT-ZEBRA = 'X'.
LAYOUT-no_hline = 'X'.
LAYOUT-NO_VLINE = 'X'.
LAYOUT-window_titlebar = 'MATERIAL DETAILS'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = FCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
IT_SORT = SORT[]
IT_EVENTS = EVE[]
TABLES
T_OUTTAB = ITAB .
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
FORM TOPOFPAGE.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
FORM TOPOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTTOP'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
FORM ENDOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTEND'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
Regards,
Priyanka. -
How to give colors to the top-of-page in ALV Grid
How to give colors to the top-of-page in ALV Grid
in table GT_LIST_TOP_OF_PAGE i am filling 3 rows ,i need 3 different colors to be displyed on top-of-page(one color to one row)
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
please help meeHI Kranthi,
Check out teh foll. link,
http://www.sapfans.com/forums/viewtopic.php?t=52107
Hope this helps. -
Top of page in ALV GRID display
Hi All,
Is it possible to have a top of page in ALV grid display?
If yes, then how?
Thanks and Regards,
Sirishahi
check out the following code:
report z_alv2 line-count 20.
type-pools : slis.
type-pools : icon.
tables:
lfa1, lfb1, lfm1.
selection-screen begin of block b1 with frame title text-001.
select-options:
s_lifnr for lfa1-lifnr, "VENDOR
s_bukrs for lfb1-bukrs, "COMPANY CODE
s_ekorg for lfm1-ekorg, "PURCHASING ORGANIZATION
s_ktokk for lfa1-ktokk. "ACCOUNT GROUP
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-002.
parameters: r1 radiobutton group g1,
r2 radiobutton group g1.
selection-screen end of block b2.
data:
v_repid like sy-repid,
begin of itab occurs 0,
lifnr like lfa1-lifnr,
bukrs like lfb1-bukrs,
ekorg like lfm1-ekorg,
ktokk like lfa1-ktokk,
name1 like lfa1-name1,
stras like lfa1-stras,
ort01 like lfa1-ort01,
regio like lfa1-regio,
pfort like lfa1-pfort,
pstlz like lfa1-pstlz,
pstl2 like lfa1-pstl2,
telf1 like lfa1-telf1,
end of itab.
data : itab_event type slis_t_event,
wa_event type slis_alv_event.
data : itab_fld_cat type slis_t_fieldcat_alv,
wa_fldcat type slis_fieldcat_alv.
data : wa_layout type slis_layout_alv.
start-of-selection.
*PERFORM GET_VARIANT.
PERFORM data_validation.
perform select_data.
perform get_events using itab_event .
perform fieldcatmerge.
if r1 = 'X'.
perform alvlistdisplay.
elseif r2 = 'X' .
perform alvgriddisplay.
endif.
*& Form DATA_VALIDATION
text
--> p1 text
<-- p2 text
form data_validation .
data: v_count type i.
if s_lifnr is initial and
s_bukrs is initial and
s_ekorg is initial and
s_ktokk is initial.
message e000(z13325).
Enter any value in the Selection Screen
endif.
select count(*) from lfa1 where lifnr in s_lifnr.
if sy-subrc <> 0.
message e000(z13325).
Enter any value in the Selection Screen
endif.
select count(*) from lfb1 where lifnr in s_bukrs.
if sy-subrc <> 0.
message e000(z13325).
Enter any value in the Selection Screen
endif.
select count(*) from lfm1 where lifnr in s_ekorg.
if sy-subrc <> 0.
message e000(z13325).
Enter any value in the Selection Screen
endif.
select count(*) from lfa1 where lifnr in s_ktokk.
if sy-subrc <> 0.
message e000(z13325).
Enter any value in the Selection Screen
endif.
endform. " DATA_VALIDATION
*& Form SELECT_DATA
text
--> p1 text
<-- p2 text
form select_data .
select a~lifnr
b~bukrs
c~ekorg
a~ktokk
a~name1
a~stras
a~ort01
a~regio
a~pfort
a~pstlz
a~pstl2
a~telf1
into corresponding fields of table itab
from lfa1 as a inner join lfb1 as b
on alifnr = blifnr
inner join lfm1 as c
on alifnr = clifnr
where a~lifnr in s_lifnr
and b~bukrs in s_bukrs
and c~ekorg in s_ekorg
and a~ktokk in s_ktokk.
sort itab by lifnr bukrs ekorg.
endform. " SELECT_DATA
*& Form FIELDCATMERGE
text
--> p1 text
<-- p2 text
form fieldcatmerge .
v_repid = sy-repid.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = v_repid
i_internal_tabname = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = v_repid
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
changing
ct_fieldcat = itab_fld_cat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
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. " FIELDCATMERGE
*& Form ALVLISTDISPLAY
text
--> p1 text
<-- p2 text
form alvlistdisplay .
v_repid = sy-repid.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = v_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
is_layout = wa_layout
it_fieldcat = itab_fld_cat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
I_SAVE = 'A'
IS_VARIANT =
it_events = itab_event
IT_EVENT_EXIT = itab_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
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. " ALVLISTDISPLAY
*& Form ALVGRIDDISPLAY
text
--> p1 text
<-- p2 text
form alvgriddisplay .
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = v_repid
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 = 'GRID DISPLAY'
I_GRID_SETTINGS =
IS_LAYOUT = WS_LAYOUT1
it_fieldcat = itab_fld_cat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = itab_event
IT_EVENT_EXIT = itab_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_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
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. " ALVGRIDDISPLAY
*& Form GET_EVENTS
text
--> p1 text
<-- p2 text
form get_events using itab_event type slis_t_event.
call function 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
importing
et_events = itab_event
exceptions
list_type_wrong = 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.
read table itab_event with key name = slis_ev_top_of_page into wa_event
if sy-subrc = 0.
wa_event-form = 'FRM_TOP_OF_PAGE'.
modify itab_event from wa_event index sy-tabix.
endif.
endform. " GET_EVENTS
*& Form FRM_TOP_OF_PAGE
text
form frm_top_of_page.
write : 130 'Time:' ,sy-uzeit .
write :/2 'User: ', sy-uname.
write: 59 sy-title, 130 'Page:' , sy-pagno.
write:/ 'this is swathi and this is top of page '.
endform. "FRM_TOP_OF_PAGE
Reward points if helpful.
Regards
Swathi -
TOP OF PAGE in ALV Grid Display in ECC 6.0
Hi,
I have an issue with top of page in Alv grid display
in ECC 6.0. I searched the forum for this, but
couldnt fine any solution.
I am using Reuse_alv_commentary_write to display the header.
It's working fine in 4.7E but the same code is not working in
ECC 6.0. The header is shown as empty.
I tried to execute some other programs with same FM and
even standard SAP Prgrms too, even they raise the same issue
the top of page is empty.
Please suggest any other FM or approach to use in ECC 6.0 to get the top of page.
Thanks in advance
Kaavya.hiii
use following code
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'F0020_TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = 'I_OUTPUT'
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT = wa_layout
it_fieldcat = i_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'X'
is_variant = wa_variant
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
FORM f0020_top_of_page.
DATA: i_listheader TYPE slis_t_listheader WITH HEADER LINE,
w_date like sy-datum.
move:
'H' TO i_listheader-typ,
' Corporation' TO i_listheader-info.
* text-021 TO i_listheader-info.
*write: 'Camtura Corporations'.
APPEND i_listheader.
WRITE sy-datum TO w_date.
move:
'S' TO i_listheader-typ,
'Execution date' TO i_listheader-key,
w_date TO i_listheader-info.
APPEND i_listheader.
regards
twinkal -
How to devide the top of page in alv grid display
hi all
in the alv grid display am getting the page number and total number of pages in the left hand side
but what i need is i need in the right hand side
how to get thatHi,
PLease refer to the code below:
*& Report ZDEMO_ALVGRID *
*& Example of a simple ALV Grid Report *
*& The basic requirement for this demo is to display a number of *
*& fields from the EKKO table. *
REPORT zdemo_alvgrid .
TABLES: ekko.
type-pools: slis. "ALV Declarations
*Data Declaration
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid,
gt_events type slis_t_event,
gd_prntparams type slis_print_alv.
*Start-of-selection.
START-OF-SELECTION.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform build_events.
perform build_print_params.
perform display_alv_report.
*& Form BUILD_FIELDCATALOG
* Build Fieldcatalog for ALV Report
form build_fieldcatalog.
* There are a number of ways to create a fieldcat.
* For the purpose of this example i will build the fieldcatalog manualy
* by populating the internal table fields individually and then
* appending the rows. This method can be the most time consuming but can
* also allow you more control of the final product.
* Beware though, you need to ensure that all fields required are
* populated. When using some of functionality available via ALV, such as
* total. You may need to provide more information than if you were
* simply displaying the result
* I.e. Field type may be required in-order for
* the 'TOTAL' function to work.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
* fieldcatalog-do_sum = 'X'.
* fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELP'.
fieldcatalog-seltext_m = 'PO Item'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STATU'.
fieldcatalog-seltext_m = 'Status'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'AEDAT'.
fieldcatalog-seltext_m = 'Item change date'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material Number'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MENGE'.
fieldcatalog-seltext_m = 'PO quantity'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Order Unit'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NETPR'.
fieldcatalog-seltext_m = 'Net Price'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 15.
fieldcatalog-do_sum = 'X'.
fieldcatalog-datatype = 'CURR'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PEINH'.
fieldcatalog-seltext_m = 'Price Unit'.
fieldcatalog-col_pos = 8.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
* Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
* gd_layout-totals_only = 'X'.
* gd_layout-f2code = 'DISP'. "Sets fcode for when double
* "click(press f2)
* gd_layout-zebra = 'X'.
* gd_layout-group_change_edit = 'X'.
* gd_layout-header_text = 'helllllo'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
* Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
* i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
* it_special_groups = gd_tabgroup
it_events = gt_events
is_print = gd_prntparams
i_save = 'X'
* is_variant = z_template
tables
t_outtab = it_ekko
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
*& Form DATA_RETRIEVAL
* Retrieve data form EKPO table and populate itab it_ekko
form data_retrieval.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
up to 10 rows
from ekpo
into table it_ekko.
endform. " DATA_RETRIEVAL
* Form TOP-OF-PAGE *
* ALV Report Header *
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
wa_header type slis_listheader,
t_line like wa_header-info,
ld_lines type i,
ld_linesc(10) type c.
* Title
wa_header-typ = 'H'.
wa_header-info = 'EKKO Table Report'.
append wa_header to t_header.
clear wa_header.
* Date
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info. "todays date
append wa_header to t_header.
clear: wa_header.
* Total No. of Records Selected
describe table it_ekko lines ld_lines.
ld_linesc = ld_lines.
concatenate 'Total No. of Records Selected: ' ld_linesc
into t_line separated by space.
wa_header-typ = 'A'.
wa_header-info = t_line.
append wa_header to t_header.
clear: wa_header, t_line.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = t_header.
* i_logo = 'Z_LOGO'.
endform.
* FORM USER_COMMAND *
* --> R_UCOMM *
* --> RS_SELFIELD *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
* Check function code
CASE r_ucomm.
WHEN '&IC1'.
* Check field clicked on within ALVgrid report
IF rs_selfield-fieldname = 'EBELN'.
* Read data table, using index of row user clicked on
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
* Set parameter ID for transaction screen field
SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
* Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*& Form BUILD_EVENTS
* Build events table
form build_events.
data: ls_event type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = gt_events[].
read table gt_events with key name = slis_ev_end_of_page
into ls_event.
if sy-subrc = 0.
move 'END_OF_PAGE' to ls_event-form.
append ls_event to gt_events.
endif.
read table gt_events with key name = slis_ev_end_of_list
into ls_event.
if sy-subrc = 0.
move 'END_OF_LIST' to ls_event-form.
append ls_event to gt_events.
endif.
endform. " BUILD_EVENTS
*& Form BUILD_PRINT_PARAMS
* Setup print parameters
form build_print_params.
gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
gd_prntparams-no_coverpage = 'X'.
endform. " BUILD_PRINT_PARAMS
*& Form END_OF_PAGE
form END_OF_PAGE.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
write: sy-uline(50).
skip.
write:/40 'Page:', sy-pagno .
endform.
*& Form END_OF_LIST
form END_OF_LIST.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
skip.
write:/40 'Page:', sy-pagno .
endform.
Thanks,
Sriram Ponna. -
How to print top of page while displaying data in ALV Grid ........as i m passing subroutine for top of page' in parameter i_callback_html_top_of_page
i_callback_html_top_of_page is different than i_callback_top_of_page...
if you want to use callback_html you will need to define a form routine something like this:
form html_top_of_page using r_top type ref to cl_dd_document.
data: text type sdydo_text_element.
* data: s_table type ref to cl_dd_table_element.
* data: col_key type ref to cl_dd_area.
* data: col_info type ref to cl_dd_area.
data: a_logo type ref to cl_dd_area.
data:
l_string_with_html type string, "WA Html String Handling
l_text_wa(20) type c. "WA String Handling
call method r_top->initialize_document.
** Set Background Color on TOP-document = small white square works well
* this should be a graphic stored in BDS
call method r_top->set_document_background
exporting picture_id = 'SmWhiteSquare'.
** split TOP-Document to make space for the logo on the right
call method r_top->vertical_split
exporting split_area = r_top
split_width = '70%'
importing right_area = a_logo.
** and add a Company logo - stored in BDS as above
call method a_logo->add_picture
exporting picture_id = 'YourLogoHere'.
** fill TOP-Document space on the left with data
* first the title
text = sy-repid. " 'Var with My report name'.
call method r_top->add_text exporting text = text
sap_style = 'HEADING'.
call method r_top->new_line.
* your code here (may list report selections params or whatever)...
endform. -
How to provide top of page in ALV reports
Hi....
here is requirement.
i entered some 1000 to 2000 in the selection screen.
now i want to display the same in output list.
that is the <b></b>output from 1000 to 2000 are displayed with 1000 records<b></b>
like this i want to display in top of list in alv report.
how to do this requirement.
thanks and regards,
k.swaminath reddy.hi,
check this one
*& Report ZALV_FIELD_GRID1
REPORT ZALV_FIELD_GRID1
NO STANDARD PAGE HEADING.
TABLES MARA.
type-pools :slis.
TYPES : BEGIN OF TMARA ,
MATNR LIKE MARA-MATNR,
MEINS LIKE MARA-MEINS,
ERSDA LIKE MARA-ERSDA,
color(4) type c,
SEL type c,
LIGHT TYPE C,
END OF TMARA.
TYPES: BEGIN OF TMAKT,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
MAKTG LIKE MAKT-MAKTG,
SEL TYPE C,
COLOR(4),
END OF TMAKT.
DATA: ITAB TYPE TMARA OCCURS 0 WITH HEADER LINE,
ITAB1 TYPE TMAKT OCCURS 0 WITH HEADER LINE,
wa_fieldcat type slis_fieldcat_alv,
fieldcat type slis_fieldcat_alv occurs 0,
i_layout type slis_layout_alv,
WA_LISTHEADER TYPE SLIS_LISTHEADER ,
i_LISTHEADER TYPE SLIS_LISTHEADER OCCURS 0,
V_EVENTS TYPE SLIS_T_EVENT ,
WA_EVENT TYPE SLIS_ALV_EVENT,
I_TITLE_MARA TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED',
I_TITLE_MAKT TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED',
SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE,
PRINT_CONT type slis_print_alv.
SELECTION SCREE
selection-screen begin of block screen1 with frame title TEXT-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /32(35) COMM1.
SELECTION-SCREEN ULINE /27(35).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS MATNR FOR MARA-MATNR.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN COMMENT /30(50) COMM2.
SELECTION-SCREEN ULINE /27(40).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS ERSDA FOR MARA-ERSDA.
SELECTION-SCREEN SKIP.
selection-screen end of block screen1.
INITIALIZATION
INITIALIZATION.
MATNR-low = '23'.
MATNR-high = '1000'.
MATNR-option = 'BT'.
MATNR-sign = 'I'.
APPEND MATNR.
ERSDA-low = '20030124'.
ERSDA-high = '20050302' .
APPEND ERSDA.
PERFORM FILLFIELD.
PERFORM FILLLAYOUT.
PERFORM build_print_params.
PERFORM FILL_SORT.
PERFORM EVENT_CALL.
PERFORM POPULATE_EVENT.
SELECTION-SCREEN OUTPUT
AT SELECTION-SCREEN OUTPUT.
comm1 ='SELECT MATERIAL NUMBER RANGE'.
comm2 ='SELECT MATERIAL CREATION DATE'.
START-OF-SELECTION
START-OF-SELECTION.
PERFORM READDATA.
PERFORM POPDATA.
*& Form READDATA
text
FORM READDATA .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = MATNR-LOW
IMPORTING
OUTPUT = MATNR-LOW.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = MATNR-HIGH
IMPORTING
OUTPUT = MATNR-HIGH.
SELECT MATNR
ERSDA
MEINS
FROM MARA
INTO CORRESPONDING FIELDS OF
TABLE ITAB
WHERE MATNR IN MATNR AND ERSDA IN ERSDA.
LOOP AT ITAB.
data id_color type i VALUE 1.
data id_colors(2) type c.
IF ITAB-MATNR < '000000000000000100'.
ITAB-LIGHT = '1'.
ELSEIF ITAB-MATNR < '000000000000000150' AND ITAB-MATNR >
'000000000000000100' .
ITAB-LIGHT = '2'.
ELSE.
ITAB-LIGHT = '3'.
ENDIF.
id_color = id_color + 1.
if id_color > 7.
id_color = 1.
endif.
id_colors = id_color.
concatenate 'C' id_colors '10' into itab-color.
modify itab.
CLEAR ITAB.
endloop.
ENDFORM. " READDATA
Form FILLFIELD
FORM FILLFIELD .
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-outputlen = 20.
WA_FIELDCAT-HOTSPOT = 'X'.
wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
*WA_FIELDCAT-EMPHASIZE = 'C210'.
APPEND WA_FIELDCAT TO FIELDCAT.
clear wa_fieldcat.
WA_FIELDCAT-FIELDNAME = 'MEINS'.
WA_FIELDCAT-COL_POS = '2'.
*WA_FIELDCAT-EMPHASIZE = 'C510'.
WA_FIELDCAT-outputlen = 10.
wa_fieldcat-seltext_m = 'UNIT'.
APPEND WA_FIELDCAT TO FIELDCAT.
clear wa_fieldcat.
WA_FIELDCAT-FIELDNAME = 'ERSDA'.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-outputlen = 15.
*WA_FIELDCAT-EDIT_MASK = 'DD.MM.YYYY'.
*WA_FIELDCAT-EMPHASIZE = 'C710'.
wa_fieldcat-seltext_m = 'CREAT DATE'.
APPEND WA_FIELDCAT TO FIELDCAT.
clear wa_fieldcat.
ENDFORM. "FILLFIELD
Setup print parameters
form build_print_params.
PRINT_CONT-reserve_lines = '3'. "Lines reserved for footer
PRINT_CONT-no_coverpage = 'X'.
endform. " BUILD_PRINT_PARAMS
Form POPDATA
FORM POPDATA .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER-COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOPPAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_TITLE_MARA
I_GRID_SETTINGS =
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = SORT[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = V_EVENTS
IT_EVENT_EXIT =
IS_PRINT = PRINT_CONT
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
ENDFORM. " POPDATA
Form TOPPAGE
FORM TOPPAGE.
REFRESH I_LISTHEADER.
DATA: ld_lines type i,
ld_linesc(10) type c,
I_DATE(10) TYPE C,
I_INFO LIKE WA_LISTHEADER-INFO.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-INFO = 'MATERIAL DETAIL'.
APPEND WA_LISTHEADER TO I_LISTHEADER.
CLEAR WA_LISTHEADER.
WA_LISTHEADER-TYP = 'S'.
WA_LISTHEADER-KEY = 'DATE :'.
CONCATENATE SY-DATUM+6(2) '.'
SY-DATUM+4(2) '.'
SY-DATUM(4) INTO I_DATE.
WA_LISTHEADER-INFO = I_datE.
APPEND WA_LISTHEADER TO I_LISTHEADER.
CLEAR WA_LISTHEADER.
describe table ITAB lines ld_lines.
ld_linesc = ld_lines.
concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
into I_INFO separated by space.
WA_LISTHEADER-TYP = 'A'.
WA_LISTHEADER-INFO = I_INFO.
append WA_LISTHEADER to I_LISTHEADER.
clear: WA_LISTHEADER , I_INFO.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_LISTHEADER
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM. "TOPPAGE
Form FILLLAYOUT
FORM FILLLAYOUT .
i_layout-zebra = 'X'.
i_layout-info_fieldname = 'COLOR'.
i_layout-box_fieldname = 'SEL'.
I_LAYOUT-lights_fieldname = 'LIGHT'.
I_LAYOUT-EDIT ='X'.
I_LAYOUT-colwidth_optimize = 'X'.
I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
I_LAYOUT-no_totalline = 'X'.
ENDFORM. "FILLLAYOUT
Form FILL_SORT
FORM FILL_SORT .
SORT-DOWN = 'X'.
SORT-SPOS = 1.
SORT-FIELDNAME = 'MATNR'.
SORT-tabname = 'MARA'.
APPEND SORT.
ENDFORM. " FILL_SORT
Form EVENT_CALL
FORM EVENT_CALL .
DATA: I_EVENT LIKE V_EVENTS.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS.
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. " EVENT_CALL
Form POPULATE_EVENT
FORM POPULATE_EVENT .
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'USER_COMMAND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-NAME.
READ TABLE V_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
INTO WA_EVENT.
IF SY-SUBRC = 0.
move 'END_OF_PAGE' to WA_EVENT-FORM.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-NAME.
endif.
ENDIF.
ENDFORM. "POPULATE_EVENT
FORM END_OF_PAGE.
write: sy-uline(50).
skip.
write:/40 'Page:', sy-pagno .
ENDFORM.
*& Form USER_COMMAND
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
CASE RS_SELFIELD-FIELDNAME.
when 'MATNR'.
read table itab with key matnr = RS_SELFIELD-VALUE.
if sy-subrc = 0.
PERFORM DATA_RETRIEVAL_MAKT USING RS_SELFIELD-VALUE.
PERFORM BUILD_FIELDCATLOG_MAKT.
PERFORM FILLLAYOUT_MAKT.
PERFORM DISPLAY_ALV_MAKT.
CLEAR RS_SELFIELD.
ENDIF.
ENDCASE.
ENDCASE.
ENDFORM. "user_command
Form DATA_RETRIEVAL_MAKT
FORM DATA_RETRIEVAL_MAKT USING TMATNR .
SELECT MATNR
MAKTX
MAKTG
UP TO 100 ROWS
FROM MAKT
INTO TABLE ITAB1
WHERE SPRAS = 'EN' AND MATNR = TMATNR.
LOOP AT ITAB1.
data id_color type i VALUE 1.
data id_colors(2) type c.
id_color = id_color + 1.
if id_color > 7.
id_color = 1.
endif.
id_colors = id_color.
concatenate 'C' id_colors '10' into itab1-color.
modify itab1.
CLEAR ITAB1.
ENDLOOP.
ENDFORM. "DATA_RETRIEVAL_MAKT
Form FILLLAYOUT_MAKT
FORM FILLLAYOUT_MAKT .
CLEAR I_LAYOUT.
i_layout-zebra = 'X'.
i_layout-info_fieldname = 'COLOR'.
i_layout-box_fieldname = 'SEL'.
I_LAYOUT-EDIT ='X'.
I_LAYOUT-colwidth_optimize = 'X'.
I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
ENDFORM. " LAYOUT_MAKT
Form BUILD_FIELDCATLOG_MAKT
FORM BUILD_FIELDCATLOG_MAKT .
REFRESH FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-COL_POS = '1'.
*WA_FIELDCAT-EDIT_MASK = 'DD.MM.YYYY'.
WA_FIELDCAT-EMPHASIZE = 'C510'.
wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
APPEND WA_FIELDCAT TO FIELDCAT.
clear wa_fieldcat.
WA_FIELDCAT-FIELDNAME = 'MAKTX'.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-EMPHASIZE = 'C710'.
wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
APPEND WA_FIELDCAT TO FIELDCAT.
clear wa_fieldcat.
WA_FIELDCAT-FIELDNAME = 'MAKTG'.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-EMPHASIZE = 'C210'.
wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
APPEND WA_FIELDCAT TO FIELDCAT.
clear wa_fieldcat.
ENDFORM. " BUILD_FIELDCATLOG_MAKT
Form DISPLAY_ALV_MAKT
FORM TOP-OF-PAGE.
REFRESH I_LISTHEADER.
DATA: ld_lines type i,
ld_linesc(10) type c,
I_DATE(10) TYPE C,
I_INFO LIKE WA_LISTHEADER-INFO.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-INFO = 'MATERIAL DESCRIPTION FOR SELECTED NUMBER'.
APPEND WA_LISTHEADER TO I_LISTHEADER.
CLEAR WA_LISTHEADER.
WA_LISTHEADER-TYP = 'S'.
WA_LISTHEADER-KEY = 'DATE :'.
CONCATENATE SY-DATUM+6(2) '.'
SY-DATUM+4(2) '.'
SY-DATUM(4) INTO I_DATE.
WA_LISTHEADER-INFO = I_datE.
APPEND WA_LISTHEADER TO I_LISTHEADER.
CLEAR WA_LISTHEADER.
describe table ITAB1 lines ld_lines.
ld_linesc = ld_lines.
concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
into I_INFO separated by space.
WA_LISTHEADER-TYP = 'A'.
WA_LISTHEADER-INFO = I_INFO.
append WA_LISTHEADER to I_LISTHEADER.
clear: WA_LISTHEADER , I_INFO.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_LISTHEADER
I_LOGO = 'ENJOYSAP_LOGO'.
I_END_OF_LIST_GRID =
I_ALV_FORM =
ENDFORM. "TOP-OF-PAGE
*& Form DISPLAY_ALV_MAKT
text
FORM DISPLAY_ALV_MAKT .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
I_GRID_TITLE = I_TITLE_MAKT
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = fieldcat
TABLES
T_OUTTAB = ITAB1
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_MAKT
<b>rewards point</b>
regards
Ashok kumar -
How to make top of page in alv to be printed.
hello expert:
i used following function to output alv.
but after been printed into spool, i cannot find the top of page.
how to set the print parameter to print the top of ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_repid
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
is_layout = wa_layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_comp
EXCEPTIONS
program_error = 1
OTHERS = 2.
thank you and best regards,
Kevin GaoCALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
i_bypassing_buffer = 'X'
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE'
I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = <DYN_WA>
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = gds_layout
it_fieldcat = gdt_field_cata
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort = gdt_sortinfo
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'X'
is_variant = gt_var
it_events = gdt_eventcat
IT_EVENT_EXIT =
IS_PRINT = gds_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 = <dyn_table>
EXCEPTIONS
program_error = 1
OTHERS = 2 .
*& Form html_top_of_page
FORM html_top_of_page USING document TYPE REF TO cl_dd_document.
DATA: text TYPE sdydo_text_element.
CALL METHOD document->add_gap
EXPORTING
width = 100.
text = 'Company Code Data'.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'HEADING'.
CALL METHOD document->new_line.
CALL METHOD document->new_line.
CALL METHOD document->new_line.
text = 'User Name : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.
CALL METHOD document->add_gap
EXPORTING
width = 6.
text = sy-uname.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.
CALL METHOD document->add_gap
EXPORTING
width = 50.
text = 'Date : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.
CALL METHOD document->add_gap
EXPORTING
width = 6.
text = sy-datum.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.
CALL METHOD document->add_gap
EXPORTING
width = 50.
text = 'Time : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.
CALL METHOD document->add_gap
EXPORTING
width = 6.
text = sy-uzeit.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.
CALL METHOD document->new_line.
CALL METHOD document->new_line.
ENDFORM. "HTML_TOP_OF_PAGE -
How to gve the colors to the TOP-OF-PAGE in ALV Grid Disply..
i want to give 3 different colors in the top-of-page(there are three different lines each line should disply in different colors)...
plaese tell me how can i do that...........Hi
Try like this...
form build_events.
clear gv_event.
refresh i_events.
Get the ALV events
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = i_events
exceptions
list_type_wrong = 1
others = 2.
if sy-subrc = 0.
sort i_events by name.
endif.
Form for Top-of-Page ---------------------------------*
read table i_events with key name = slis_ev_top_of_page
into gv_event
binary search.
if sy-subrc = 0.
move gc_top_of_page to gv_event-form.
modify i_events from gv_event index sy-tabix.
endif.
Form for End-of-List ---------------------------------*
read table i_events with key name = slis_ev_end_of_list
into gv_event
binary search.
if sy-subrc = 0.
move gc_end_of_list to gv_event-form.
modify i_events from gv_event index sy-tabix.
endif.
Specify the ALV layout
wa_layout-max_linesize = gv_linsz.
wa_layout-min_linesize = gv_linsz.
endform. " build_events
form top_of_page_d.
format color col_heading.
write: / 'Satyanarayana'
format color col_total.
write: / 'Sayana'.
format reset.
endform.
Satya. -
How to supress top of page in ALV during page breaks...
Hello Experts,
I am currently developing a report using the old ALV(REUSE_ALV_LIST_DISPLAY) since
I need to have page breaks(using the SORT event) depending on the sort criteria. But
I noticed that for every page break, the top of page automatically displays. I only
need to display it one or depending on other factors.
So how do we supress top of page event?
Thank you guys and take care!Hi Viraylab,
Try out like this ..
1. Declare a global variable g_flag = 0.
2. if g_flag = 1.
top-of-page.
your heading.....
and default g_flag = 0.
endif.
3. *your Output
Perform display.
4. Form display.
Your --- Code...
g_flag = 1.
endform.
Regards,
sg -
Error in top-of-page in ALV GRID
Friwnds i am trying out a simple alv grid display program with
top of page .
But the top-of-page is coming blank with no logo and text.
Please help me .
Below is the full program.
REPORT zalv_griddisplaypic.
TYPE-POOLS : slis.
DATA : itab TYPE STANDARD TABLE OF spfli,
it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat TYPE slis_fieldcat_alv,
drepid LIKE sy-repid.
START-OF-SELECTION.
SELECT carrid
connid FROM spfli INTO corresponding fields of TABLE itab UP TO 10 ROWS.
END-OF-SELECTION.
wa_fcat-fieldname = 'CARRID'.
wa_fcat-row_pos = '1'.
wa_fcat-col_pos = 1 .
wa_fcat-emphasize = 'X'.
wa_fcat-just = 'C'.
wa_fcat-outputlen = 15.
wa_fcat-seltext_m = 'CARRIER NO'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'CONNID'.
wa_fcat-row_pos = '1'.
wa_fcat-col_pos = 2 .
wa_fcat-emphasize = 'X'.
wa_fcat-just = 'C'.
wa_fcat-outputlen = 20.
wa_fcat-seltext_m = 'CONNECTION NO'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = drepid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'TOP-OF-PAGE1'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'LOKESH'
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = it_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
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.
*& Form top-of-page1
text
FORM TOP-OF-PAGE1.
data: header type slis_t_listheader,
wa type slis_listheader,
v1 type char10.
TITLE AREA
wa-typ = 'S'.
wa-info = 'ALV GRID DISPLAY'.
append wa to header.
clear wa.
WRITE sy-datum TO v1 USING EDIT MASK '__/__/_____'.
wa-typ = 'S'.
wa-info = v1.
wa-key = 'DATE :'.
APPEND wa TO header.
CLEAR wa.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = header
I_LOGO = 'ENJOYSAP_LOGO'
I_END_OF_LIST_GRID =
I_ALV_FORM =
ENDFORM. "top-of-page1try to this code.........
REPORT zalv_griddisplaypic.
TYPE-POOLS : slis.
DATA : itab TYPE STANDARD TABLE OF spfli,
DATA GT_HEADER TYPE SLIS_T_LISTHEADER.
it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat TYPE slis_fieldcat_alv,
drepid LIKE sy-repid.
START-OF-SELECTION.
SELECT carrid
connid FROM spfli INTO corresponding fields of TABLE itab UP TO 10 ROWS.
END-OF-SELECTION.
PERFORM BUILD_HEADER USING GT_HEADER.
wa_fcat-fieldname = 'CARRID'.
wa_fcat-row_pos = '1'.
wa_fcat-col_pos = 1 .
wa_fcat-emphasize = 'X'.
wa_fcat-just = 'C'.
wa_fcat-outputlen = 15.
wa_fcat-seltext_m = 'CARRIER NO'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'CONNID'.
wa_fcat-row_pos = '1'.
wa_fcat-col_pos = 2 .
wa_fcat-emphasize = 'X'.
wa_fcat-just = 'C'.
wa_fcat-outputlen = 20.
wa_fcat-seltext_m = 'CONNECTION NO'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = drepid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'TOP-OF-PAGE1'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'LOKESH'
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = it_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
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.
*& Form top-of-page1
text
FORM BUILD_HEADER USING HEADER TYPE SLIS_T_LISTHEADER.
data: header type slis_t_listheader,
wa type slis_listheader,
v1 type char10.
TITLE AREA
wa-typ = 'S'.
wa-info = 'ALV GRID DISPLAY'.
append wa to header.
clear wa.
WRITE sy-datum TO v1 USING EDIT MASK '__/__/_____'.
wa-typ = 'S'.
wa-info = v1.
wa-key = 'DATE :'.
APPEND wa TO header.
CLEAR wa.
endform.
form top_of_page1.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_header
I_LOGO = 'ENJOYSAP_LOGO'
I_END_OF_LIST_GRID=.
endform. -
Can we create the longer lines in the top-of-page in ALV Grid
Dear Experts,
I want to display longer characters in the TOP-OF-PAGE in the ALV GRID .
( more than 60 character up to 150 ).
Is there any possible FM.
Kindly provide.
Regards
R.RajendranhI rANGA,
I think upto 60 char is possible.
Thanks
Vincent -
Hi Experts,
I want to display the below said in top-of-page (alv) as TITLE can include only 72 characters.
*FORM TITLE.
WRITE BUDAT-LOW DD/MM/YYYY TO DATE1.
WRITE BUDAT-HIGH DD/MM/YYYY TO DATE2.
CONCATENATE IT_FINAL-NAME1 'Reconcilliation Statement From'
DATE1 'TO' DATE2
INTO TITLE SEPARATED BY SPACE .
**ENDFORM. "TITLE
Please advice.
KarthikHi Karthik,
In ALV you will use the events and a Function module calle Resue_alv_commentry_write you can display the header on the top of the ALV.
You can check with the below code :
*& Form DISPLAY
* text
* --> p1 text
* <-- p2 text
FORM DISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
* I_GRID_TITLE = i_title_gts
IS_LAYOUT = wa_layout
IT_FIELDCAT = lt_fieldcat
IT_EVENTS = it_events
TABLES
T_OUTTAB = <dyn_table>
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
*& Form DESINLAYOUT
* text
* --> p1 text
* <-- p2 text
FORM DESINLAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM. " DESINLAYOUT
*& Form GETEVENTS
* text
* -->P_IT_EVENTS text
FORM GETEVENTS USING P_IT_EVENTS type slis_t_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = p_it_events
EXCEPTIONS
LIST_TYPE_WRONG = 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.
READ TABLE P_IT_EVENTS INTO WA_EVENTS WITH KEY NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'TOP_OF_PAGE'.
MODIFY IT_EVENTS FROM WA_EVENTS TRANSPORTING FORM WHERE NAME = WA_EVENTS-NAME.
ENDFORM. " GETEVENTS
*& Form top-of-page
FORM TOP_OF_PAGE.
WA_LISTHEADER-TYP = 'S'.
WA_LISTHEADER-KEY = 'DATE'.
* WA_LISTHEADER-INFO = SY-DATUM. " - DG1K902198
WRITE SY-DATUM TO WA_LISTHEADER-INFO." + DG1K902198
APPEND WA_LISTHEADER TO IT_LISTHEADER.
WA_LISTHEADER-TYP = 'S'.
WA_LISTHEADER-KEY = 'TIME'.
* WA_LISTHEADER-INFO = SY-UZEIT." - DG1K902198
WRITE SY-UZEIT TO WA_LISTHEADER-INFO. " +DG1K902198
APPEND WA_LISTHEADER TO IT_LISTHEADER.
WA_LISTHEADER-TYP = 'S'.
WA_LISTHEADER-KEY = 'CLIENT'.
WA_LISTHEADER-INFO = SY-MANDT.
APPEND WA_LISTHEADER TO IT_LISTHEADER.
CLEAR WA_LISTHEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = IT_LISTHEADER. "it_listheader.
REFRESH IT_LISTHEADER. "it_listheader.
ENDFORM. "top-of-pa
This will work....Try with the above code with the changes that you wanted.
Regards,
Kittu
Maybe you are looking for
-
Numbers reverted a spreadsheet to an old version
I have a fairly large and complex spreadsheet on numbers. For some dumb reason, it defaults to saving my files on iCloud, which, of course, means you don't have much control over it. Numbers generally stays open on my computer, because I use this lar
-
Aperture 'import' issue...
I have a 2TB hard-drive (and a 250gb solid state drive containing the OS). I imported pictures to Aperture from the larger hard-drive ensuring "Store files in their current location" is selected. However, the Aperture folder on the solid-state drive
-
Hi, In mY report, I have BUDAT as select-options and WERKS as select-options. Based on MBLNR, MJAHR from MKPF into table it_mkpf where Budat in s_BUDAT. after that I am fetching MSEG data using for all entries in it_mkpf where werks in s_wer
-
Solaris? Aolaris? - Solaris 10 installation problem
Hi, gurus, I downloaded the Solaris 10 GA bits, and successfully installed it in 1 of my PCs very smoothly, the feeling is so good. But when I tried to install it into another PC, I meet big problem. I can not boot from the CD, the system hangs when
-
Foxfire wasn't connecting to the web and I had to reinstall it. Since that time I haven't been able to access iTunes and new windows don't open in new tabs