abap开发报表模版,虽然接触SAP这么多年了但是一直在做java,以及java与sap集成, 只停留在abap边缘,没有真正的去学习这强大的SAP,现在开始必须慢慢深入了,加油吧。 **&---------------------------------------------------------------------* **& Report ZZHZALV * *& * *&---------------------------------------------------------------------* * *&ALV模板代码 * *&create by 2010.12.29 * *&author zhanghz * *&---------------------------------------------------------------------* REPORT zzhzalv. TYPE-POOLS: slis. ************************************************************************* * *TABLES * ************************************************************************ TABLES:mara. ************************************************************************* * *internal table * ************************************************************************ DATA:BEGIN OF i_list OCCURS 0, matnr LIKE mara-matnr, vpsta LIKE mara-vpsta, laeng LIKE mara-laeng, END OF i_list. ************************************************************************* * *ALV data type * ************************************************************************ DATA: l_repid LIKE sy-repid. DATA: wa_fieldcat TYPE slis_fieldcat_alv, gt_fieldcat TYPE slis_t_fieldcat_alv. DATA: g_list_top_of_page TYPE slis_t_listheader. CONSTANTS:c_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'. l_repid = sy-repid. ************************************************************************* * *SELECT-SRECCN * ************************************************************************ SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-bl1."选择屏幕块 SELECT-OPTIONS: zmatnr FOR mara-matnr."范围的定义 selection-screen skip 1."跳过一行 parameters: werks like marc-werks obligatory."单值的定义 parameters: pp(10) matchcode object ZBMBZ."收索帮助,zbmbz为收索帮助的名称 parameters: a1 as checkbox."单选框 parameters: b1 radiobutton group g1,"复选框 b2 radiobutton group g1. SELECTION-SCREEN END OF BLOCK bl1. selection-screen comment 2(20) txt."选择屏幕的注释 at selection-screen on help-request for werks. message 'ssss' type 'I'. * ************************************************************************ * *SELECT-OF-SELECTION * ************************************************************************ START-OF-SELECTION. PERFORM sub_get_data. IF sy-subrc <> 0 . MESSAGE '您查找的数据未在数据库中找到,请重新输入!' TYPE 'I' . ELSE. * * PERFORM sub_process_data . PERFORM sub_display_data . ENDIF. * ************************************************************************* * **END-OF-SELECTION * ************************************************************************* END-OF-SELECTION . * **&--------------------------------------------------------------------* * **& Form top_of_page 显示标题用的 * **&--------------------------------------------------------------------* FORM top_of_page. "显示标题用的 CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = g_list_top_of_page. ENDFORM. " top_of_page **&---------------------------------------------------------------------* * *& Form sub_get_data 取得数据 * *&---------------------------------------------------------------------* * * text * *----------------------------------------------------------------------* FORM sub_get_data. SELECT * INTO CORRESPONDING FIELDS OF TABLE i_list FROM mara WHERE matnr IN zmatnr. ENDFORM. "sub_get_data **&---------------------------------------------------------------------* * *& Form sub_process_data 处理数据 * *&---------------------------------------------------------------------* * * text * *----------------------------------------------------------------------* FORM sub_process_data. ENDFORM. "sub_process_data **&---------------------------------------------------------------------* * *& Form sub_display_data 显示数据 * *&---------------------------------------------------------------------* * * text * *----------------------------------------------------------------------* FORM sub_display_data. * ******initial datatab DATA: l_i_output LIKE i_list OCCURS 0 WITH HEADER LINE. "i_list读取数据表 *****initial title PERFORM build_comment_summary TABLES l_i_output USING g_list_top_of_page[]. ****initial field category DATA: l_i_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE. PERFORM init_alv_summary TABLES l_i_fieldcat. * ****initial others DATA: l_s_layout TYPE slis_layout_alv. l_s_layout-colwidth_optimize = 'X'."字符适合宽度 * * l_s_layout-zebra = 'XXX'."行的颜色 ****initial event DATA:l_events TYPE slis_t_event. PERFORM build_eventtab USING l_events[]. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = l_repid i_default = 'X' i_save = 'X' * * i_layout-f2code = ' ' i_callback_user_command = 'USER_COMMAND' it_events = l_events[] is_layout = l_s_layout it_fieldcat = l_i_fieldcat[] TABLES t_outtab = i_list"读取数据的内表,显示在alv中 EXCEPTIONS program_error = 1 other = 2 . ENDFORM. "sub_display_data * *&---------------------------------------------------------------------* * *& Form build_eventtab * *&---------------------------------------------------------------------* FORM build_eventtab USING v_events TYPE slis_t_event. DATA: l_event TYPE slis_alv_event. "Returns table of possible events for a list type CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type = 0 IMPORTING et_events = v_events. "List type (0,1,2,3) DATA: l_tabix LIKE sy-tabix. CLEAR l_event-form. READ TABLE v_events WITH KEY name = slis_ev_top_of_page INTO l_event. l_tabix = sy-tabix. IF sy-subrc = 0. MOVE c_formname_top_of_page TO l_event-form. MODIFY v_events FROM l_event INDEX l_tabix. ENDIF. ENDFORM. " build_eventtab **&---------------------------------------------------------------------* * *& Form build_comment_summary * *&---------------------------------------------------------------------* FORM build_comment_summary TABLES v_i_output STRUCTURE i_list "读取数据的内表 USING v_list_top_of_page TYPE slis_t_listheader. DATA: l_line TYPE slis_listheader. CLEAR l_line. l_line-typ = 'H'. l_line-key = ''. l_line-info = '我的测试表'. APPEND l_line TO v_list_top_of_page. ENDFORM. " build_comment_summary **&---------------------------------------------------------------------* * *& Form init_alv_summary * *&---------------------------------------------------------------------* FORM init_alv_summary TABLES v_i_fieldcat TYPE slis_t_fieldcat_alv. REFRESH v_i_fieldcat. CLEAR v_i_fieldcat. v_i_fieldcat-fieldname = 'MATNR'. v_i_fieldcat-tabname = 'I_LIST'. v_i_fieldcat-seltext_m = '物料号123'. v_i_fieldcat-key = 'X'. * * v_i_fieldcat-ref_fieldname = 'MATNR'. "收索帮助 * * v_i_fieldcat-ref_tabname = 'MAKT'. APPEND v_i_fieldcat. CLEAR v_i_fieldcat. v_i_fieldcat-fieldname = 'VPSTA'. v_i_fieldcat-tabname = 'I_LIST'. v_i_fieldcat-seltext_m = '维护全部物料状态'. * * v_i_fieldcat-outputlen = '20'."列的字符宽度 * * v_i_fieldcat-edit = 'X'."可编辑的属性 APPEND v_i_fieldcat. CLEAR v_i_fieldcat. * * v_i_fieldcat-decimals_out = '0'. "去掉该字段小数点后的0 * * v_i_fieldcat-EMPHASIZE = 'C700'. "给该字段加上颜色 * * v_i_fieldcat-just = 'L'. "对齐方式 v_i_fieldcat-fieldname = 'LAENG'. v_i_fieldcat-tabname = 'I_LIST'. v_i_fieldcat-seltext_m = '长度'. * v_i_fieldcat-do_sum = 'X'. "总计该列的值 APPEND v_i_fieldcat. ENDFORM. " init_alv_summary * *&--------------------------------------------------------------------* * *& Form USER_COMMAND * *&--------------------------------------------------------------------* * * text ** *---------------------------------------------------------------------* * * -->UCOMM text * * -->SELFIELD text * *---------------------------------------------------------------------* FORM user_command USING ucomm LIKE sy-ucomm "接收用户的命令 selfield TYPE slis_selfield. READ TABLE i_list INDEX selfield-tabindex. CHECK sy-subrc = 0. CASE ucomm. WHEN '&IC1'. "&DATA_SAVE响应保存键 CASE selfield-sel_tab_field. WHEN 'I_LIST-MATNR'. "这里必须大写 SET PARAMETER ID 'BES' FIELD i_list-matnr . "参数id为aun,根据id给屏幕传参数 CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN."调用事务位va03的事务且跳过第一个屏幕 * **************************************显示第二层ALV******************************** WHEN 'I_LIST-VPSTA'. LOOP AT I_LIST INTO I_LIST WHERE VPSTA = I_LIST-VPSTA. ENDLOOP. PERFORM frm_buildfieldcat_lips. PERFORM frm_display_lips. ENDCASE. ENDCASE. ENDFORM. "USER_COMMAND **&---------------------------------------------------------------------* * *& Form frm_buildfieldcat_lips * *&---------------------------------------------------------------------* * * text * *----------------------------------------------------------------------* * * --> p1 text * * <-- p2 text * *----------------------------------------------------------------------* FORM frm_buildfieldcat_lips . CLEAR wa_fieldcat. REFRESH gt_fieldcat[]. DEFINE add_field. "定义宏 wa_fieldcat-fieldname = &1. wa_fieldcat-reptext_ddic = &2. wa_fieldcat-hotspot = &3. append wa_fieldcat to gt_fieldcat. END-OF-DEFINITION. add_field 'MATNR' '物料号tc ' 'X'. add_field 'VPSTA' '描述' ' ' . add_field 'LAENG' '长度' ' ' . ENDFORM. " frm_buildfieldcat_ekpo * **&---------------------------------------------------------------------* * **& Form frm_display_lips * **&---------------------------------------------------------------------* * ** text * **----------------------------------------------------------------------* * ** --> p1 text * ** <-- p2 text * **----------------------------------------------------------------------* FORM frm_display_lips . CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = l_repid it_fieldcat = gt_fieldcat i_screen_start_column = 20 i_screen_start_line = 30 i_screen_end_column = 80 i_screen_end_line = 40 TABLES t_outtab = i_list."第二层alv显示数据的内表 ENDFORM. " frm_display_lips
相关推荐
ALV程序模板
ALV OO 模板
SAP ABAP开发,ALV开发标准模板:程序开发中用到的表和变量声明,ALV数据组,类型池,定义ALV显示的字段列及其描述等属性,选择屏幕,获取数据,ALV 输出(设置 ALV 输出格式、设置 ALV 输出字段和ALV 显示)
ABAP ALV 报表基础模板(两种)
详细介绍ALV的极好的例子 abapalv报表的极好的例子啊
alv使用alv使用 alv使用alv使用alv使用alv使用
[SAP ABAP开发技术总结]ALV详解(Fuction ALV 和OO ALV) 图文并茂,详细介绍了Fuction ALV 和OO ALV的相关开发 [SAP ABAP开发技术总结]ALV详解:Function ALV(一) [SAP ABAP开发技术总结]ALV详解:Function ALV...
SAP ALV总结ALV总结ALV总结ALV总结ALV总结
在ALV里编写回车事件,通过回车操作数据!
alv去掉多余按钮 alv去掉多余按钮 alv去掉多余按钮
ALV_GRID介绍, 不错的内容 一.ALV介绍 The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中...
alv abap sap 总结 alv abap sap 总结 alv abap sap 总结
SAP搭建的简单的alv模式 DATA: BEGIN OF wa_alv, cheid LIKE zqm_zjjgitem-cheid, "产品检验ID batno LIKE zqm_zjhead-batno, "批号 werks LIKE zqm_zjhead-werks, "工厂 chcer LIKE zqm_zjhead-chcer, "检验员 ...
ALV 详解
ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用
sap的alv文档。里面有模板及一个事例。alv规范和入门到精通的必备。
ALV LIST列头合并实例
ALV是ABAP报表开发中经常用到的表单工具,用户经常需要将ALV中的数据进行打印或Excel导出,这样就需要对ALV的工具条进行扩展,添加自定义按钮,本文详细介绍了,如何在AVL中实现自定义按钮的方法,有具体的实例步骤...
ALV进阶 ABAP SAP ABAP编程ALV进阶
ALV在WebDynpro表格开发中的使用和详细设置,通过使用ALV简化和加强WebDynpro的表格展示.