以pdf格式显示smartform而不是"打印机"视图

2020-09-13 19:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,专家们,我有一个要求,以PD...

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

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


嗨,专家们,我有一个要求,以PDF格式显示Smartform,并且我写了一个Pice,其中显示了打印机视图,以便可以通过它查看pdf文档,这不是我所需要的。 需要停用此打印机视图并将文档直接显示为PDF。

示例:运行报告后,您将获得打印或预览报告的选项。 当您点击预览时,表单应在Adobe中打开。 我已经在门户网站中看到了此功能,但要求是在SAP GUI中显示它。

为此我已经使用

 wa_control_parameters-no_dialog ='X'。

在wa_job_output_info-otfdata INTO w_otf中循环。
     将w_otf附加到it_itcoo。
   结局。
    通话功能'HR_IT_DISPLAY_WITH_PDF'
     桌子
       otf_table = it_itcoo。
 

但是我只收到了一张黑色照片?

有什么方法可以满足此要求,还是应该继续将表单下载到本地硬盘上?

(17.8 kB)
7条回答
小c菟菟
2020-09-13 19:37

感谢西蒙妮的回答 我在使用类CL_GUI_HTML_VIEWER时传递正确的表时遇到问题,直到现在我还没有调试过所有表,并且所有表仍以0值开头。

我将代码再次放在这里,如果您告诉您错误在哪里或该表在哪里,那将是很好的选择,

最诚挚的问候

呼叫功能'/1BCDWB/SF00000045'

     出口

       i_ekko = i_ekko

       i_lfa1 = i_lfa1

       control_parameters = ls_control_param

     输入

       job_output_info = l_job_output_info

     桌子

       it_ekpo = it_ekpo

     例外情况

       formatting_error = 1

       internal_error = 2

       send_error = 3

       user_canceled = 4

       其他= 5。

   如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

   万一。

   通话功能'CONVERT_OTF'

     出口

       格式=" PDF"

     输入

       bin_filesize = pdf_fsize

     桌子

       otf = l_job_output_info-otfdata

       行数= lt_pdf

     例外情况

       err_max_linewidth = 1

       err_format = 2

       err_conv_not_possible = 3

       其他= 4。


   通话画面100。

 *&模块STATUS_0100输出

 *&------------------------------------------------  --------------------- *

 *文字

 * -------------------------------------------------  --------------------- *

 模块状态_0100输出。

   将PF状态设置为``100''。

 * SET TITLEBAR'xxx'。

   创建对象lo_docking_container

     出口

       repid = sy-repid

       dynnr ='100'" SY-DYNNR

       侧面= lo_docking_container-> dock_at_left

       扩展名= 1200。

   创建对象g_html_control

     出口

       父= lo_docking_container。

 *载入HTML

   呼叫方法g_html_control-> load_data(

     出口

       类型='文本'''应用程序'

       子类型='pdf'"'pdf'

       大小= pdf_fsize

     输入

       Assigned_url = lv_url

     改变

       data_table = lt_data

     例外情况

       dp_invalid_parameter = 1

       dp_error_general = 2

       cntl_error = 3

       其他= 4)。


     调用方法g_html_control-> show_data

     出口

       网址= lv_url

     例外情况

       其他= 3。

   如果sy-subrc <> 0。

     消息ID sy-msgid类型sy-msgty编号sy-msgno

                与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。

   万一。



 ENDMODULE。  " STATUS_0100输出

 *&------------------------------------------------  --------------------- *

 *&模块USER_COMMAND_0100输入

 *&------------------------------------------------  --------------------- *

 *文字

 * -------------------------------------------------  --------------------- *

 MODULE user_command_0100输入。

   数据ok_code类似于sy-ucomm。

   将sy-ucomm移动到ok_code。

 *清除ok_code。

   案例ok_code。

     当"返回"或"退出"或"取消"时。

 *呼叫方法lo_docking_container->免费。

       调用方法g_html_control->免费。

       离开屏幕0。

     当别人。

   结束。

 ENDMODULE。  " USER_COMMAND_01 

一周热门 更多>