刷新智能表单自定义控件

2020-08-22 11:32发布

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

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


嗨,大家好!

我使用自定义控件在一页中完成了选择条件和智能表单报告,并且工作正常,但是问题是当我使用新的选择条件时我无法刷新旧的页面。

代码:-

如果IT_PDF是INITIAL。
数据:LV_FNMAE类型TDSFNAME。


调用功能'SSF_FUNCTION_MODULE_NAME'
导出
FORMNAME ='ZSF_TKT'
导入
FM_NAME = LV_FNMAE
例外情况
NO_FORM = 1
NO_FUNCTION_MODULE = 2 br>其他=3。
如果SY-SUBRC <>0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。

WA_CPARAM-PREVIEW ='X'。
WA_CPARAM-LANGU ='E'。
WA_CPARAM-NO_DIALOG ='X'。 "它将阻止打印机对话框。
WA_CPARAM-GETOTF ='X'。"获取OTF数据
WA_OUTPUT-TDDEST ='LP01'。 "设置打印机

调用功能LV_FNMAE
导出
IT_CPNDTL = IT_CPNDTL
IT_TKT = IT_TKT
IT_DOCFOP = IT_DOCFOP
CARNUMCOD = CARNUMCOD
DOCNUM = DOCNUM
CONTROL_PARTER = WA_CPARAM
OUTPUT_OPTIONS = WA_OUTPUT
USER_SETTINGS =空间
导入""已添加
JOB_OUTPUT_INFO = GV_JOB_OUTPUT""已添加
例外
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2 = 3
USER_CANCELED = 4
其他=5。
如果SY-SUBRC <>0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
与SY-MSGV1 SY -MSGV2 SY-MSGV3 SY-MSGV4。
ELSE。


* IT_OTF_DATA = WA_JOB_OUTPUT_INFO-OTFDATA。
"将OTF数据转换为PDF
呼叫功能'CONVERT_OTF'
导出
格式='PDF'
导入
BIN_FILESIZE = GV_BIN_FILESIZE
* BIN_FILE = BIN_FILE

OTF = GV_JOB_OUTPUT-OTFDATA
线= IT_PDF
例外情况
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV br> ERR_BAD_OTF = 4
其他=5。

*通话功能'HR_IT_DISPLAY_WITH_PDF'
*表格
* OTF_TABLE = GV_JOB_OUTPUT-OTFDATA。

"创建控件及其容器
如果MAIN_CONTAINER处于初始状态。
创建对象MAIN_CONTAINER
导出
CONTAINER_NAME ='CUST_CONTROL'
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
其他=6。

"将pdf转换为xstring字符串
遍历IT_PDF并转换为WA_PDF。
>将WA_PDF分配到铸造。
在BYTE模式下将GV_CONTENT 插入到GV_CONTENT。
ENDLOOP。

"创建PDF查看器对象
创建对象HTML_VIEWER
导出< br> PARENT = MAIN_CONTAINER。
如果SY-SUBRC <>0。
"否PDF查看器
ENDIF。
"将xstring转换为二进制表以传递给LOAD_DATA方法
CALL FUNCTION' SCMS_XSTRING_TO_BINARY'
导出
缓冲区= GV_CONTENT
表格
BINARY_TAB = IT_DATA。
"加载HTML
调用方法HTML_VIEWER-> LOAD_DATA(
EXPORTING
TYPE =' 应用程序'
SUBTYPE ='pdf'
导入
ASSIGNED_U RL = GV_URL
更改
DATA_TABLE = IT_DATA
例外情况
DP_INVALID_PARAMETER = 1
DP_ERROR_GENERAL = 2
CNTL_ERROR = 3
其他= 4)。
如果是SY-SUBRC <> 0.
WRITE:/'错误:CONTROL-> LOAD_DATA'。
退出。
ENDIF。
"显示它
调用方法HTML_VIEWER-> SHOW_URL(URL = GV_URL IN_PLACE = 'X')。
如果SY-SUBRC <> 0.
WRITE:/'错误:CONTROL-> SHOW_DATA'。
退出。
ENDIF。
ENDIF。

ENDIF。
ENDIF。

(42.2 kB)

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

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


嗨,大家好!

我使用自定义控件在一页中完成了选择条件和智能表单报告,并且工作正常,但是问题是当我使用新的选择条件时我无法刷新旧的页面。

代码:-

如果IT_PDF是INITIAL。
数据:LV_FNMAE类型TDSFNAME。


调用功能'SSF_FUNCTION_MODULE_NAME'
导出
FORMNAME ='ZSF_TKT'
导入
FM_NAME = LV_FNMAE
例外情况
NO_FORM = 1
NO_FUNCTION_MODULE = 2 br>其他=3。
如果SY-SUBRC <>0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。

WA_CPARAM-PREVIEW ='X'。
WA_CPARAM-LANGU ='E'。
WA_CPARAM-NO_DIALOG ='X'。 "它将阻止打印机对话框。
WA_CPARAM-GETOTF ='X'。"获取OTF数据
WA_OUTPUT-TDDEST ='LP01'。 "设置打印机

调用功能LV_FNMAE
导出
IT_CPNDTL = IT_CPNDTL
IT_TKT = IT_TKT
IT_DOCFOP = IT_DOCFOP
CARNUMCOD = CARNUMCOD
DOCNUM = DOCNUM
CONTROL_PARTER = WA_CPARAM
OUTPUT_OPTIONS = WA_OUTPUT
USER_SETTINGS =空间
导入""已添加
JOB_OUTPUT_INFO = GV_JOB_OUTPUT""已添加
例外
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2 = 3
USER_CANCELED = 4
其他=5。
如果SY-SUBRC <>0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
与SY-MSGV1 SY -MSGV2 SY-MSGV3 SY-MSGV4。
ELSE。


* IT_OTF_DATA = WA_JOB_OUTPUT_INFO-OTFDATA。
"将OTF数据转换为PDF
呼叫功能'CONVERT_OTF'
导出
格式='PDF'
导入
BIN_FILESIZE = GV_BIN_FILESIZE
* BIN_FILE = BIN_FILE

OTF = GV_JOB_OUTPUT-OTFDATA
线= IT_PDF
例外情况
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV br> ERR_BAD_OTF = 4
其他=5。

*通话功能'HR_IT_DISPLAY_WITH_PDF'
*表格
* OTF_TABLE = GV_JOB_OUTPUT-OTFDATA。

"创建控件及其容器
如果MAIN_CONTAINER处于初始状态。
创建对象MAIN_CONTAINER
导出
CONTAINER_NAME ='CUST_CONTROL'
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
其他=6。

"将pdf转换为xstring字符串
遍历IT_PDF并转换为WA_PDF。
>将WA_PDF分配到铸造。
在BYTE模式下将GV_CONTENT 插入到GV_CONTENT。
ENDLOOP。

"创建PDF查看器对象
创建对象HTML_VIEWER
导出< br> PARENT = MAIN_CONTAINER。
如果SY-SUBRC <>0。
"否PDF查看器
ENDIF。
"将xstring转换为二进制表以传递给LOAD_DATA方法
CALL FUNCTION' SCMS_XSTRING_TO_BINARY'
导出
缓冲区= GV_CONTENT
表格
BINARY_TAB = IT_DATA。
"加载HTML
调用方法HTML_VIEWER-> LOAD_DATA(
EXPORTING
TYPE =' 应用程序'
SUBTYPE ='pdf'
导入
ASSIGNED_U RL = GV_URL
更改
DATA_TABLE = IT_DATA
例外情况
DP_INVALID_PARAMETER = 1
DP_ERROR_GENERAL = 2
CNTL_ERROR = 3
其他= 4)。
如果是SY-SUBRC <> 0.
WRITE:/'错误:CONTROL-> LOAD_DATA'。
退出。
ENDIF。
"显示它
调用方法HTML_VIEWER-> SHOW_URL(URL = GV_URL IN_PLACE = 'X')。
如果SY-SUBRC <> 0.
WRITE:/'错误:CONTROL-> SHOW_DATA'。
退出。
ENDIF。
ENDIF。

ENDIF。
ENDIF。

(42.2 kB)
付费偷看设置
发送
3条回答
小熊yu生菜
1楼 · 2020-08-22 12:19.采纳回答

您的主容器对象必须刷新。 完成选择后,您可以释放该对象,或者如果选择标准有任何更改,则删除并重新创建它。

问候

Venkat

SC_Yao
2楼-- · 2020-08-22 11:54

它可以正常工作 谢谢

野沐沐
3楼-- · 2020-08-22 12:18
 html_viewer-> do_refresh()。

下次使用[CODE]按钮

一周热门 更多>