点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,专家们,我正在使用OO ALV来显示数据并在输出之前进行一些操作。 我的问题是,当我创建一个变体时,我无法将其删除。 我认为有不同的视图,一个用于显示数据,另一个用于管理布局,但是当我单击"管理视图"按钮时,没有任何追加。 不使用容器,我的数据就可以成功显示(请参阅图像和代码)
创建对象g_grid 出口 " i_appl_events ='X' i_parent = cl_gui_container => default_screen"容器" 例外情况 error_cntl_create = 1 error_cntl_init = 2 error_cntl_link = 3 error_dp_create = 4 其他= 5。
但是当我添加一个容器时,显示的唯一部分是标题(请参见附件和以下代码)。
创建对象ALV_CONTAINER 出口 CONTAINER_NAME ='ALV_CONTAINER'。 创建对象g_grid 出口 I_PARENT = ALV_CONTAINER。
要创建和选择布局,请使用Theres功能模块:
*** -------------------------------------------- ---------------------- *** ***表格SUB_VARIANT_INIT *** *** --------------------------------------------------- ------------------- *** ***显示默认变种*** *** --------------------------------------------------- ------------------- *** 表格SUB_VARIANT_INIT。 I_VARIANT1-REPORT = SY-REPID。 *搜索报告的默认变体 通话功能'REUSE_ALV_VARIANT_DEFAULT_GET' 出口 i_save ='X' 改变 cs_variant = i_variant1 例外情况 not_found = 2。 *如果找到默认变体,则将其用作默认变体。 *否则,使用变量LAYOUT1。 如果sy-subrc = 0。 p_var = i_variant1-variant。 其他。 p_var =''。 万一。 最终形式。 " SUB_VARIANT_INIT *** --------------------------------------------------- ------------------- *** ***表格SUB_CHECK_PVAR *** *** --------------------------------------------------- ------------------- *** ***用户输入变体后,检查其存在性*** *** --------------------------------------------------- ------------------- *** 表格SUB_CHECK_PVAR。 *如果变量名称不为空,请检查其是否存在 如果不是p_var是初始的。 清除i_variant。 i_variant-report = sy-repid。 i_variant-variant = p_var。 通话功能" REUSE_ALV_VARIANT_EXISTENCE" 出口 I_SAVE ='X' 改变 CS_VARIANT = I_VARIANT。 *如果未找到此类变体,则会显示错误消息 如果sy-subrc ne 0。 消息e398(00)带有"不存在此类变体"。 其他。 *如果存在变体,请使用变体名称填充结构 * I_VARIANT1将用于导出参数:IS_VARIANT *在功能模块中:REUSE_ALV_GRID_DISPLAY 清除i_variant1。 将p_var移至i_variant1-variant。 将sy-repid移至i_variant1-report。 万一。 其他。 清除i_variant。 万一。 ENDFORM。 " SUB_CHECK_PVAR *** --------------------------------------------------- ------------------- *** ***表格SUB_VARIANT_F4 *** *** --------------------------------------------------- ------------------- *** ***当用户***显示报告的各种变体列表 ***在变体字段中按F4键*** *** --------------------------------------------------- ------------------- *** 表格SUB_VARIANT_F4。 i_variant-report = sy-repid。 *使用报告的名称,此功能模块将搜索变体列表并获取所选的变体 *进入变量的参数字段 通话功能'REUSE_ALV_VARIANT_F4' 出口 IS_VARIANT = I_VARIANT I_SAVE ='X' I_DISPLAY_VIA_GRID ='X' 输入 ES_VARIANT = I_VARIANT1 例外情况 NOT_FOUND = 1 PROGRAM_ERROR = 2 其他= 3。 如果SY-SUBRC = 0。 P_VAR = I_VARIANT1-VARIANT。 万一。 ENDFORM。 " SUB_VARIANT_F4 FORM variant_delete。 通话功能'REUSE_ALV_VARIANT_ALL_MAINTAIN' 出口 is_variant = I_VARIANT-REPORT * i_default = ld_i_default * i_user_specific = ld_i_user_specific * i_tabname_header = ld_i_tabname_header * i_tabname_item = ld_i_tabname_item * is_layout = ld_is_layout * it_default_fieldcat = ld_it_default_fieldcat 例外情况 FOREIGN_LOCK = 1 PROGRAM_ERROR = 2 。 " REUSE_ALV_VARIANT_ALL_MAINTAIN 如果SY-SUBRC EQ 0。 "一切都好 ELSEIF SY-SUBRC EQ 1."异常 "在此处添加例外代码 ELSEIF SY-SUBRC EQ2。"异常 "在此处添加例外代码 万一。 ENDFORM。
(5.1 kB)
以下SAP文档 CL_GUI_ALV_GRID 可为您提供帮助
关于
CL_GUI_ALV_GRID类和REUSE_ALV_ *功能模块是两个完全独立的东西。 他们不一起工作。 您可以使用其中一个。 ALV Grid类为您提供了更多功能。 另外,查找CL_SALV *类以获取ALV网格的较新实现。
一周热门 更多>