首页 ALV

ALV

举报
开通vip

ALV*---------------------------------------------------------------------- * Program: * Author : * Date : * * Purpose: Report using ALV function * * Notes: * 1) Logos & wallpapers can be found in table BDS_CONN05 * with class = PICTURES * * 2) Tr...

ALV
*---------------------------------------------------------------------- * Program: * Author : * Date : * * Purpose: Report using ALV function * * Notes: * 1) Logos & wallpapers can be found in table BDS_CONN05 * with class = PICTURES * * 2) Transaction OAER can be used to create PICTURES. * Run transaction OAER with class name = PICTURES, Class type = OT, * and Object key with whatever name you want to create. In the * next screen, right clicking on screen and import * *---------------------------------------------------------------------- * Revisions *---------------------------------------------------------------------- * Name : * Date : * Comments: *---------------------------------------------------------------------- REPORT ZFLEX004 no standard page heading line-size 200 line-count 65 message-id zz. *-------------------------------- * Tables *-------------------------------- tables: ekpo, mara, trdir. *-------------------------------- * Global Types *-------------------------------- type-pools: slis. *-------------------------------- * Global Internal Tables *-------------------------------- data: i_fieldcat_alv type slis_t_fieldcat_alv, i_events type slis_t_event, i_event_exit type slis_t_event_exit, i_list_comments type slis_t_listheader, i_excluding type slis_t_extab. * Display data data: begin of i_data occurs 0, matnr like mara-matnr, mtart like mara-mtart, end of i_data. *-------------------------------- * Global Variables *-------------------------------- data: w_variant like disvariant, wx_variant like disvariant, w_variant_save(1) type c, w_exit(1) type c, w_repid like sy-repid, w_user_specific(1) type c, w_callback_ucomm type slis_formname, w_print type slis_print_alv, w_layout type slis_layout_alv, w_html_top_of_page type slis_formname, w_fieldcat_alv like line of i_fieldcat_alv, w_excluding like line of i_excluding, w_events like line of i_events, w_event_exit like line of i_event_exit, w_list_comments like line of i_list_comments. *-------------------------------- * Global Constants *-------------------------------- *constants: *-------------------------------- * Selection Screen *-------------------------------- selection-screen begin of block blk_criteria with frame title text-f01. select-options: s_name for trdir-name. selection-screen end of block blk_criteria. selection-screen begin of block blk_params with frame title text-f02. parameters: p_vari like disvariant-variant. selection-screen skip 1. parameters: p_grid radiobutton group rb01 default 'X', p_html as checkbox. selection-screen skip 1. parameters: p_list radiobutton group rb01. selection-screen end of block blk_params. *-------------------------------- * Initialization *-------------------------------- initialization. perform init_variant. perform variant_default using p_vari. clear: s_name[]. s_name-sign = 'I'. s_name-option = 'CP'. s_name-low = 'Z*'. append s_name. *-------------------------------- * At Selection Screen PBO *-------------------------------- at selection-screen output. *---------------------------------- * At Selection Screen Value Request *---------------------------------- at selection-screen on value-request for p_vari. perform variant_f4 using p_vari. *-------------------------------- * At Selection Screen *-------------------------------- at selection-screen. perform variant_fill. *-------------------------------- * Start of Selection *-------------------------------- start-of-selection. perform get_data. end-of-selection. perform fieldcat_build. perform event_build. perform event_exit_build. perform exclude_build. perform print_build. perform layout_build. perform display_data. *-------------------------------- * Top of Page *-------------------------------- top-of-page. *-------------------------------- * Top of Page During Line Sel *-------------------------------- top-of-page during line-selection. *-------------------------------- * At User Command *-------------------------------- at user-command. *-------------------------------- * At Line Selection *-------------------------------- at line-selection. *-------------------------------- * Macros *-------------------------------- define skip_1. write: /001 sy-vline, at sy-linsz sy-vline. end-of-definition. *---------------------------------------------------------------------- * Forms *---------------------------------------------------------------------- *&---------------------------------------------------------------------* *& Form variant_f4 *&---------------------------------------------------------------------* form variant_f4 using p_variant. call function 'LVC_VARIANT_F4' exporting is_variant = w_variant i_save = w_variant_save importing e_exit = w_exit es_variant = wx_variant exceptions not_found = 1 program_error = 2 others = 3. if sy-subrc <> 0. message i000(zz) with text-g01. endif. if w_exit is initial. w_variant-variant = wx_variant-variant. p_variant = wx_variant-variant. endif. endform. *&---------------------------------------------------------------------* *& Form init_variant *&---------------------------------------------------------------------* form init_variant. clear: w_variant. w_repid = sy-repid. w_variant-report = w_repid. w_variant-username = sy-uname. w_variant_save = 'A'. "All types endform. *&---------------------------------------------------------------------* *& Form variant_default *&---------------------------------------------------------------------* form variant_default using p_variant. wx_variant = w_variant. if not p_variant is initial. wx_variant-variant = p_variant. endif. call function 'LVC_VARIANT_DEFAULT_GET' exporting i_save = w_variant_save changing cs_variant = wx_variant exceptions wrong_input = 1 not_found = 2 program_error = 3 others = 4. case sy-subrc. when 0. p_variant = wx_variant-variant. when 2. clear: p_variant. endcase. endform. *&---------------------------------------------------------------------* *& Form variant_fill *&---------------------------------------------------------------------* form variant_fill. clear: w_variant. if p_vari is initial. w_variant-variant = 'STANDARD'. w_variant-report = w_repid. else. w_variant-variant = p_vari. w_variant-report = w_repid. call function 'LVC_VARIANT_EXISTENCE_CHECK' exporting i_save = w_variant_save changing cs_variant = w_variant exceptions others = 01. if sy-subrc ne 0. message i000(zz) with text-g02. endif. endif. endform. *&---------------------------------------------------------------------* *& Form fieldcat_build *&---------------------------------------------------------------------* form fieldcat_build. call function 'REUSE_ALV_FIELDCATALOG_MERGE' exporting i_program_name = w_repid * i_structure_name = 'TRDIR' i_internal_tabname = 'I_DATA' i_inclname = w_repid changing ct_fieldcat = i_fieldcat_alv. * Modify displayed fields loop at i_fieldcat_alv into w_fieldcat_alv. case w_fieldcat_alv-fieldname. when 'NAME'. w_fieldcat_alv-hotspot = 'X'. when 'MYFIELD'. w_fieldcat_alv-checkbox = 'X'. w_fieldcat_alv-seltext_s = 'MyChkBox'. when others. endcase. modify i_fieldcat_alv from w_fieldcat_alv. endloop. endform. *&---------------------------------------------------------------------* *& Form display_data *&---------------------------------------------------------------------* form display_data. w_callback_ucomm = 'CALLBACK_UCOMM'. case 'X'. when p_grid. if p_html = 'X'. w_html_top_of_page = 'HTML_TOP_OF_PAGE'. endif. call function 'REUSE_ALV_GRID_DISPLAY' exporting * i_background_id = 'SIWB_WALLPAPER' i_background_id = 'SIWB_WALLPAPER' i_callback_program = w_repid i_callback_html_top_of_page = w_html_top_of_page * i_structure_name = 'TRDIR' i_default = 'X' i_save = 'A' is_variant = w_variant is_layout = w_layout i_callback_user_command = w_callback_ucomm it_fieldcat = i_fieldcat_alv it_events = i_events it_event_exit = i_event_exit it_excluding = i_excluding is_print = w_print * i_screen_start_column = 1 * i_screen_start_line = 1 * i_screen_end_column = 70 * i_screen_end_line = 30 tables t_outtab = i_data. when p_list. call function 'REUSE_ALV_LIST_DISPLAY' exporting i_background_id = 'ALV_BACKGROUND' i_callback_program = w_repid i_default = 'X' i_save = 'A' is_variant = w_variant is_layout = w_layout i_callback_user_command = w_callback_ucomm it_fieldcat = i_fieldcat_alv it_events = i_events it_event_exit = i_event_exit is_print = w_print tables t_outtab = i_data. endcase. endform. *---------------------------------------------------------------------* * FORM user_command * *---------------------------------------------------------------------* form callback_ucomm using r_ucomm like sy-ucomm rs_selfield type slis_selfield. message i000(zz) with r_ucomm. case r_ucomm. when '&IC1'. set parameter id 'RID' field rs_selfield-value. call transaction 'SE38'. when others. endcase. endform. *&---------------------------------------------------------------------* *& Form get_data *&---------------------------------------------------------------------* form get_data. select * from mara into corresponding fields of table i_data. endform. *---------------------------------------------------------------------* * FORM ALV_TOP_OF_PAGE * *---------------------------------------------------------------------* form alv_top_of_page. clear: i_list_comments[]. w_list_comments-typ = 'H'. "H=Header, S=Selection, A=Action w_list_comments-key = ''. w_list_comments-info = 'Info 1'. append w_list_comments to i_list_comments. w_list_comments-typ = 'A'. " H = Header, S = Selection, A = Action w_list_comments-key = ''. w_list_comments-info = 'Begin of list'. append w_list_comments to i_list_comments. call function 'REUSE_ALV_COMMENTARY_WRITE' exporting i_logo = 'ENJOYSAP_LOGO' it_list_commentary = i_list_comments. endform. *&---------------------------------------------------------------------* *& Form event_build *&---------------------------------------------------------------------* form event_build. call function 'REUSE_ALV_EVENTS_GET' exporting i_list_type = 0 importing et_events = i_events. read table i_events with key name = slis_ev_top_of_page into w_events. if sy-subrc = 0. move 'ALV_TOP_OF_PAGE' to w_events-form. modify i_events from w_events index sy-tabix. endif. read table i_events with key name = slis_ev_end_of_list into w_events. if sy-subrc = 0. move 'ALV_END_OF_LIST' to w_events-form. modify i_events from w_events index sy-tabix. endif. read table i_events with key name = slis_ev_end_of_page into w_events. if sy-subrc = 0. move 'ALV_END_OF_PAGE' to w_events-form. modify i_events from w_events index sy-tabix. endif. endform. *---------------------------------------------------------------------* * FORM alv_end_of_list * *---------------------------------------------------------------------* form alv_end_of_list. clear: i_list_comments[]. w_list_comments-typ = 'A'. "H = Header, S = Selection, A = Action w_list_comments-key = ''. w_list_comments-info = 'End of list'. append w_list_comments to i_list_comments. call function 'REUSE_ALV_COMMENTARY_WRITE' exporting it_list_commentary = i_list_comments i_logo = 'ZMYOBJECTKEY' i_end_of_list_grid = 'X'. endform. *---------------------------------------------------------------------* * FORM alv_end_of_page * *---------------------------------------------------------------------* form alv_end_of_page. endform. *&---------------------------------------------------------------------* *& Form print_build *&---------------------------------------------------------------------* form print_build. w_print-no_print_listinfos = 'X'. endform. *&---------------------------------------------------------------------* *& Form layout_build *&---------------------------------------------------------------------* form layout_build. w_layout-zebra = 'X'. w_layout-no_vline = 'X'. w_layout-colwidth_optimize = 'X'. w_layout-detail_popup = 'X'. w_layout-detail_initial_lines = 'X'. w_layout-detail_titlebar = 'Detail Title Bar'. endform. *&---------------------------------------------------------------------* *& Form event_exit_build *&---------------------------------------------------------------------* form event_exit_build. clear: i_event_exit[]. * Pick w_event_exit-ucomm = '&ETA'. w_event_exit-before = ' '. w_event_exit-after = 'X'. append w_event_exit to i_event_exit. endform. *---------------------------------------------------------------------* * FORM HTML_TOP_OF_PAGE * *---------------------------------------------------------------------* form html_top_of_page using r_top type ref to cl_dd_document. data: text type sdydo_text_element, s_table type ref to cl_dd_table_element, col_key type ref to cl_dd_area, col_info type ref to cl_dd_area, a_logo type ref to cl_dd_area. * Split TOP-Document call method r_top->vertical_split exporting split_area = r_top split_width = '30%' importing right_area = a_logo. * Fill TOP-Document call method r_top->add_text exporting text = 'Example of a Heading' sap_style = 'HEADING'. call method r_top->new_line. call method r_top->new_line. call method r_top->add_table exporting no_of_columns = 2 with_heading = ' ' border = '1' importing table = s_table. call method s_table->add_column importing column = col_key. call method s_table->add_column importing column = col_info. text = 'A key value marked'. call method col_key->add_text exporting text = text sap_emphasis = 'Strong'. call method col_info->add_gap exporting width = 6. text = '600' . call method col_info->add_text exporting text = text sap_style = 'Key'. call method col_info->add_gap exporting width = 3. text = 'Block brick units'. call method col_info->add_text exporting text = text. call method s_table->new_row. text = 'Storage Bin'. call method col_key->add_text exporting text = text sap_emphasis = 'Strong'. call method col_info->add_gap exporting width = 7. text = 'C-A-004'. call method col_info->add_text exporting text = text. call method s_table->new_row. text = 'Warehouse number' . call method col_key->add_text exporting text = text sap_emphasis = 'Strong'. call method col_info->add_gap exporting width = 6. text = '200' . call method col_info->add_text exporting text = text sap_style = 'Success'. call method col_info->add_gap exporting width = 3. text = 'marked success'. call method col_info->add_text exporting text = text. call method s_table->new_row. call method r_top->new_line. text = 'This last line is a comment in italics.'. call method r_top->add_text exporting text = text sap_emphasis = 'EMPHASIS'. call method r_top->new_line. call method a_logo->add_picture * exporting picture_id = 'ZZTESTBMP'. exporting picture_id = 'ENJOYSAP_LOGO'. endform. *&---------------------------------------------------------------------* *& Form exclude_build *&---------------------------------------------------------------------* form exclude_build. w_excluding = '&GRAPH'. "Graphic append w_excluding to i_excluding. endform. " exclude_build
本文档为【ALV】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_534157
暂无简介~
格式:doc
大小:63KB
软件:Word
页数:14
分类:互联网
上传时间:2012-10-18
浏览量:19