点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好
在我的ALV报告中,似乎活动仅部分起作用。
未获得自定义GUI状态或标准GUI状态,自定义GUI按钮也未显示。
只有空白的"页面顶部"区域可见。
**当不使用"事件"内部表并将例程传递给I_callback参数时出现相同的问题。
*&------------------------------------------------ --------------------- * *&表格DISPLAY_ALV *&------------------------------------------------ --------------------- * FORM display_alv。 通话功能'REUSE_ALV_GRID_DISPLAY' 出口 * i_callback_program = sy-cprog * i_callback_pf_status_set ='f_pf_status' * i_callback_user_command ='f_user_cmd' * i_callback_top_of_page ='f_top_of_page' * i_grid_title ='GRID DISPLAY' is_layout = wa_layout it_fieldcat = it_fldcat IT_EVENTS = it_event 桌子 t_outtab = it_final 例外情况 PROGRAM_ERROR = 1 其他= 2 。 如果sy-subrc <> 0。 *在这里实施适当的错误处理 万一。 ENDFORM。 " DISPLAY_ALV *&------------------------------------------------ --------------------- * *&表格ALV_EVENTS *&------------------------------------------------ --------------------- * 格式alv_events。 wa_event-name ='TOP_OF_PAGE'。 wa_event-form ='f_top_of_page'。 将wa_event附加到it_event。 清除wa_event。 wa_event-name ='USER_COMMAND'。 wa_event-form ='f_user_cmd'。 将wa_event附加到it_event。 清除wa_event。 wa_event-name ='PF_STATUS_SET'。 wa_event-form ='f_pf_status'。 将wa_event附加到it_event。 ENDFORM。 " ALV_EVENTS *&------------------------------------------------ --------------------- * *&表格F_TOP_OF_PAGE *&------------------------------------------------ --------------------- * 表格f_top_of_page。 数据:it_top TYPE slis_t_listheader, wa_top类似于it_top的行。 wa_top-typ ='H'。 wa_top-info ='材料和植物'。 附加wa_top到it_top。 通话功能" REUSE_ALV_COMMENTARY_WRITE" 出口 it_list_commentary = it_top。 ENDFORM。 " F_TOP_OF_PAGE *&------------------------------------------------ --------------------- * *&表格F_PF_STATUS *&------------------------------------------------ -------------------- * 表格f_pf_status。 设置PF-STATUS'NEWGUI'。 ENDFORM。 " F_PF_STSTUS *&------------------------------------------------ --------------------- * *&表格F_USER_CMD *&------------------------------------------------ --------------------- * 表格f_user_cmd。 数据:r_ucomm就像sy-ucomm, rs自私的TYPE slis_selfield。 案例r_ucomm。 当" PDF"。 执行get_pdf。 当"邮件"。 执行send_mail。 结束。 ENDFORM。
请帮助。 谢谢。alv-problem.jpg (264.4 kB)
好的。 我认为您的意思是希望ALV按钮出现在标题和网格之间。 使用下面的解决方案2可以做到这一点,但这意味着这些按钮将不会成为GUI状态的一部分,因为GUI状态按钮仅出现在屏幕顶部。 但这是一个复杂的解决方案,因此我建议将所有按钮都放在解决方案1的标题上方(在"应用程序工具栏"中)。
解决方案1:将按钮显示在应用程序工具栏中的最上方 一种简单的解决方案->创建一个GUI状态,例如ALV全屏GUI状态(复制程序SAPLKKBL的GUI状态STANDARD_FULLSCREEN)并添加自定义按钮。
解决方案2:在标题和网格之间显示按钮, 您必须在所谓的"容器"中显示网格->使用类CL_SALV_TABLE或CL_GUI_ALV_GRID代替功能模块REUSE_ALV_GRID_DISPLAY。
处理上方容器中的标题。 您可以使用CL_ABAP_BROWSER类显示文本。
通过CL_GUI_SPLITTER_CONTAINER类将两个容器排列成一个容器。
在dynpro屏幕内定义自定义容器元素。
例如(当然在PBO中):
非常感谢Rossi。
您确实竭尽全力帮助我解决问题。
问题现在已经解决,我也一直在对ALV事件使用PERFORM语句,这就是导致问题的原因。
还可以在IT_EVENTS中以大写形式输入"表单名称"。
非常感谢您,并继续努力帮助人们。
一周热门 更多>