BLOCK LIST DISPLAY IN ALV
Moderator message: Please do not use ALL CAPITALS in your message subjects
I am facing a peculiar situation with respect to a report with 2 block lists.
STEP 1:
I first use REUSE_ALV_BLOCK_LIST_INIT with EXPORTING parameter as
i_callback_program = SY-REPID.
This works fine with return code of sy-subrc = 0.
STEP 2:
I build the field catalog and internal table - in debug I also check the sequence of fields of both the internal tables and field calatogs - perfect - no issues.
Then I call REUSE_ALV_BLOCK_LIST_APPEND with exporting parameters as layout, field catalog, table name & event and tables parameter as internal table and exception handling, I repeat this call for the two internal tables.
This works fine with return code of sy-subrc = 0
STEP 3:
I use REUSE_ALV_BLOCK_LIST_DISPLAY to display the two lists one after the other, and I have coded for error message if sy-subrc is non zero.
This works fine with return code of sy-subrc = 0
ISSUE :
Internal table 1 and internal table 2 both have say 4 records, then I see the two lists with heading(s) perfec and col width also optimized and zebra (alternate steipes also in place), and 4 rows for each internal table on output, however the rows are BLANK - NO DATA, whereas I have checked both internal tables before the call and they seem to have the data perfectly and in the same sequence as the field catalog - however the rows are BLANK.
I checked in debugging but was just not able to find out why if the internal tables and field catalog is perfect, no data is passed to output.
Please help !!
Edited by: M N on Nov 14, 2008 5:22 AM
Edited by: Matt on Nov 14, 2008 10:23 AM
*& Report Y_ALV_BLOCKLIST_
REPORT Y_ALV_BLOCKLIST_16131.
TYPE-POOLS : SLIS.
DATA: X_LAYOUT TYPE SLIS_LAYOUT_ALV.
Events
DATA: GT_XEVENTS TYPE SLIS_T_EVENT.
DATA: GT_YEVENTS TYPE SLIS_T_EVENT.
data : XS_EVENT TYPE SLIS_ALV_EVENT.
DATA: XFIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: YFIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: AFIELD TYPE SLIS_FIELDCAT_ALV.
DATA: GT_PRINT TYPE SLIS_PRINT_ALV.
TYPES : BEGIN OF TY_MARA ,
MATNR TYPE MATNR,
MTART TYPE MTART,
END OF TY_MARA.
TYPES: BEGIN OF TY_MAKT ,
MATNR TYPE MATNR,
MAKTX TYPE MAKTX,
END OF TY_MAKT.
DATA : ITAB TYPE TABLE OF TY_MARA,
PTAB TYPE TABLE OF TY_MAKT.
START-OF-SELECTION.
SELECT DATA
SELECT MATNR MAKTX FROM MAKT INTO TABLE PTAB UP TO 10 ROWS.
SELECT MATNR MTART FROM MARA INTO TABLE ITAB UP TO 10 ROWS.
*eVENT FOR Heading
PERFORM F_EVENTS.
FIELD CATALOG
PERFORM F_FIELDCAT.
INIT BLOCK ALV
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID.
ADD INTERNAL TABLE ITAB
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = X_LAYOUT
IT_FIELDCAT = XFIELD "ALVFC
I_TABNAME = 'ITAB'
IT_EVENTS = GT_XEVENTS
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3.
ADD INTERNAL TABLE PTAB
REFRESH ALVFC[].
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = X_LAYOUT
IT_FIELDCAT = YFIELD "ALVFC
I_TABNAME = 'PTAB'
IT_EVENTS = GT_YEVENTS
TABLES
T_OUTTAB = PTAB
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3.
DISPLAY
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*GT_PRINT-RESERVE_LINES = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
IS_PRINT = GT_PRINT.
*& Form F_FIELDCAT
text
--> p1 text
<-- p2 text
FORM F_FIELDCAT .
DATA: L_COUNT TYPE I.
CLEAR AFIELD.
L_COUNT = L_COUNT + 1.
AFIELD-COL_POS = L_COUNT.
AFIELD-FIELDNAME = 'MATNR'.
AFIELD-REF_TABNAME = 'MARA'.
AFIELD-KEY = 'X'. "define field as key
AFIELD-DO_SUM = 'X'.
APPEND AFIELD TO XFIELD.
CLEAR AFIELD.
L_COUNT = L_COUNT + 1.
AFIELD-COL_POS = L_COUNT.
AFIELD-FIELDNAME = 'MTART'.
AFIELD-REF_TABNAME = 'MARA'.
AFIELD-KEY = 'X'. "define field as key
APPEND AFIELD TO XFIELD.
L_COUNT = 0.
CLEAR AFIELD.
L_COUNT = L_COUNT + 1.
AFIELD-COL_POS = L_COUNT.
AFIELD-FIELDNAME = 'MATNR'.
AFIELD-REF_TABNAME = 'MAKT'.
AFIELD-KEY = 'X'. "define field as key
APPEND AFIELD TO YFIELD.
CLEAR AFIELD.
L_COUNT = L_COUNT + 1.
AFIELD-COL_POS = L_COUNT.
AFIELD-FIELDNAME = 'MAKTX'.
AFIELD-REF_TABNAME = 'MAKT'.
AFIELD-KEY = 'X'. "define field as key
APPEND AFIELD TO YFIELD.
ENDFORM. " F_FIELDCAT
*& Form F_EVENTS
text
--> p1 text
<-- p2 text
FORM F_EVENTS .
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'TOP1'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'TOP2'.
APPEND XS_EVENT TO GT_YEVENTS.
ENDFORM. " F_EVENTS
FORM TOP1.
WRITE : 'MARA TABLE'.
ENDFORM.
FORM TOP2.
WRITE : 'MAKT TABLE'.
ENDFORM.
Similar Messages
-
Displaying Average of Columns in ALV Blocked List Display
Hi,
I am using ALV Blocked List Display. For the 1st block, I need to display the average of certain columns.
I am using the following code in the field catalog of the RATE column to display the average , but it is not displayed.
wa_disptab_field-col_pos = 8.
wa_disptab_field-fieldname = 'RATE''.
wa_disptab_field-ref_tabname = 'IT_DISPTAB'.
wa_disptab_field-seltext_m = 'RS PER KL'.
wa_disptab_field-do_sum = 'C'.
wa_disptab_field-datatype = 'QUAN'.
append wa_disptab_field to it_disptab_field.
clear wa_disptab_field.
For the same column, the sum is displayed with the same code if I change this part:
wa_disptab_field-do_sum = 'C'. To wa_disptab_field-do_sum = 'X'.
Please Help..Hi Debarati,
go For function/pattern [reuse_alv_grid_display_lvc]
do the following as mentioned in the previous reply's.
And To find the Average of your requirement, pass the field names as per the requirement.
gs_sort-fieldname = 'RATE'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
gs_sort-fieldname = 'RATE1'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
gs_sort-fieldname = 'RATE2'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
gs_sort-fieldname = 'RATE3'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
CALL FUNCTION ' REUSE_ALV_GRID_DISPLAY_lvc'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
is_layout = gs_layout
it_fieldcat = wa_disptab
it_events = gt_events
it_sort = gt_sort
i_default = 'X'
i_save = 'U'
TABLES
t_outtab = gt_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.
i think this will workout.
Thanks & Regards,
Abhisek
Edited by: Abhisek Pradhan on Sep 29, 2011 7:55 PM -
Hierarchial and blocked list displays
Hi friends,
when do we opt for hierachial list display and when do we opt for blocked list display?Hi Suresh,
Blocked ALV displays the data in blocks together in output. e.g. suppose you want to dsplay the data of header & item level. Then you candisplay the data of header records in first block & Item level data in another block on same output screen.
For hierarchical ALV check the below link
http://help.sap.com/saphelp_nw2004s/helpdata/en/6e/4e2941fa918739e10000000a1550b0/frameset.htm
& check this link also:
A new approach to ALV Programming
Hope this will help.
Regards,
Nitin. -
IW69 from List Display to ALV Gird Display
Hi All
Transaction IW69 is working as List display for other users and ALV gird for my user. I would like to change from list display to ALV gird for other users too. How could i do this.
Kindly help me.
ThanksI am seeing ony Line1 Line2 Line3 tabs in the path Settings->Layout->Current for other users but the option you specified is there for my user.
thanks -
Issue with Secondary list display in ALV BLocked List
Hi all,
I am using ALV Blocked List consissting of 3 blocks.
For my requirement, in the 1st block, I need to make a colum clickable, for which I have used the User_Command Event.
But this is not working. The second list is not gettin displayed.
Here'z my code:
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = v_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_EXCLUDING =
REFRESH: it_events[].
wa_events-name = slis_ev_top_of_list.
wa_events-form = 'FIRST_HEADING'.
APPEND wa_events TO it_events.
wa_events-name = slis_ev_user_command.
wa_events-form = 'USER_COMMAND'.
APPEND wa_events TO it_events.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = v_layout
it_fieldcat = it_disptab_field[]
i_tabname = 'DISPTAB'
it_events = it_events[] " Call 1st BLOCK TO BE APPENDED For SALES ANALYSIS
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = it_disptab
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE it_disptab INTO w_disptab INDEX rs_selfield-tabindex.
IF rs_selfield-fieldname = 'KUNAG'.
WRITE:/1 'invoice',
10 'Quantity in Base Unit',
20 'Base Unit',
30 'Qty in KL',
40 'Price'.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
Please Help..Hi Ganesh,
Thanks for your reply. I have already used hotspot on the fieldcat of the clickable field. But it seems that except for the hand cursor appearing only on that field, the other columns are also clickable.
Moreover, only the fiirst block should be clickable but all the blocks are applying the user_command.
This might be due to the REUSE_ALV_BLOCK_LIST_INIT Function Module, which applies to all the blocks.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = v_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND'
IT_EXCLUDING =
In orser to avoid this, I am using the following code, which can be a temporary solution to the problem.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: row_count TYPE sy-lilli.
CASE r_ucomm.
WHEN '&IC1'.
DESCRIBE TABLE it_disptab LINES row_count.
READ TABLE it_disptab INTO w_disptab INDEX rs_selfield-tabindex.
IF rs_selfield-tabindex LE row_count AND rs_selfield-tabindex ne 0 AND rs_selfield-tabname = 'DISPTAB'.
PERFORM get_data.
PERFORM build_fieldcat.
PERFORM display_second_list.
ELSE.
EXIT.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND -
Hi all,
can i know in which type of scenarios BLOCK LISTS IN ALV are used.raju,
2. BLOCK REPORT
This is used to have multiple lists continuously.
The important functions used in this report are:
A. REUSE_ALV_BLOCK_LIST_INIT
B. REUSE_ALV_BLOCK_LIST_APPEND
C. REUSE_ALV_BLOCK_LIST_HS_APPEND
D. REUSE_ALV_BLOCK_LIST_DISPLAY
A. REUSE_ALV_BLOCK_LIST_INIT
Parameters:
I. I_CALLBACK_PROGRAM
II. I_CALLBACK_PF_STATUS_SET
III. I_CALLBACK_USER_COMMAND
This function module is used to set the default gui status etc.
B. REUSE_ALV_BLOCK_LIST_APPEND
Parameters :
Export :
I. is_layout : layout settings for block
II. it_fieldcat : field catalog
III. i_tabname : internal table name with output data
IV. it_events : internal table with all possible events
Tables :
i. t_outtab : internal table with output data.
This function module adds the data to the block.
Repeat this function for all the different blocks to be displayed one after the other.
C. REUSE_ALV_BLOCK_LIST_HS_APPEND
This function module is used for hierarchical sequential blocks.
D. REUSE_ALV_BLOCK_LIST_DISPLAY
Parameters : All the parameters are optional.
This function module display the list with data appended by the above function.
Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
Pls. Mark if useful -
hi all,
in my object i have displayed the output using alv block list ... when i print that one i am geting each block in seperate page ... but i need to print all in a single page ... please help me out in solving this
thanks in advance
lokeshHi Lokesh,
Refer the sample code:
CLEAR w_event.
w_event-name = slis_ev_top_of_page.
w_event-form = 'TOP_OF_PAGE'.
APPEND w_event TO i_events1.
CLEAR w_event.
w_event-name = slis_ev_top_of_page.
w_event-form = 'XTOP_OF_PAGE'.
APPEND w_event TO i_events2.
DATA: lv_repid LIKE sy-repid.
lv_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = lv_repid
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'PF_STATUS'.
*-- Vendor Schedule List
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
it_fieldcat = i_field_cat1
is_layout = w_lay_out1
i_tabname = '<I_TABLE>'
it_events = i_events1
TABLES
t_outtab = <i_table>.
*-- Error Lsit display
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
it_fieldcat = i_field_cat2
is_layout = w_lay_out2
i_tabname = 'I_ERROR'
it_events = i_events2
TABLES
t_outtab = i_error[].
w_print-reserve_lines = 2.
w_print-no_print_listinfos = c_x.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
is_print = w_print.
ENDFORM. " f0504_create_list
Reward points if this Helps.
Manish -
Block list display when report is executed in background?
Hello all,
when i execute the report program in foreground ,output is displayed as block list with two blocks say success table and failure table.
when i execute the same report program in background, i could see only a single block which is success table. Why is this?
Thanks,
Sindhu.Did you check all the pages in spool? If the report has a output which runs multiple pages, then spool might not display everything unless you change the setting to display more than certain pages. Kindly check the same.
-
Top-of-page for list display thru ALV
Hi All,
I was suppose to write a detail report thru ALV, this I have handled thru hotspot and in the user_command,I am have the below code.. for ALv I am using FM REUSE_ALV_GRID_DISPLAY
FORM User_command.
WHEN '&IC1'.
PERFORM LIST_DISPLAY using RS_SELFIELD-tabindex.
ENDFORM.
FORM LIST_DISPLAY USING P_INDEX.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 500.
SET PF-STATUS space.
SUPPRESS DIALOG.
Read table g_t_sum index p_index.
loop at g_t_emp where code = g_t_sum-code and
keyfld = g_t_sum-keyfld
write :/ g_t_emp-pernr, 10(25) g_t_emp-sname.
endloop.
ENDFORM.
The above write statment is not trigerring either top-of-page ot top-od-page during line-selection.
I have even tried pushing the event and form name into it it_events..
Kindly suggest how to go about this, I need to get top-of-page for this list-display.
Thanks in advance
Regards,
Mangalagi S VHi All,
Thanks for all your replies.
I am not looking at top_of_page for GRID, it's working for me but I need top_of_page for the list display that is for the list which I am generating when the users double click it particular row.
By default I am getting the below header automatically.
Dynamic data selection 1
Though I have coded the header in top-of-page during line selection since I am writing the list under USER_COMMAND, I thought I will get the header but it's not..
The FM is attached below..
Ausgaberoutine mit FB REUSE_ALV_GRID_DISPLAY
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_f_repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = g_r_layout
it_fieldcat = g_t_fcat
i_save = 'A'
is_variant = s_variant "70492INF0039
is_variant = g_f_variant "70492INF0039
is_events = it_events[]
TABLES
t_outtab = g_t_sum.
FORM USER_COMMAND *
Callbackroutine: Ausgabe Fehlerliste XDGL9CK069538 *
FORM USER_COMMAND USING R_UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
case r_ucomm.
when 'OK'.
WHEN '&IC1'.
PERFORM LIST_DISPLAY using RS_SELFIELD-tabindex.
endcase.
ENDFORM.
Kindly suggest
Thanks in advance.
Regards,
Mangalagi S V -
List Display After ALV Display.
Hi,
i want to use write statement after display of the GRID ALV report. I User-command is getting dynamically called up when i presses the button.
FORM user_command USING p_ucomm LIKE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN '&GENERAL'.
READ TABLE i_general INTO wa_general INDEX p_selfield-tabindex.
IF sy-subrc = 0.
LEAVE TO LIST-PROCESSING.
WRITE : sy-uline(90).
write: / 'Serial: ', wa_general-serial.
ENDIF.
ENDFORM.
the problem is i m not able to use back button in the dynamic list display. Use pf-status as well but not working. Pressing BACK button does nothing.
Want to activate print and back button in the dynamic list display. (used pf-status which has back and print fucntion code but not working.)
Reward points sure for right answers.
KartavyaHi..
Try this.....
FORM user_command USING p_ucomm LIKE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN '&GENERAL'.
READ TABLE i_general INTO wa_general INDEX p_selfield-tabindex.
IF sy-subrc = 0.
<b>SET PF-STATUS SPACE.</b> "this will call the Standard GUI
LEAVE TO LIST-PROCESSING.
WRITE : sy-uline(90).
write: / 'Serial: ', wa_general-serial.
ENDIF.
ENDFORM.
<b>Reward if Helpful.</b> -
List display for ALV using class and methods
Hi friends
I want the list display for the ALV using Class and methods
which class and methods i can use.
Here we can't use the REUSE_ALV_LIST_DISPLAY and also GRID
I was done GRID display using class and methods but i want only list display for using class.
plz Give me sample code of list display not for grid.
Thanks
Nani.hi
please check with this code...
declare grid and container.
DATA : o_alvgrid TYPE REF TO cl_gui_alv_grid,
o_dockingcontainer TYPE REF TO cl_gui_docking_container,
i_fieldcat TYPE lvc_t_fcat,"fieldcatalogue
w_layout TYPE lvc_s_layo."layout
If any events like double click,etc., are needed we have to add additional functionality.
call the screen in program.
Then , create the container as follows
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
CREATE OBJECT o_dockingcontainer
EXPORTING
ratio = '95'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6.
ENDIF.
CREATE OBJECT o_alvgrid
EXPORTING
i_parent = o_dockingcontainer.
Build the fieldcatalog
create a output structure in SEll for the ALV output
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = <alv output>
CHANGING
ct_fieldcat = i_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE i030."Error in building the field catalogue
LEAVE LIST-PROCESSING.
ENDIF.
*If you need to modify the field catalog,modify it using field sysmbols
*setting the layout
w_layout-grid_title = title.
w_layout-zebra = 'X'.
then displaying the output
CALL METHOD o_alvgrid->set_table_for_first_display
EXPORTING
i_save = 'A'
is_layout = w_layout
CHANGING
it_outtab = i_output[]
it_fieldcatalog = i_fieldcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE i032 ."Error in Displaying
LEAVE LIST-PROCESSING.
ENDIF.
*After that in PAI of the screen, you need to free the *object while going back from the screen(according to *your requirement)
MODULE user_command_9001 INPUT.
CASE sy-ucomm.
WHEN 'EXIT' OR 'CANC'.
PERFORM f9600_free_objects:
USING o_alvgrid 'ALV' text-e02,
USING o_dockingcontainer 'DOCKING'
text-e01.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_9001 INPUT
*in the program, write the follwoing code
FORM f9600_free_objects USING pobject
value(ptype)
value(ptext).
DATA: l_objectalv TYPE REF TO cl_gui_alv_grid.
CASE ptype.
WHEN 'ALV'.
l_objectalv = pobject.
IF NOT ( l_objectalv IS INITIAL ).
CALL METHOD l_objectalv->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, l_objectalv.
PERFORM f9700_error_handle USING ptext.
ENDIF.
WHEN 'DOCKING'.
DATA: lobjectdock TYPE REF TO cl_gui_docking_container.
lobjectdock = pobject.
IF NOT ( lobjectdock IS INITIAL ).
CALL METHOD lobjectdock->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, lobjectdock.
PERFORM f9700_error_handle USING ptext.
ENDIF.
WHEN 'CONTAINER'.
DATA: lobjectcontainer TYPE REF TO cl_gui_container.
lobjectcontainer = pobject.
IF NOT ( lobjectcontainer IS INITIAL ).
CALL METHOD lobjectcontainer->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, lobjectcontainer.
PERFORM f9700_error_handle USING ptext.
ENDIF.
WHEN OTHERS.
sy-subrc = 1.
PERFORM f9700_error_handle USING
text-e04.
ENDCASE.
ENDFORM. " f9600_free_objects
FORM f9700_error_handle USING value(ptext).
IF sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = text-e03
txt2 = sy-subrc
txt1 = ptext.
ENDIF.
endform.
also check with this
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf
Hope this helps
if it helped, you can acknowledge the same by rewarding
regards
dinesh -
Hi Friends,
How can I add blocks dynamically depending on different vendor. please can you tell any1 how to add blocks dynamically to the list in block list.and I dont know how many blocks can be there....as it depends on vendors they give in selection screen.......................
Depending on the vendor I have to create different block.
Please revert back......
requirement is to display the debitnote report. if more vendors are given in selection screen then i have to display the blocks different for different vendors..................
Thanks in Advance...................please revert its urgent............You should do this way
DATA: SORT TYPE SLIS_SORTINFO_ALV,
IT_SORT TYPE SLIS_T_SORTINFO_ALV.
SORT-FIELDNAME = 'VBELN'.
SORT-SPOS = '1'.
SORT-GROUP = '*'.
SORT-UP = 'X'.
APPEND SORT TO IT_SORT.
if you do this way it will dynamically do block display based on the field you sepecify.
Still if you face problem you check this sample code
REPORT ZALV_LIST_SUBTOTAL .
type-pools: slis.
data: f_fldcat type slis_fieldcat_alv,
t_fldcat type slis_t_fieldcat_alv,
l_layout type slis_layout_alv,
f_event type slis_alv_event,
t_event type slis_t_event.
data: begin of itab occurs 0,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
zmeng like vbap-zmeng,
text(35),
end of itab.
select vbeln posnr zmeng from vbap
into table itab up to 20 rows.
loop at itab.
itab-zmeng = sy-tabix.
modify itab index sy-TABIX.
endloop.
f_fldcat-fieldname = 'text'.
f_fldcat-col_pos = 1.
f_fldcat-outputlen = 15.
*f_fldcat-checkbox = 'X'.
*f_fldcat-edit = ''.
append f_fldcat to t_fldcat.
clear f_fldcat.
f_fldcat-fieldname = 'VBELN'.
f_fldcat-taBname = 'itab'.
f_fldcat-seltext_l = 'VBELN'.
f_fldcat-col_pos = 2.
f_fldcat-outputlen = 30.
f_fldcat-just = 'C'.
f_fldcat-edit = 'X'.
append f_fldcat to t_fldcat.
clear f_fldcat.
f_fldcat-fieldname = 'POSNR'.
f_fldcat-tabname = 'itab'.
f_fldcat-seltext_l = 'POSNR'.
f_fldcat-col_pos = 3.
f_fldcat-edit = 'X'.
append f_fldcat to t_fldcat.
clear f_fldcat.
f_fldcat-fieldname = 'ZMENG'.
f_fldcat-tabname = 'itab'.
f_fldcat-seltext_l = 'ZMENG'.
f_fldcat-col_pos = 4.
f_fldcat-edit = 'X'.
f_fldcat-do_sum = 'X'.
append f_fldcat to t_fldcat.
clear f_fldcat.
DATA: SORT TYPE SLIS_SORTINFO_ALV,
IT_SORT TYPE SLIS_T_SORTINFO_ALV.
SORT-FIELDNAME = 'VBELN'.
SORT-SPOS = '1'.
SORT-GROUP = '*'.
SORT-UP = 'X'.
SORT-SUBTOT = 'X'.
*SORT-OBLIGATORY = 'UL'.
APPEND SORT TO IT_SORT.
l_layout-TOTALS_TEXT = 'total text'.
l_layout-SUBTOTALS_TEXT = 'subtotal text'.
*l_layout-totals_only = 'X'.
data: prg type sy-repid.
prg = sy-repid.
CALL FUNCTION 'REUSE_ALV_LIST_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_STRUCTURE_NAME =
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = T_FLDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
IT_SORT = IT_SORT[]
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = T_EVENT
* 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
* 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. -
AT Line selection event in ALV blocked list display
Hi Exparts,
I am using
REUSE_ALV_BLOCK_LIST_INIT,REUSE_ALV_BLOCK_LIST_APPEND,
REUSE_ALV_BLOCK_LIST_DISPLAY.
My question, In a field if user double click then a specific Transaction will execute.
please help me with relevant document.dear
this is very simple when u will call alv_grid_display FM :
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-cprog
* I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = *'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 = LS_LAYOUT
it_fieldcat = ls_fieldcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
* IS_VARIANT =
it_events = g_events[]
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_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 = t_output
* 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.
PERFORM user_command USING r_ucomm
rs_selfield.
*FORM user_command USING p_r_ucomm*
*p_rs_selfield.*
*CASE p_r_ucomm.*
*WHEN '&IC1'.*
*READ TABLE t_output WITH KEY check = 'X'.*
*IF t_output-check IS INITIAL.*
*MESSAGE 'Plz select the checkbox' TYPE 'E'.*
*ENDIF.*
*READ LINE sy-index FIELD VALUE t_output-vbeln.*
*CHECK NOT t_output-vbeln IS INITIAL.*
*SET PARAMETER ID 'AUN' FIELD t_output-vbeln.*
*CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.*
*ENDCASE.*
*ENDFORM. -
How can we update after the list displays in ALV report.
HI all sap gurus,
I have one ALV report, after executing the report list will displays there i need to update the data. please give me answer without oops concept.
thanks,
reddyYOu need to make some fields editable in order to update the data.
for that you should set the EDIT = 'X' in the field catalog for that column.
Regards,
Ravi -
How to display second list under an alv already displayed
hi
I have a list being displayed using grid control...i need to display anotehr list data below the first list please suggest?
block list display will not have sorted and all functinality ? do i need touse block list display function module??
regards
aroraHi Arora Nishant,
REUSE_ALV_BLOCK_LIST_INIT
then
REUSE_ALV_BLOCK_LIST_APPEND " for each fieldcat
create two diff fieldcate for both alv output and use this FM for each fieldcat to append it in output..
it's having sorting Functionality as well as export functionalities... etc etc..
then
REUSE_ALV_BLOCK_LIST_DISPLAY
Done..
See below example...
REPORT ZILESH_ALV3 LINE-COUNT 100 .
**& tables declaration
TABLES: MARA.
**& type-pools declaration
TYPE-POOLS: SLIS.
**& data declaration
DATA: G_REPID TYPE SY-REPID.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV, "makt
WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV, "marc
WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.
DATA: GT_PRINT TYPE SLIS_PRINT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
XS_EVENT TYPE SLIS_ALV_EVENT,
GT_XEVENTS TYPE SLIS_T_EVENT,
GT_YEVENTS TYPE SLIS_T_EVENT,
GT_ZEVENTS TYPE SLIS_T_EVENT,
WA_SORT TYPE SLIS_SORTINFO_ALV,
IT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA: BEGIN OF IT_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
MEINS LIKE MARA-MEINS,
NTGEW LIKE MARA-NTGEW,
END OF IT_MARA.
DATA: BEGIN OF IT_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR,
SPRAS LIKE MAKT-SPRAS,
MAKTX LIKE MAKT-MAKTX,
MAKTG LIKE MAKT-MAKTG,
END OF IT_MAKT.
DATA: BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LADGR LIKE MARC-LADGR,
MTVFP LIKE MARC-MTVFP,
DISPR LIKE MARC-DISPR,
DISMM LIKE MARC-DISMM,
DISPO LIKE MARC-DISPO,
END OF IT_MARC.
**& initialisation
INITIALIZATION.
G_REPID = SY-REPID.
**& selection screen
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR,
S_MTART FOR MARA-MTART.
SELECTION-SCREEN END OF BLOCK B.
**& start of selection
START-OF-SELECTION.
PERFORM GET_MARADETAILS.
PERFORM GET_MAKTDETAILS.
PERFORM GET_MARCDETAILS.
**& Form get_maradetails
*text
*--> p1 text
*<-- p2 text
FORM GET_MARADETAILS .
SELECT MATNR
MTART
MATKL
MEINS
NTGEW FROM MARA
INTO TABLE IT_MARA
WHERE MATNR IN S_MATNR AND
MTART IN S_MTART.
ENDFORM. " get_maradetails
**& Form get_maktdetails
*text
*--> p1 text
*<-- p2 text
FORM GET_MAKTDETAILS .
SELECT MATNR
SPRAS
MAKTX
MAKTG FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR..
ENDFORM. " get_maktdetails
**& Form get_marcdetails
*text
*--> p1 text
*<-- p2 text
FORM GET_MARCDETAILS .
SELECT MATNR
WERKS
LADGR
MTVFP
DISPR
DISMM
DISPO FROM MARC
INTO TABLE IT_MARC
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR.
ENDFORM. " get_marcdetails
**& end of selection
END-OF-SELECTION.
PERFORM SORT_LIST.
PERFORM MODIFY_FIELDCAT.
PERFORM EVENT_LIST.
PERFORM BLOCK_LIST.
**& Form modify_fieldcat
*text
*--> p1 text
*<-- p2 text
FORM MODIFY_FIELDCAT .
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-TABNAME = 'IT_MARA'.
WA_FIELDCAT-SELTEXT_L = 'MATERIAL NUM'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-OUTPUTLEN = 18.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MTART'.
WA_FIELDCAT-TABNAME = 'IT_MARA'.
WA_FIELDCAT-SELTEXT_L = 'MAT TYPE'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-OUTPUTLEN = 5.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MATKL'.
WA_FIELDCAT-TABNAME = 'IT_MARA'.
WA_FIELDCAT-SELTEXT_L = 'MAT GROUP'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-OUTPUTLEN = 10.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MEINS'.
WA_FIELDCAT-TABNAME = 'IT_MARA'.
WA_FIELDCAT-SELTEXT_L = 'UNIT'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-OUTPUTLEN = 5.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'NTGEW'.
WA_FIELDCAT-TABNAME = 'IT_MARA'.
WA_FIELDCAT-DO_SUM = 'X'.
WA_FIELDCAT-SELTEXT_L = 'QUANTITY'.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-OUTPUTLEN = 15.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-FIELDNAME = 'MATNR'.
WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUM'.
WA_FIELDCAT1-COL_POS = 1.
WA_FIELDCAT1-OUTPUTLEN = 18.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-FIELDNAME = 'SPRAS'.
WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
WA_FIELDCAT1-SELTEXT_L = 'LANGUAGE'.
WA_FIELDCAT1-COL_POS = 2.
WA_FIELDCAT1-OUTPUTLEN = 2.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-FIELDNAME = 'MAKTX'.
WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
WA_FIELDCAT1-SELTEXT_L = 'MAT DESC'.
WA_FIELDCAT1-COL_POS = 3.
WA_FIELDCAT1-OUTPUTLEN = 40.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-FIELDNAME = 'MAKTG'.
WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
WA_FIELDCAT1-SELTEXT_L = 'GRP DESC'.
WA_FIELDCAT1-COL_POS = 4.
WA_FIELDCAT1-OUTPUTLEN = 40.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'MATNR'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'MATERIAL NUM'.
WA_FIELDCAT2-COL_POS = 1.
WA_FIELDCAT2-OUTPUTLEN = 18.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'WERKS'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'PLANT'.
WA_FIELDCAT2-COL_POS = 2.
WA_FIELDCAT2-OUTPUTLEN = 4.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'LADGR'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'LOAD GRP'.
WA_FIELDCAT2-COL_POS = 3.
WA_FIELDCAT2-OUTPUTLEN = 4.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'MTVFP'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'GRP CHK'.
WA_FIELDCAT2-COL_POS = 4.
WA_FIELDCAT2-OUTPUTLEN = 4.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'DISPR'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'MRP PROFILE'.
WA_FIELDCAT2-COL_POS = 5.
WA_FIELDCAT2-OUTPUTLEN = 4.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'DISMM'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'MRP TYPE'.
WA_FIELDCAT2-COL_POS = 6.
WA_FIELDCAT2-OUTPUTLEN = 4.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
WA_FIELDCAT2-FIELDNAME = 'DISPO'.
WA_FIELDCAT2-TABNAME = 'IT_MARC'.
WA_FIELDCAT2-SELTEXT_L = 'MRP CON'.
WA_FIELDCAT2-COL_POS = 7.
WA_FIELDCAT2-OUTPUTLEN = 4.
APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.
ENDFORM. " modify_fieldcat
**& Form BLOCK_LIST
*text
*--> p1 text
*<-- p2 text
FORM BLOCK_LIST .
CLEAR WA_LAYOUT.
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'user_command'.
*IT_EXCLUDING =
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
I_TABNAME = 'IT_MARA'
IT_EVENTS = GT_XEVENTS
IT_SORT = IT_SORT
I_TEXT = ' '
TABLES
T_OUTTAB = IT_MARA
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT1
I_TABNAME = 'IT_MAKT'
IT_EVENTS = GT_YEVENTS
*IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB = IT_MAKT
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT2
I_TABNAME = 'IT_MARC'
IT_EVENTS = GT_ZEVENTS
*IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB = IT_MARC
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT = GT_PRINT
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 =
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. " BLOCK_LIST
**& Form EVENT_LIST
*text
*--> p1 text
*<-- p2 text
FORM EVENT_LIST .
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'XTOP_OF_PAGE'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
XS_EVENT-FORM = 'XEND_OF_PAGE'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
XS_EVENT-FORM = 'XTOP_OF_LIST'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
XS_EVENT-FORM = 'XEND_OF_LIST'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
XS_EVENT-FORM = 'YEND_OF_PAGE'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'YTOP_OF_PAGE'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
XS_EVENT-FORM = 'YTOP_OF_LIST'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
XS_EVENT-FORM = 'YEND_OF_LIST'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
XS_EVENT-FORM = 'ZEND_OF_PAGE'.
APPEND XS_EVENT TO GT_ZEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'ZTOP_OF_PAGE'.
APPEND XS_EVENT TO GT_ZEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
XS_EVENT-FORM = 'ZTOP_OF_LIST'.
APPEND XS_EVENT TO GT_ZEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
XS_EVENT-FORM = 'ZEND_OF_LIST'.
APPEND XS_EVENT TO GT_ZEVENTS.
CLEAR XS_EVENT.
ENDFORM. " EVENT_LIST
*& Form XTOP_OF_PAGE
* text
FORM XTOP_OF_PAGE.
WRITE:/ 'TOP OF PAGE FOR MARA'.
ENDFORM. "XTOP_OF_PAGE
*& Form YTOP_OF_PAGE
* text
FORM YTOP_OF_PAGE.
WRITE:/ 'TOP OF PAGE FOR MAKT'.
ENDFORM. "YTOP_OF_PAGE
*& Form ZTOP_OF_PAGE
* text
FORM ZTOP_OF_PAGE.
WRITE:/ 'TOP OF PAGE FOR MARC'.
ENDFORM. "ZTOP_OF_PAGE
*& Form XEND_OF_PAGE
* text
FORM XEND_OF_PAGE.
WRITE:/ 'END OF PAGE FOR MARA'.
ENDFORM. "XEND_OF_PAGE
*& Form YEND_OF_PAGE
* text
FORM YEND_OF_PAGE.
WRITE:/ 'END OF PAGE FOR MAKT'.
ENDFORM. "YEND_OF_PAGE
*& Form ZEND_OF_PAGE
* text
FORM ZEND_OF_PAGE.
WRITE:/ 'END OF PAGE FOR MARC'.
ENDFORM. "ZEND_OF_PAGE
*& Form XTOP_OF_LIST
* text
FORM XTOP_OF_LIST.
WRITE:/ 'TOP OF LIST FOR MARA'.
ENDFORM. "XTOP_OF_LIST
*& Form YTOP_OF_LIST
* text
FORM YTOP_OF_LIST.
WRITE:/ 'TOP OF LIST FOR MAKT'.
ENDFORM. "YTOP_OF_LIST
*& Form ZTOP_OF_LIST
* text
FORM ZTOP_OF_LIST.
WRITE:/ 'TOP OF LIST FOR MARC'.
ENDFORM. "ZTOP_OF_LIST
*& Form XEND_OF_LIST
* text
FORM XEND_OF_LIST.
WRITE:/ 'END OF LIST FOR MARA'.
ENDFORM. "XEND_OF_LIST
*& Form YEND_OF_LIST
* text
FORM YEND_OF_LIST.
WRITE:/ 'END OF LIST FOR MAKT'.
ENDFORM. "YEND_OF_LIST
*& Form ZEND_OF_LIST
* text
FORM ZEND_OF_LIST.
WRITE:/ 'END OF LIST FOR MARC'.
ENDFORM. "ZEND_OF_LIST
**& Form sort_list
*text
*--> p1 text
*<-- p2 text
FORM SORT_LIST .
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'MTART'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'MATKL'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
ENDFORM. " sort_list
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
Maybe you are looking for
-
does this phone get realy warm after a few minutes of talking on it???????????!!!!!!!!!
-
Converting String to ISO-8859-1 html charset
i want to convert string to ISO-8859-1 html charset or vice versa For example i need to replace "ö" as "ö" How can i do that? http://www.unicodetools.com/unicode/utf8-to-latin-converter.php
-
CS3 Extended: Photomerge not launching, Error 48
When trying launch photomerge from the Automate menu, I get the following error message: Error 48: File or folder does not exist. Line: 37 > $.evalFile(gStackScriptFolderPath + LatteUI.jsx); When trying to launch it from Bridge, I get this: Reference
-
Can i get back my formware from 8.1.3 down to 7.1.2 because its always hangup my device...
-
Confirmation & Inbound Delivery
Hi, Anybody will explain about Order Acknowledgement , Confirmations and Inbound Delivery Process. Thanx, Key.