点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好
在下面的代码中USER_COMMAND表格不起作用。 单击自定义PF-STATUS按钮时,没有任何响应。 在调试中,指针不会进入f_user_cmd FORM。
我激活了PF-STATUS中的GUI按钮。
任何人都可以找出问题所在。
谢谢。
FORM 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 *&------------------------------------------------ --------------------- * FORM f_pf_status使用rt_extab类型slis_t_extab。 设置PF-STATUS'NEWGUI'。 ENDFORM。 " F_PF_STSTUS *&------------------------------------------------ --------------------- * *&表格F_USER_CMD *&------------------------------------------------ --------------------- * FORM f_user_cmd使用r_ucomm像sy-ucomm rs_selfield TYPE slis_selfield。 案例r_ucomm。 当" PDF"。 执行get_pdf。 当"邮件"。 执行send_mail。 结束。 ENDFORM。 " F_USER_CMD *&------------------------------------------------ --------------------- * *&表格ALV_EVENTS *&------------------------------------------------ --------------------- * 格式alv_events。 wa_event-name ='PF_STATUS_SET'。 wa_event-form ='F_PF_STATUS'。 附加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 ='TOP_OF_PAGE'。 wa_event-form ='F_TOP_OF_PAGE'。 附加wa_event至it_event。 ENDFORM。 " ALV_EVENTS *&------------------------------------------------ --------------------- * *&表格display_alv *&------------------------------------------------ --------------------- * FORM display_alv。 通话功能'REUSE_ALV_GRID_DISPLAY' 出口 i_callback_program ='ZALV_PDF_MAIL' 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
请勿使用FM。 使用CL_SALV_TABLE或CL_GUI_ALV_GRID。 然后,您不仅在使用现代方法,而且不需要PF-STATUS->您可以直接在网格中添加按钮。
激活CUA界面=所有GUI状态和 该程序的GUI标题:
您的按钮是否像" ACTIVE"一样 在下面的两个屏幕截图中?
如果未激活,则显示为红色 在用户界面"应用程序工具栏"中的项目列表中(无法附加我不知道为什么的图像-注释中最多只能包含2张图像?)。
如果一切正常 然后我看不出问题是什么,请添加更多详细信息,例如您是否从另一个(以及如何)调用程序,其他标准按钮是否触发F_PF_STATUS,是否检查了SAP注释,是否可以创建新程序 从头开始,看看错误是否仍然出现...
为什么要使用过时的FORM? 为什么在地球上它们都以f_为前缀-这会增加什么值或含义?
谢谢罗西。
我根据您的屏幕截图将"功能类型"更改为"普通应用程序功能"(以前我将它们设置为"本地GUI功能"),并写了BREAK-POINT。 现在,如果我单击按钮,它们将触发调试器。
但是要测试,我正在使用WRITE语句编写一些文本,但这没有发生。
我不能在ALV报告中使用WRITE语句。
谢谢。
谁告诉你这给了你非常糟糕的建议。 没有任何理由不首先学习OO。 您只需要了解过程,即可维护或遵循旧程序。 但是使用CL_SALV_TABLE并不是面向对象的程序-只是以正确的方式调用一堆方法。 阅读有关它的一些博客。
许多SAP都是完全用面向对象编写的,尤其是新领域。 如果您不知道,那么您将受到严重限制。 我绝不会聘用没有在ABAP对象中编程的ABAP开发人员。
一周热门 更多>