How to put Header to an REUSE_ALV_GRID_DISPLAY report?
Hi All,
I have an ALV report and I am using REUSE_ALV_GRID_DISPLAY to display the output. How do I put a header to the report(not the column header)? I need a header which will display automatically on every page and I need to put the report name in the center, page no, date and time the report is run on the right hand side of the header and the user name running the report and on which client they are running the report on the left hand side of the header?
Hi,
Check this sample code..
REPORT Z_TEST_ALV_EVENTS .
type-pools: slis.
data: x_fieldcat type slis_fieldcat_Alv,
it_fieldcat type slis_t_fieldcat_alv,
x_events type slis_alv_event,
it_events type SLIS_T_EVENT.
data: v_lines type i.
data: begin of itab occurs 0,
vbeln like vbak-vbeln,
posnr like vbap-posnr,
end of itab.
select vbeln
posnr
from vbap
up to 100 rows
into table itab.
call function 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = 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 it_events into x_events with key name 'TOP_OF_PAGE'.
if sy-subrc = 0.
x_events-form = 'TOP_OF_PAGE'.
modify it_events from x_events index sy-tabix transporting form .
endif.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'ITAB'
I_INCLNAME = sy-repid
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.
describe table itab lines v_lines.
call function 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
IT_EVENTS = IT_EVENTS
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_PAGE.
DATA: LS_LINE TYPE SLIS_LISTHEADER,
E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
Listenüberschrift: Typ H
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-KEY: not used for this type
LS_LINE-INFO = 'Summary'.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
Kopfinfo: Typ S
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = 'Test'.
LS_LINE-INFO = ''.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
LS_LINE-KEY = 'ASIA'.
LS_LINE-INFO = 'test'.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
Aktionsinfo: Typ A
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
LS_LINE-KEY: not used for this type
LS_LINE-INFO = TEXT-105.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = E04_LT_TOP_OF_PAGE
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM.
Regards
vijay
Similar Messages
-
APEX:How to put dynamic buttons in a Report.
Hello all,
I am creating one application in which i want two buttons in every record. I can't put it manually because it should change according to records in a table So Can anyone tell me how to put dynamic buttons in a report.
Thanks & Regards,
Jiten PansaraHi Jiten,
you cannot create buttons in the report, but you can always create link columns with some css class to show it as button.
So in the both link column report attributes you will have class="button1" and class="button2"
And in dynamic actions you need to bind the events based on your link column's jquery selector like:
.button1
.button2Thanks -
How to Display Heading for TREE Structure (report)
hi,
tell me how display the heading for the TREE Report.
With Regards,
Shakthi Raj N.Hi,
If you are using object oriented approach for developing the Tree report, then you can use below shown example for creating header for the report.
first create tree control
CREATE OBJECT TREE1
EXPORTING
PARENT = G_CONTAINER_OBJECT
NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
ITEM_SELECTION = ''
NO_HTML_HEADER = ''
NO_TOOLBAR = ''
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
ILLEGAL_NODE_SELECTION_MODE = 5
FAILED = 6
ILLEGAL_COLUMN_NAME = 7.
CLEAR GT_HEADER.
GT_HEADER-TYP = 'H'.
GT_HEADER-INFO = 'Output'.
APPEND GT_HEADER.
CLEAR GT_HEADER.
GT_HEADER-TYP = 'S'.
GT_HEADER-KEY = 'Display'.
GT_HEADER-INFO = 'Report'.
APPEND GT_HEADER.
then create empty tree-control
CALL METHOD TREE1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_HIERARCHY_HEADER = G_HIERARCHY_HEADER
I_BACKGROUND_ID = 'ALV_BACKGROUND'
IT_LIST_COMMENTARY = GT_HEADER[]
CHANGING
IT_OUTTAB = GT_SPFLI[] "empty table
IT_FIELDCATALOG = GT_FIELDCAT_LVC[].
In this way header can be given for Tree report.
Hope this answers your query.
Regards,
Brajvir -
How to get header in the ALV report
Hi
I want to print header in the ALV report.But i am not getting that.Plz see my program it is getting error and also not printing header.If there is any error means plz give me the solution.In this program there is an error.
REPORT ZREPORT_ALV .
TYPE-POOLS : slis.
tables:vbak,vbap.
DATA: report_id LIKE sy-repid.
DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
data: heading TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
events TYPE slis_t_event.
data: l_string type c.
data: ivariant(1) type c,
itvariant like disvariant,
w_variant like disvariant.
initialization.
REPORT_ID = SY-REPID.
PERFORM pgm. "F1000_LAYOUT_INIT. "using I_LAYOUT.
ivariant = 'A'.
*PERFORM init.
itvariant = w_variant.
select-options:so_vbeln for vbap-vbeln.
data:itab like vbak occurs 0 with header line.
data:itab1 like vbap occurs 0 with header line.
start-of-selection.
select * from vbak into table itab where vbeln in so_vbeln.
if not itab[] is initial.
select * from vbap into table itab1
for all entries in itab
where vbeln = itab-vbeln.
endif.
data:ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat1 TYPE slis_t_fieldcat_alv.
****For alv display
IF NOT itab1[] IS INITIAL.
DEFINE ls_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-outputlen = &2.
ls_fieldcat-seltext_l = &3.
ls_fieldcat-emphasize = &4.
append ls_fieldcat to lt_fieldcat1.
clear ls_fieldcat.
END-OF-DEFINITION.
ls_fieldcat 'VBELN' '10' 'Sales Order Number'.
ls_fieldcat 'POSNR' '6' 'SO Item'.
ls_fieldcat 'MATNR' '13' 'Material No'.
m_fieldcat1 'NETWR' '13' 'Amount'.
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 = ' '
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 = I_LAYOUT
IT_FIELDCAT = lt_fieldcat1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = ITVARIANT
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 = 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.
endif.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = ivariant
CHANGING
CS_VARIANT = itvariant
EXCEPTIONS
WRONG_INPUT = 1
NOT_FOUND = 2
PROGRAM_ERROR = 3
OTHERS = 4
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 pgm. "F1000_LAYOUT_INIT. "USING I_LAYOUT TYPE SLIS_LAYOUT_ALV.
CLEAR I_LAYOUT.
i_layout-colwidth_optimize = 'X'.
I_LAYOUT-key_hotspot = u2018Xu2019.
I_LAYOUT-hotspot_fieldname = MATNR.
ENDFORM.
*regarding logo and header,,,,
*first store the logo in T-code OAOR, then call that in your report.....
*data: heading TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
events TYPE slis_t_event.
To display TOP_OF_PAGE.
FORM top_of_page.
DATA : text(40),txtdt(40).
CLEAR l_string.
l_string = 'JCB India Limited'(hd2).
wa_header-typ = 'H'.
wa_header-info = l_string.
APPEND wa_header TO heading. " index 1.
CLEAR l_string.
WRITE :'Number of records:' TO text,'dbcnt' TO text+20 LEFT-JUSTIFIED.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO heading.
CLEAR l_string.
wa_header-typ = 'S'.
WRITE : 'Report Run Date :' TO txtdt,sy-datum TO txtdt+20 DD/MM/YY.
WRITE sy-datum TO dat DD/MM/YY.
wa_header-info = txtdt.
APPEND wa_header TO heading.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = heading.
CLEAR heading.
ENDFORM. "top_of_page
*to execute top-of-page you have to create events.
*for ex......
FORM create_event USING p_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_events.
READ TABLE p_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE formname_top_of_page TO ls_event-form.
APPEND ls_event TO p_events.
ENDIF.
ENDFORM. " create_eventHi,
Find below code for your question, you may get some idea,,
*& Report ZACTIONGRIDPRACTICE
REPORT ZACTIONGRIDPRACTICE.
*data declarations.....
TYPE-POOLS SLIS.
TABLES : T529T ,PA0000.
data : gd_repid type sy-repid.
DATA : LD_COLOR(10) TYPE N.
DATA : GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV.
Data: is_fieldcat TYPE slis_fieldcat_alv.
DATA : GD_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA : GD_DATUM TYPE DATUM.
DATA : BEGIN OF WA_TABLE,
MASSN TYPE T529T-MASSN,
MNTXT TYPE T529T-MNTXT,
userg type userg,
TOTAL TYPE I ,
begda type begda,
endda type endda,
april type i,
SLNO TYPE I,
LINE_COLOR(4) TYPE C,
END OF WA_TABLE,
IT_TABLE LIKE TABLE OF WA_TABLE.
data : april type i.
DATA : TEMP TYPE C.
data : LT_PA0000 TYPE TABLE OF PA0000,
LT_PA0000_T typE TABLE OF PA0000 with header line.
DATA : IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT LIKE LINE OF IT_FCAT.
DATA : IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS LIKE LINE OF IT_EVENTS.
wa_events-form = 'HEADER'.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
APPEND WA_EVENTS TO IT_EVENTS.
PERFORM HEADER.
DATA : SLNO TYPE I.
DATA : lv_output TYPE dats.
CALL FUNCTION 'ZHR_RE_BE_CALC_START_DATE'
EXPORTING
id_daberi = sy-datum
IMPORTING
ed_date_cor = lv_output.
select-options...
selection-screen BEGIN OF BLOCK B WITH FRAME TITLE TEXT-003.
select-options : s_date for sy-datum OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B.
lv_output = sy-datum - 27.
INITIALIZATION.
S_DATE-LOW = lv_output.
S_DATE-HIGH = SY-DATUM.
S_DATE-SIGN = 'I'.
S_DATE-OPTION = 'BT'.
APPEND s_date.
*AT SELECTION-SCREEN ON S_DATE.
*SELECT MASSN INTO TABLE IT_TABLE FROM PA0000 WHERE BEGDA IN S_DATE.
*SELECT STATEMENTS....
start-of-selection.
SELECT t529t~MASSN t529t~MNTXT INTO TABLE IT_table FROM T529T where SPRSL EQ 'E' and t529t~massn in ('10','13','16','20','28','30','45','01','03') .
DATUM IN S_DATE.
PERFORM LAYOUT.
loop at it_table into wa_table.
LD_COLOR = 2.
LD_COLOR = LD_COLOR + 1.
if LD_COLOR = 8.
LD_COLOR = 1.
endif.
concatenate 'C' '1' '11' into wa_table-LINE_COLOR . "='C410'.
modify it_table from wa_table.
endloop.
LOOP AT IT_TABLE INTO WA_TABLE." = 'C410'.
select massn from pa0000 into table lt_pa0000 where begda in s_date and massn = wa_table-massn.
*write : / sy-dbcnt. gt s_date-low and endda lt s_date-high
*DESCRIBE TABLE LT_PA0000_t LINES LV_LINES.
move sy-dbcnt to wa_table-total.
READ TABLE lt_pa0000 INTO LT_PA0000_T WITH KEY MASSN = wa_TABLE-MASSN BINARY SEARCH.
DESCRIBE TABLE LT_PA0000_t LINES LV_LINES.
MOVE LV_LINES to wa_TABLE-TOTAL.
MODIFY IT_TABLE FROM WA_TABLE.
MOVE SY-TABIX TO WA_TABLE-SLNO.
MODIFY IT_TABLE FROM WA_TABLE.
REFRESH : LT_PA0000_t.
CLEAR : LV_LINES.
ENDLOOP.
loop at it_table into wa_table.
SELECT MASSN FROM PA0000 INTO TABLE lt_pa0000 where begda between '01.02.2008' and '20.02.2008'.
MOVE SY-DBCNT TO WA_TABLE-APRIL.
MODIFY IT_TABLE FROM WA_TABLE.
*endloop.
*PERFORM STATEMENTS...
PERFORM FCAT USING '1' 'MASSN' 'ACTIONCODE'.
PERFORM FCAT USING '2' 'MNTXT' 'ACTION TYPE'.
PERFORM fcat USING '3' 'TOTAL' 'TOTAL'.
DEFINE m_fieldcat.
is_fieldcat-fieldname = &1.
is_fieldcat-hotspot = &2.
is_fieldcat-seltext_m = &3.
is_fieldcat-col_pos = &4.
is_fieldcat-outputlen = &5.
is_fieldcat-hotspot = &6.
append is_fieldcat to it_fcat.
clear is_fieldcat.
END-OF-DEFINITION.
m_fieldcat 'SLNO' '' Text-012 '1' '17' ''.
m_fieldcat 'MASSN' '' Text-010 '2' '40' ''.
m_fieldcat 'MNTXT' '' Text-009 '3' '50' '' .
m_fieldcat 'TOTAL' '' Text-011 '4' '10' 'X'.
m_fieldcat 'april' '' Text-013 '5' '10' 'X'.
*FOR DISPLAYING THE RECORDS...
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = gd_repid
IS_LAYOUT = GD_LAYOUT
I_CALLBACK_USER_COMMAND = ' '
I_GRID_TITLE = 'REPORT'
IS_LAYOUT = gd_LAYOUT
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = IT_TABLE.
**& Form FCAT
*FORM FCAT USING FP_COL_POS
FP_FIELDNAME
FP_SELTEXT_M.
WA_FCAT-COL_POS = FP_COL_POS.
WA_FCAT-FIELDNAME = FP_FIELDNAME.
wa_fcat-seltext_m = fp_seltext_m.
APPEND WA_FCAT TO IT_FCAT.
ENDFORM.
*& Form HEADER
text
--> p1 text
<-- p2 text
form header .
DATA : IT_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER LIKE LINE OF it_header.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'ACTION TYPE REPORT'.
APPEND WA_HEADER TO IT_HEADER.
wa_header-typ = 'S'.
wa_header-key = Text-022.
CONCATENATE s_date-low+6(2) '.'
s_date-low+4(2) '.'
s_date-low(4)
temp
'. TO .'
s_date-high+6(2) '.'
s_date-high+4(2) '.'
s_date-high(4)
INTO wa_header-info SEPARATED BY space.
APPEND wa_header TO it_header.
CLEAR wa_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_HEADER
I_LOGO = 'HRRU_51050061'.
*select single bstkd into CORRESPONDING FIELDS OF gt_vbkd
*from vbkd where vbeln = rt_outtab-vgbel
*and posnr = '000000'.
*rt_outtab-bstkd = gt_vbkd-bstkd.
ENDFORM. " HEADER
*& Form LAYOUT
text
--> p1 text
<-- p2 text
FORM LAYOUT .
GD_LAYOUT-NO_INPUT = ''.
gd_layout-colwidth_optimize = ''.
gd_layout-totals_text = 'TOTALS'(201).
gd_layout-info_fieldname = 'LINE_COLOR'.
ENDFORM. " LAYOUT -
How to put header and how to insert logo in this report
HI
I want a header and logo in this report.how to do this in ALV report.Also why we have to put the sy-repid.Plz tell me in this report where i have to do all this.Plz show me in detail.
REPORT ZREPORT_ALV .
TYPE-POOLS : slis.
tables:vbak,vbap.
*DATA: report_id LIKE sy-repid.
DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
data: ivariant(1) type c,
itvariant like disvariant,
w_variant like disvariant.
initialization.
*REPORT_ID = SY-REPID.
PERFORM F1000_LAYOUT_INIT. "using I_LAYOUT.
ivariant = 'A'.
itvariant = w_variant.
select-options:so_vbeln for vbap-vbeln.
data:itab like vbak occurs 0 with header line.
data:itab1 like vbap occurs 0 with header line.
start-of-selection.
select * from vbak into table itab where vbeln in so_vbeln.
if not itab[] is initial.
select * from vbap into table itab1
for all entries in itab
where vbeln = itab-vbeln.
endif.
data:ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat1 TYPE slis_t_fieldcat_alv.
****For alv display
IF NOT itab1[] IS INITIAL.
DEFINE ls_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-outputlen = &2.
ls_fieldcat-seltext_l = &3.
ls_fieldcat-emphasize = &4.
append ls_fieldcat to lt_fieldcat1.
clear ls_fieldcat.
END-OF-DEFINITION.
ls_fieldcat 'VBELN' '10' 'Sales Order Number'.
ls_fieldcat 'POSNR' '6' 'SO Item'.
ls_fieldcat 'MATNR' '13' 'Material No'.
m_fieldcat1 'NETWR' '13' 'Amount'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'wf_report'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = lt_fieldcat1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = ITVARIANT
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 = 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.
endif.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = ivariant
CHANGING
CS_VARIANT = itvariant
EXCEPTIONS
WRONG_INPUT = 1
NOT_FOUND = 2
PROGRAM_ERROR = 3
OTHERS = 4
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 F1000_LAYOUT_INIT. "USING I_LAYOUT TYPE SLIS_LAYOUT_ALV.
*CLEAR I_LAYOUT.
i_layout-colwidth_optimize = 'X'.
I_LAYOUT-key_hotspot = u2018Xu2019.
I_LAYOUT-hotspot_fieldname = MATNR.
ENDFORM.hi,,,,
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid >>>>>>>>>>>>> your report name.
regarding logo and header,,,,
first store the logo in T-code OAOR, then call that in your report.......
data: heading TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
events TYPE slis_t_event.
* To display TOP_OF_PAGE.
FORM top_of_page.
DATA : text(40),txtdt(40).
CLEAR l_string.
l_string = 'JCB India Limited'(hd2).
wa_header-typ = 'H'.
wa_header-info = l_string.
APPEND wa_header TO heading. " index 1.
CLEAR l_string.
WRITE :'Number of records:' TO text,dbcnt TO text+20 LEFT-JUSTIFIED.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO heading.
CLEAR l_string.
wa_header-typ = 'S'.
WRITE : 'Report Run Date :' TO txtdt,sy-datum TO txtdt+20 DD/MM/YY.
WRITE sy-datum TO dat DD/MM/YY.
wa_header-info = txtdt.
APPEND wa_header TO heading.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = heading.
CLEAR heading.
ENDFORM. "top_of_page
to execute top-of-page you have to create events.
for ex......
FORM create_event USING p_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_events.
READ TABLE p_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE formname_top_of_page TO ls_event-form.
APPEND ls_event TO p_events.
ENDIF.
ENDFORM. " create_event -
How to put header in a report?
hi,
I am working on a cash flow report. In this, in the selection screen, I am giving selection fields as Profit Center and Period ( MM/YYYY) format.
now, while displaying the report I want that the period which has been selected in the selection field, should get displayed column wise.
For eg.
If the period selected is: June'2005 To August'2005.
then, it should get displayed as:
June'2005 Jul'2005 August'2005.
So, is there any function module which can be used for displaying it in the report in the above mentioned manner.
IF you want any other detail about the report. Just let me know.
Regards,
RaviYou can do this with a little creativity and a dynamic internal table. Here is a sample program which uses a select-option for date instead of month/year. But it can be done the same with month/year. Also the formatting of the headings and data will need to be manipulated a little.
report zrich_0003
no standard page heading.
type-pools: slis.
field-symbols: <dyn_table> type standard table,
<dyn_wa>,
<dyn_field>.
data: begin of it_datum occurs 0,
datum type sy-datum,
end of it_datum.
data: fieldlist type table of rstrucinfo with header line.
selection-screen begin of block b1 with frame title text-001.
select-options: s_datum for sy-datum.
selection-screen end of block b1.
initialization.
s_datum-sign = 'I'.
s_datum-option = 'BT'.
s_datum-low = sy-datum.
s_datum-high = sy-datum + 7.
append s_datum.
start-of-selection.
perform build_dyn_itab.
perform build_report.
* Write headings
loop at it_datum.
write: it_datum-datum.
endloop.
* Write out data from table.
loop at <dyn_table> into <dyn_wa>.
do.
assign component sy-index of structure <dyn_wa> to <dyn_field>.
if sy-subrc <> 0.
exit.
endif.
if sy-index = 1.
write:/ <dyn_field>.
else.
write: <dyn_field>.
endif.
enddo.
endloop.
* Build_dyn_itab
form build_dyn_itab.
data: index(3) type c.
data: it_fldcat type lvc_t_fcat,
wa_fldcat type lvc_s_fcat.
data: new_table type ref to data,
new_line type ref to data.
do.
clear wa_fldcat.
wa_fldcat-datatype = 'QUAN'.
wa_fldcat-intlen = '10'.
wa_fldcat-fieldname = s_datum-low.
append wa_fldcat to it_fldcat.
it_datum-datum = s_datum-low.
append it_datum.
if s_datum-low = s_datum-high.
exit.
endif.
s_datum-low = s_datum-low + 1.
enddo.
* Create dynamic internal table and assign to FS
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = it_fldcat
importing
ep_table = new_table.
assign new_table->* to <dyn_table>.
* Create dynamic work area and assign to FS
create data new_line like line of <dyn_table>.
assign new_line->* to <dyn_wa>.
endform. "build_dyn_itab
* Form build_report
form build_report.
data: fieldname(20) type c.
data: fieldvalue type i value '10'.
data: index(3) type c.
field-symbols: <fs1>.
* Put data into the tabl
loop at it_datum.
do.
assign component sy-index of structure <dyn_wa> to <fs1>.
if sy-subrc <> 0.
exit.
endif.
<fs1> = fieldvalue.
fieldvalue = fieldvalue + 10.
enddo.
* Append to the dynamic internal table
append <dyn_wa> to <dyn_table>.
endloop.
endform. "build_report
REgards,
Rich Heilman -
How to put Company logo in the report?
Hi,
How am i going to include the company logo or a image file into my report?
What is the best tools?
I have try to use the "Link File" tool and it required me to specify the "Source Filename". So if I put the file path and filename in the "Source Filename", it's hardcoded...
How to specify the "Source Filename" at run time or any otherway so that it won't hardcoded?
Regards,
CheongNote that you can also use the read from file functionality.
If you have a character based column, then any layout field based on this column will have the Read From File property. If this is set to Yes, then reports will attempt to use the value of the column to read a file from the file system. You can also specify the type of the file (image, text, or even an image URL to read an image from over the web).
For example, if you have a column in the data model that returns a value ("c:\temp\mypicture.bmp"), and you set the Read From File property to Yes, and the File Format to be Image then at runtime, reports would look for c:\temp\myimage.bmp and return the value. And of course, since you can create a formula column in the data model then you can control the returned value as much as you like.
Hope this helps,
Danny -
How To Create Header in ALV List Report
Hi All,
I want to create a Header for <b>MY ALV List Report</b>!
How can i achieve the same. It should come above <b>ALV</b>.
ALV report i had already written and it is coming correctly.
Heading should look like this:
<i>1st Line</i>
<b>PROGRAM NAME: XXXXXX CLIENT: XXXXXXXXXX PAGE:XX</b>
<i>2nd Line</i>
<b>RUN DATE/TIME: XXXXX - XXXX REPORT NAME/HEADER</b>
How can i acheive the same in <b>ALV List Report</b>!
I am amking use of <b>REUSE_ALV_LIST_DISPLAY</b> Function module.
Thanks in advance.
Thanks & Regards,
Prasad.Hi Prasad,
Use the sample code specified below as the guideline. For more info. refer to the documentation of the FM 'REUSE_ALV_COMMENTARY_WRITE'.
DATA: first(01) type c,
events type slis_t_event,
gt_list_top_of_page type slis_t_listheader,
ls_event type slis_alv_event.
initialization.
call function 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = events
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
read table events with key name = 'TOP_OF_PAGE'
into ls_event.
if sy-subrc = 0.
move: 'TOP_OF_PAGE' to ls_event-form.
append ls_event to events.
clear ls_event.
endif.
End of additions
Start-of-selection
START-OF-SELECTION.
Top-of-page
TOP-OF-PAGE.
PERFORM TOP_OF_PAGE.
FORM TOP_OF_PAGE .
data: ls_line type slis_listheader.
if first is initial.
ls_line-typ = 'S'.
ls_line-key = 'Run Date :'.
write: sy-datum to ls_line-key+10 mm/dd/yyyy.
ls_line-info = 'Billing Date:'.
write: s_fkdat-low to ls_line-info+15 mm/dd/yyyy.
ls_line-info+28 = 'To'.
write s_fkdat-high to ls_line-info+32 mm/dd/yyyy.
append ls_line to gt_list_top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = gt_list_top_of_page.
first = 'N'.
else.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = gt_list_top_of_page.
endif.
ENDFORM. " top_of_page
<b>Please mark helpful answer.</b>
Regards,
Amit Mishra -
How to put 2 queries in 1 report?
Hi,
I need to write 2 separate query for my report, how can i put these 2 query in 1 report?
Thanks,
JunHi Jun
Create two (or any number) of queries in the Data Model.
Click on Query icon on the tool palette and drag a box on Data Model Canvas and specify your query in the ensuing dialog box. Repeat this for the number of queries you want to add to your report.
Regards
Sripathy -
How to put pdf file on crystal reports.
Hi all,
I'd like to put pdf file which is the attachment of Item master on crystal reports.
I tried OITM.attachment but it only shows the location where the file is, not file itself.
Thanks in advance.Hi you can add it as a hyperlink (just remember: all the attachments are in this one line, so you need to separe it by ";")
or you can simply use the insert>OLE object>Adobe ...
Be vary it has some limitations.
I think this is what you are looking for
Regards,
D -
How to put header and footer information in excel chart
I modified the create chart.vi, I got from this site and able to create a chart from *.xls file. Now I want to print the filename as header and date and time the chart created as footer in the excel chart. Any idea is appreciated.
Thank you
MM
Attachments:
Create_Rundown_Chart.vi 246 KB
SN20755-Horiz_1-031027-160128-rundowndata.xls 15 KBUnder the property node _Chart where you have the ChartTitle, add the property PageSetup. Cascade that into another property node and choose CenterHeader and CenterFooter. You can write the strings directly into these properties. Use the following codes:
Filename = &F, Date = &D, Time = &T
Be sure to close all references that do not leave the page (ie. Chart, Legend, ChartArea, etc.). Otherwise Excel will hang later on.
Michael Munroe
www.abcdefirm.com
Michael Munroe, ABCDEF
Certified LabVIEW Developer, MCP
Find and fix bad VI Properties with Property Inspector -
How to put header text in a PO programatically.
Hi everybody ,
Is there anyway in which I can update Header Text in PO using BAPI_PO_CHANGE or some other function module.
Thanks in advance for your help .
Regards
SaurabhI think I have found out !!
Regards
Saurabh -
I want to put header while stroing file in application server
Hi Guru,
Can anybody tell how to put header while stroing file in application server.
in the below pgm data is coming i want to put heading .if we see in al11 transaction the header should come .plese give on eg in the code itself.its urgent
eg:
material number
100
200
declarations...................................................
tables: bkpf. " Accounting Document Header
*"Selection screen elements............................................
parameters:
p_burks like bkpf-bukrs. " Company Code
select-options:
s_gjahr for bkpf-gjahr. " Fiscal year
Type declaration of the structure to hold Accounting Document Header*
data:
begin of fs_bkpf,
bukrs type bkpf-bukrs, " Company Code
belnr type bkpf-belnr, " Accounting Document Number
gjahr type bkpf-gjahr, " Fiscal year
blart type bkpf-blart, " Document type
bldat type bkpf-bldat, " Document date in document
end of fs_bkpf.
Internal table to hold Accounting Document Header *
data:
t_bkpf like standard table
of fs_bkpf.
Type declaration of the structure to hold file data *
data:
begin of fs_table,
str type string,
end of fs_table.
Internal table to hold file data *
data:
t_table like standard table
of fs_table.
field-symbols: <fs>.
*" Data declarations...................................................
Work variables *
data:
w_char(50) type c,
w_file_name(50) type c value 'YH645_050103'.
select bukrs " Company Code
belnr " Accounting Document Number
gjahr " Fiscal year
blart " Document type
bldat " Document date in document
from bkpf
into table t_bkpf
where bukrs eq p_burks
and gjahr in s_gjahr.
if sy-subrc eq 0.
loop at t_bkpf into fs_bkpf.
do.
assign component sy-index of structure fs_bkpf to <fs>.
if sy-subrc ne 0.
exit.
else.
move <fs> to w_char.
if sy-index eq 1.
fs_table-str = <fs>.
else.
concatenate fs_table-str ',' w_char into fs_table-str.
endif. " IF SY-INDEX...
endif. " IF SY-SUBRC...
enddo. " DO...
append fs_table to t_table.
endloop. " LOOP AT T_KNA1...
endif. " IF SY-SUBRC...
open dataset w_file_name for output in text mode encoding default.
loop at t_table into fs_table.
transfer fs_table-str to w_file_name.
endloop. " LOOP AT T_TABLE...Hi,
may i know what kind of heading you want to display?
like date, filename, time etc
then modify the below code:
*& Form send_statistic
Create the status Report on application Server
---> pv_rlines - Total No of Records in Internal table *
---> pv_slines - Total No of Successful records *
---> pv_elines - Total No of Errornous records *
---> pv_path - File Path where the file to be created *
---> pv_flag - Flag to check for A/c group *
FORM sub_send_statistic USING pv_rlines TYPE int4
pv_slines TYPE int4
pv_elines TYPE int4
pv_path TYPE salfile-longname
pv_name TYPE rlgrap-filename
pv_flag TYPE char1.
CLEAR : i_tab,
wa_tab.
Convert date to MM/DD/YYYY format
PERFORM date_convert.
Convert Time to HH:MM:SS format
CONCATENATE sy-uzeit+0(2)
c_colon
sy-uzeit+2(2)
c_colon
sy-uzeit+4(2)
INTO v_time1.
Build the Output File name
IF p_sold = c_x
AND pv_flag = c_x.
CONCATENATE c_objid
c_us
c_z001
c_us
sy-datum
c_us
sy-uzeit
INTO v_file.
ENDIF. " IF p_sold = c_x
IF p_cons = c_x.
CONCATENATE c_objid
c_us
c_z008
c_us
sy-datum
c_us
sy-uzeit
INTO v_file.
ELSEIF p_sold = c_x
AND pv_flag <> c_x.
CONCATENATE c_objid
c_us
sy-datum
c_us
sy-uzeit
INTO v_file.
ENDIF. " IF p_cons = c_x
Build the Complete Output File Path
CONCATENATE pv_path
c_slash
v_file
INTO v_outfile.
Populate the data required for output into an internal table and
then transfer the table contents to file on application server
DATA UPLOAD STATISTICS
wa_tab-rec = text-001.
APPEND wa_tab TO i_tab.
CLEAR wa_tab.
TITLE
IF p_sold = c_x
AND pv_flag <> c_x.
sy-title = text-t17.
ENDIF. " IF p_sold = c_x
IF p_sold = c_x
AND pv_flag = c_x.
sy-title = text-t16.
ENDIF. " IF p_sold = c_x
IF p_cons = c_x
AND pv_flag = c_x.
sy-title = text-t19.
ENDIF. " IF p_cons = c_x
wa_tab-rec+0(7) = text-002.
wa_tab-rec+7(60) = sy-title.
APPEND wa_tab TO i_tab.
CLEAR wa_tab.
Date & Time
wa_tab-rec+0(5) = text-012.
CONDENSE v_date NO-GAPS.
wa_tab-rec+6(10) = v_date.
wa_tab-rec+60(10) = text-003.
wa_tab-rec+70(15) = v_time1.
APPEND wa_tab TO i_tab.
CLEAR wa_tab.
Folder Name
wa_tab-rec+0(18) = text-005.
wa_tab-rec+19(72) = pv_path.
APPEND wa_tab TO i_tab.
CLEAR wa_tab.
File Name
wa_tab-rec+0(18) = text-006.
---Begin of addition -Shivakumar - 09-05-2007--
wa_tab-rec+19(72) = pv_name.
---Begin of addition -Shivakumar - 09-05-2007--
APPEND wa_tab TO i_tab.
CLEAR wa_tab.
Records Read
CLEAR v_count.
v_data = pv_rlines.
v_count = STRLEN( v_data ).
CONDENSE v_data NO-GAPS.
wa_tab-rec+0(46) = text-007.
wa_tab-rec+47(4) = v_data.
APPEND wa_tab TO i_tab.
CLEAR : wa_tab,
v_data.
Successfull Records
CLEAR v_count.
v_data = pv_slines.
v_count = STRLEN( v_data ).
CONDENSE v_data NO-GAPS.
wa_tab-rec+0(46) = text-008.
wa_tab-rec+47(4) = v_data.
APPEND wa_tab TO i_tab.
CLEAR : wa_tab,
v_data.
Error Records
CLEAR v_count.
v_data = pv_elines.
v_count = STRLEN( v_data ).
CONDENSE v_data NO-GAPS.
wa_tab-rec+0(46) = text-009.
wa_tab-rec+47(4) = v_data.
APPEND wa_tab TO i_tab.
CLEAR : wa_tab,
v_data.
v_mesg = text-t04.
IF p_sold = c_x
AND pv_flag <> c_x.
MOVE i_tab TO i_file.
ENDIF. " IF p_sold = c_x
IF p_sold = c_x
AND pv_flag = c_x.
MOVE i_tab TO i_file1.
ENDIF. " IF p_sold = c_x
IF NOT i_tab IS INITIAL.
Open the file on Application server to write the report
OPEN DATASET v_outfile
FOR OUTPUT IN TEXT MODE
ENCODING DEFAULT MESSAGE v_mesg.
IF sy-subrc <> 0.
MESSAGE e000(zconversions) WITH v_mesg.
ELSE. " IF sy-subrc <> 0
Transfer details to the file on application server
CLEAR wa_tab.
LOOP AT i_tab INTO wa_tab.
TRANSFER wa_tab-rec TO v_outfile.
CLEAR wa_tab.
ENDLOOP. " LOOP AT i_tab INTO wa_tab
Close the file
CLOSE DATASET v_outfile.
ENDIF. " IF sy-subrc <> 0
ENDIF. " IF NOT i_tab IS INITIAL
ENDFORM. " Create_Report -
How to put a few pages together as a panel group in the same screen ?
Dear Friends,
Hello. I am developing the accounting application of Journal Entry module. I have developed 5 pages for a journal entry: Journal header, Journal Line, Journal total, Journal Error and Journal Approval. I want to put 5 pages together as a panel group in the same screen so that users are convenient to use them. The format is as follows:
Header | Lines | Total | Error | Approval
When a user click on Header or Lines or Total or Error or Approval, its related page is displayed below it on the screen. But I don't understand how to put "Header", "Lines", "Total", "Error" and "Approval" together as above format and link them to its related page. Can anybody tell me how to do that ? Thanks.
LucyMike,
It's correct to make 5 pages as a seperate component.
I am developing an accounting system using PeopleTools by myself.
Because you understand PeopleSoft financial application, please tell me the 2 questions as follows:
First, In Journal Line page, when select "edit Journal" and click button "process", the system check the Journal against Budget, if it's Ok, the System assign Journal ID for the Journal and put "valid" into the field of "Budget Status" and "Journal Status" in Total page. If it's not OK, the system send error message into Error page. Do you know how developer do that ?
Second, In Journal Line Page, when select "Submit Journal" and click button "process", the system send the Journal to Approval page for approval. Do you know how developer do that ?
Lucy -
How i use header fields in soap adapter
Hi Experts,
I need use header fields http in soap adapter receiver but i don't know where's the Variable Header
Do you know where i find this?
Somebody know how i put header fields http in soap adapter receiver?
Thanks for all,It is similar like in this blog:
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
Find in the online help the values for the SOAP adapter.
You can only add additional fields, you cannot influence the standard field like content-type and content-id.
Regards
Stefan
Maybe you are looking for
-
How set up officejet 4635 to my ipad
How to set up my ipad to my officejet 4635
-
Need to improve performance for bex queries
Dear Experts, Here we have bex queries buit on BW infoset, further infoset is buit on 2 dsos and 4 infoobjects. we have built secondary indices to the two dso assuming will improve performance, but still query execution time is very long. Could you s
-
Cannot send mail to work address
i cannot send mail to my work e-mail account. error message is that the address does not appear to be a valid address. my g5 did not have a problem but this new pro does. any suggestions?
-
Datasource creation failing for planning
Hi, for creating a planning application, I first need to create one data source. but when i tried to create data source from workspace, I am getting an error 'The Essbase Conneciton failed' when i gave my essbase server and login details. Essabse is
-
The "Recommended for You" option doesn't seem to be available for me on the new Running feature. I only have Running Originals and Running Playlists with different genres. How do I get this?