如何设置CL_GUI_HTML_VIEWER pdf文件?

2020-08-14 22:18发布

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

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


嗨,

我正在尝试使用CL_GUI_HTML_VIEWER在对话框中设置pdf文件,但我尝试在以下代码输出结果(如image-1)中将 LOAD DATA 方法与参数一起使用。 当我尝试输入='TEXT'和子类型='HTML'时,输出结果如image-2。 如何显示dbox中的数据?

"全局数据定义
 数据:go_pdf_object类型参考cl_gui_html_viewer,
       go_pdf_dialog类型参考cl_gui_dialogbox_container,
       go_pdf_handler类型参考gc_pdf_handler。

 在子程序中获取pdf文件并转换为二进制文件
 数据:gv_fm_name类型rs38l_fnam,
       gs_fp_docparams TYPE sfpdocparams,
       gs_fp_outputparams TYPE sfpoutputparams,
       gs_fp_outputforms TYPE fpformoutput。

 "二进制itab定义
 类型:开始于ty_itab,
        TYPE x LENGTH 255行,
       ty_itab结束。
 数据:x255的lt_itab类型标准表," ty_itab,
       lv_url TYPE char255,
       lv_size TYPE i VALUE 0。

 gs_fp_outputparams-getpdf = abap_true。

 通话功能'FP_JOB_OPEN'
   改变
     ie_outputparams = gs_fp_outputparams。

 通话功能" FP_FUNCTION_MODULE_NAME"
   出口
     i_name = gv_form_name
   输入
     e_funcname = gv_fm_name。

 通话功能gv_fm_name
   出口
   /1bcdwb/docparams = gs_fp_docparams
     iv_sflight = lt_sflight
     iv_scarr = lt_scarr
     it_sbook = lt_sbook
   输入
   /1bcdwb/formoutput = gs_fp_outputforms。
 " xstring转换为二进制
 通话功能'SCMS_XSTRING_TO_BINARY'
   出口
     缓冲区= gs_fp_outputforms-xml
   输入
     output_length = lv_size
   桌子
     binary_tab = lt_itab。

 调用功能" FP_JOB_CLOSE"。


 创建对话框并设置数据
 创建对象go_pdf_dialog
   出口
      宽度= 900
      高度= 450。

 创建对象go_pdf_handler。
 设置处理go_pdf_handler-> close_pdf_view FOR go_pdf_dialog。
 创建对象go_pdf_object
   出口
     父母= go_pdf_dialog。

 呼叫方法go_pdf_object-> load_data
   出口
     type ='APPLICATION'''TEXT'
     子类型='PDF'''HTML'
     大小= lv_size
   输入
     Assigned_url = lv_url
   改变
     data_table = lt_itab
   例外情况
     dp_invalid_parameter = 1
     dp_error_general = 2
     cntl_error = 3
     html_syntax_notcorrect = 4
     其他= 5。

 呼叫方法go_pdf_object-> show_data
   出口
     网址= lv_url
     in_place = abap_true。

 呼叫方法go_pdf_dialog-> set_visible
   出口
     可见= abap_true。

(44.7 kB)

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

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


嗨,

我正在尝试使用CL_GUI_HTML_VIEWER在对话框中设置pdf文件,但我尝试在以下代码输出结果(如image-1)中将 LOAD DATA 方法与参数一起使用。 当我尝试输入='TEXT'和子类型='HTML'时,输出结果如image-2。 如何显示dbox中的数据?

"全局数据定义
 数据:go_pdf_object类型参考cl_gui_html_viewer,
       go_pdf_dialog类型参考cl_gui_dialogbox_container,
       go_pdf_handler类型参考gc_pdf_handler。

 在子程序中获取pdf文件并转换为二进制文件
 数据:gv_fm_name类型rs38l_fnam,
       gs_fp_docparams TYPE sfpdocparams,
       gs_fp_outputparams TYPE sfpoutputparams,
       gs_fp_outputforms TYPE fpformoutput。

 "二进制itab定义
 类型:开始于ty_itab,
        TYPE x LENGTH 255行,
       ty_itab结束。
 数据:x255的lt_itab类型标准表," ty_itab,
       lv_url TYPE char255,
       lv_size TYPE i VALUE 0。

 gs_fp_outputparams-getpdf = abap_true。

 通话功能'FP_JOB_OPEN'
   改变
     ie_outputparams = gs_fp_outputparams。

 通话功能" FP_FUNCTION_MODULE_NAME"
   出口
     i_name = gv_form_name
   输入
     e_funcname = gv_fm_name。

 通话功能gv_fm_name
   出口
   /1bcdwb/docparams = gs_fp_docparams
     iv_sflight = lt_sflight
     iv_scarr = lt_scarr
     it_sbook = lt_sbook
   输入
   /1bcdwb/formoutput = gs_fp_outputforms。
 " xstring转换为二进制
 通话功能'SCMS_XSTRING_TO_BINARY'
   出口
     缓冲区= gs_fp_outputforms-xml
   输入
     output_length = lv_size
   桌子
     binary_tab = lt_itab。

 调用功能" FP_JOB_CLOSE"。


 创建对话框并设置数据
 创建对象go_pdf_dialog
   出口
      宽度= 900
      高度= 450。

 创建对象go_pdf_handler。
 设置处理go_pdf_handler-> close_pdf_view FOR go_pdf_dialog。
 创建对象go_pdf_object
   出口
     父母= go_pdf_dialog。

 呼叫方法go_pdf_object-> load_data
   出口
     type ='APPLICATION'''TEXT'
     子类型='PDF'''HTML'
     大小= lv_size
   输入
     Assigned_url = lv_url
   改变
     data_table = lt_itab
   例外情况
     dp_invalid_parameter = 1
     dp_error_general = 2
     cntl_error = 3
     html_syntax_notcorrect = 4
     其他= 5。

 呼叫方法go_pdf_object-> show_data
   出口
     网址= lv_url
     in_place = abap_true。

 呼叫方法go_pdf_dialog-> set_visible
   出口
     可见= abap_true。

(44.7 kB)
付费偷看设置
发送
7条回答
吹牛啤
1楼 · 2020-08-14 22:39.采纳回答

您正在使用:

 gs_fp_outputforms-xml 

它对应于PDF的XML数据,因此通常显示XML。

如果要使用PDF二进制文件,请使用:

 gs_fp_outputforms-pdf 
太Q了
2楼-- · 2020-08-14 22:33

组合两个答案即可使用。 我刚刚尝试过纠正您的代码,并且可以使用。

悠然的二货
3楼-- · 2020-08-14 22:58

在SAP标准代码中,该值使用小写字母

调用方法go_pdf_object-> load_data
   出口
     类型='应用程序'''文本'
     subtype ='pdf'"'HTML'

显然,它用于生成访问该表的密钥SDOKFEXT

四川大学会员
4楼-- · 2020-08-14 22:36

您在SP01中或多或少地拥有相同的代码/ SP02交易

您是否检查过此代码?

骆驼绵羊
5楼-- · 2020-08-14 22:40
调用方法go_html-> load_data
     出口
       类型='BIN'
       子类型='PDF'
       大小= lv_size
     输入
       Assigned_url = lv_url
     改变
       data_table = lt_bintab
     例外情况
       dp_invalid_parameter = 1
       dp_error_general = 2
       cntl_error = 3
       其他= 4。
 
落灬小鱼
6楼-- · 2020-08-14 22:33

然后使用" Show_url"方法

歪着头看世界
7楼-- · 2020-08-14 22:49

您好MelikşahBilir ,您能告诉我们go_pdf_handler对象的类型是什么吗

谢谢

一周热门 更多>