2020-08-30 21:27发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在使用Netweaver 04,并且已经开发了一个报告,该报告显示包含动态文档的dynpro,并且它会通过CL_GUI_TIMER类自动刷新。
经过一段时间的正确工作后,报告由于短暂转储而崩溃,原因是有关AC_FLUSH_CALL功能模块的错误退出(CL_GUI_CFW-> FLUSH方法)。 sy-subrc = 2。
你能帮我吗? 预先感谢。
天使
嗨,
您可能会在SAP注意中找到一些信息:180304
此致
GSR。
症状
对控件进行调用。 为了确保在前端执行此操作,请在程序结束之前执行对框架方法CL_GUI_CFW => FLUSH的调用。 但是,这些调用未在前端执行。
其他关键字
控制框架,刷新,CL_GUI_CFW => FLUSH,CL_GUI_CFW = UPDATE_VIEW,自动化队列
原因和先决条件
在调用框架方法CL_GUI_CFW => FLUSH时,如果自动化队列中的方法调用具有返回值,则仅对前端执行组合。 否则,假定与前端的通信也可以在自动刷新时在PBO的末尾进行。 如果要强制通信,请调用CL_GUI_CFW => UPDATE_VIEW而不是CL_GUI_CFW => FLUSH。
解决方案
要确保程序末尾的刷新仍将自动化队列中的数据传输到前端,请使用CL_GUI_CFW => UPDATE_VIEW方法而不是CL_GUI_CFW => FLUSH。
源代码更正
我的监视应用程序每秒访问一个数据库表,以检查其内容是否已更改,并在dynpro上支付特定记录。
FILL_HEADER是固定的,FILL_VALUES可以更改。
这是大多数PBO代码:
设置PF-STATUS'STATUS1100'。
设置TITLEBAR'TITLE1100'。
清除标志。
如果first ='X'。 "原始显示
清除:i_text,is_ma_data。
刷新:i_text,is_ma_data。
创建对象head_cont
导出container_name = top_screen。
创建对象values_cont
导出container_name =值。
创建对象fill_header
导出no_margins ='X'。
创建对象填充值
调用方法fill_header-> initialize_document。
执行fill_field_names。
调用方法fill_header-> merge_document。
调用方法fill_header-> display_document
导出
父= head_cont
容器='FILL_HEADER'
复用控制='X'
redirect_registration ='X'。
first =''。
ENDIF。
...
呼叫方法fill_values-> initialize_document
background_color = bg_color。
执行fill_field_values。
合并文档
调用方法fill_values-> merge_document。
调用方法fill_values-> display_document
父= values_cont
容器='FILL_VALUES'
刷新
创建对象gui_timer。
SET HANDLER event_handler-> on结束于gui_timer。
gui_timer-> interval =超时。
调用方法gui_timer->运行。
调用方法cl_gui_cfw =>更新视图。
谢谢。
安吉洛
我有同样的问题。 您是否找到问题了?
亲爱的所有人,
我遇到了同样的问题。
解决方案是将您的SAP GUI版本/补丁升级到最新版本。
亲切的问候,
马丁
此错误与GUI组件有关。.
某些组件丢失或版本较旧。
是的,尝试获取最新的GUI版本,然后尝试。.
我在自定义z程序中遇到了同样的短暂转储(使用CL_GUI_LIST_TREE的ALV树显示); 在我的情况下,根本原因是为节点表中的字段(treev_ntab-isfolder)传递了一个空白值,为所有节点填充了值'X'。
最多设置5个标签!
嗨,
您可能会在SAP注意中找到一些信息:180304
此致
GSR。
症状
对控件进行调用。 为了确保在前端执行此操作,请在程序结束之前执行对框架方法CL_GUI_CFW => FLUSH的调用。 但是,这些调用未在前端执行。
其他关键字
控制框架,刷新,CL_GUI_CFW => FLUSH,CL_GUI_CFW = UPDATE_VIEW,自动化队列
原因和先决条件
在调用框架方法CL_GUI_CFW => FLUSH时,如果自动化队列中的方法调用具有返回值,则仅对前端执行组合。 否则,假定与前端的通信也可以在自动刷新时在PBO的末尾进行。 如果要强制通信,请调用CL_GUI_CFW => UPDATE_VIEW而不是CL_GUI_CFW => FLUSH。
解决方案
要确保程序末尾的刷新仍将自动化队列中的数据传输到前端,请使用CL_GUI_CFW => UPDATE_VIEW方法而不是CL_GUI_CFW => FLUSH。
源代码更正
我的监视应用程序每秒访问一个数据库表,以检查其内容是否已更改,并在dynpro上支付特定记录。
FILL_HEADER是固定的,FILL_VALUES可以更改。
这是大多数PBO代码:
设置PF-STATUS'STATUS1100'。
设置TITLEBAR'TITLE1100'。
清除标志。
如果first ='X'。 "原始显示
清除:i_text,is_ma_data。
刷新:i_text,is_ma_data。
创建对象head_cont
导出container_name = top_screen。
创建对象values_cont
导出container_name =值。
创建对象fill_header
导出no_margins ='X'。
创建对象填充值
导出no_margins ='X'。
调用方法fill_header-> initialize_document。
执行fill_field_names。
调用方法fill_header-> merge_document。
调用方法fill_header-> display_document
导出
父= head_cont
容器='FILL_HEADER'
复用控制='X'
redirect_registration ='X'。
first =''。
ENDIF。
...
呼叫方法fill_values-> initialize_document
导出
background_color = bg_color。
执行fill_field_values。
合并文档
调用方法fill_values-> merge_document。
调用方法fill_values-> display_document
导出
父= values_cont
容器='FILL_VALUES'
复用控制='X'
redirect_registration ='X'。
ENDIF。
刷新
创建对象gui_timer。
SET HANDLER event_handler-> on结束于gui_timer。
gui_timer-> interval =超时。
调用方法gui_timer->运行。
调用方法cl_gui_cfw =>更新视图。
谢谢。
安吉洛
我有同样的问题。 您是否找到问题了?
亲爱的所有人,
我遇到了同样的问题。
解决方案是将您的SAP GUI版本/补丁升级到最新版本。
亲切的问候,
马丁
此错误与GUI组件有关。.
某些组件丢失或版本较旧。
是的,尝试获取最新的GUI版本,然后尝试。.
我在自定义z程序中遇到了同样的短暂转储(使用CL_GUI_LIST_TREE的ALV树显示); 在我的情况下,根本原因是为节点表中的字段(treev_ntab-isfolder)传递了一个空白值,为所有节点填充了值'X'。
一周热门 更多>