AC_FLUSH_CALL之后的短暂转储

2020-08-30 21:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在使用Netweaver 04,并且已经开发了一个报告,该报告显示包含动态文档的dynpro,并且它会通过CL_GUI_TIMER类自动刷新。

经过一段时间的正确工作后,报告由于短暂转储而崩溃,原因是有关AC_FLUSH_CALL功能模块的错误退出(CL_GUI_CFW-> FLUSH方法)。 sy-subrc = 2。

你能帮我吗? 预先感谢。

天使

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在使用Netweaver 04,并且已经开发了一个报告,该报告显示包含动态文档的dynpro,并且它会通过CL_GUI_TIMER类自动刷新。

经过一段时间的正确工作后,报告由于短暂转储而崩溃,原因是有关AC_FLUSH_CALL功能模块的错误退出(CL_GUI_CFW-> FLUSH方法)。 sy-subrc = 2。

你能帮我吗? 预先感谢。

天使

付费偷看设置
发送
6条回答
hengyuye
1楼-- · 2020-08-30 21:48

嗨,

您可能会在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。

源代码更正

路亽曱_Ryan
2楼-- · 2020-08-30 21:41

我的监视应用程序每秒访问一个数据库表,以检查其内容是否已更改,并在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_c​​olor。

执行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 =>更新视图。

谢谢。

安吉洛

南山jay
3楼-- · 2020-08-30 21:49

我有同样的问题。 您是否找到问题了?

暮风yp
4楼-- · 2020-08-30 21:54

亲爱的所有人,

我遇到了同样的问题。

解决方案是将您的SAP GUI版本/补丁升级到最新版本。

亲切的问候,

马丁

灬番茄
5楼-- · 2020-08-30 21:50

此错误与GUI组件有关。.

某些组件丢失或版本较旧。

是的,尝试获取最新的GUI版本,然后尝试。.

SAP小菜
6楼-- · 2020-08-30 21:38

我在自定义z程序中遇到了同样的短暂转储(使用CL_GUI_LIST_TREE的ALV树显示); 在我的情况下,根本原因是为节点表中的字段(treev_ntab-isfolder)传递了一个空白值,为所有节点填充了值'X'。

一周热门 更多>