点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好专家 我使用CONVERT...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好专家 我使用CONVERT...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好专家
我使用CONVERT_ABAPSPOOLJOB_2_PDF来将ABAP线轴转换为PDF。 之后,我用翻译命令将132个长字符串转换为255个长字符串。
写作时:
使用'〜'转换ls_pdf_output。
然后在打开pdf时有时可以,但是有时我会收到错误消息"无法提取嵌入式字体…"
写作时:
数据:lv_translate_str TYPE字符串VALUE'〜'
使用lv_translate_str来翻译ls_pdf_output。
然后,当打开pdf时,到目前为止,一切正常。
预先感谢
Hagit
FORM convert_spool_to_pdf
使用pv_job_id类型tsp01-rqident
更改pt_mess_att类型esy_tt_solisti1
。
常量:lc_no(1)TYPE C VALUE''
,lc_device(4)类型c值'LOCL'
。
数据:lt_pdf_output tline的类型表
,lv_buffer TYPE字符串
,ls_mess_att TYPE solisti1"如pt_mess_att的行
。
通话功能'CONVERT_ABAPSPOOLJOB_2_PDF'
出口
src_spoolid = pv_job_id
no_dialog = lc_no
dst_device = lc_device
*导入
* pdf_bytecount =
表格
pdf = lt_pdf_output
例外情况
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
其他=12。
如果sy-subrc <> 0.
RAISE no_conv2pdf。
ELSE。
数据:lv_translate_str TYPE字符串值'〜'
,lv_translate_back_str TYPE字符串VALUE'〜'
。
*将132个长字符串转换为255个长字符串
循环AT lt_pdf_output INTO DATA(ls_pdf_output)。
*使用'〜'转换ls_pdf_output。
使用lv_translate_str来翻译ls_pdf_output。
合并lv_buffer ls_pdf_output INTO lv_buffer。
ENDLOOP。
*使用'〜'转换lv_buffer。
使用lv_translate_back_str转换lv_buffer。
做
ls_mess_att = lv_buffer。
附加ls_mess_att至pt_mess_att。
左移lv_buffer 255个位置。
如果lv_buffer是INITIAL。
退出。
ENDIF。
ENDDO。
ENDIF。
ENDFORM。 " convert_spool_to_pdf
最重要的是,您必须绝对使用参数pdf_bytecount来修剪多余的字节。
代码的问题是只处理字符,必须将字符转换为字节,然后才能修剪多余的字节。
最后,代码会附加 PDF到"某处",并且必须使用字节而不是字符来完成。 如果对字符进行处理,可能会遇到问题。
一周热门 更多>