通过模式使用变量进行翻译

2020-08-14 10:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好专家 我使用CONVERT...

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

加入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
6条回答
昵称总是被占用
2020-08-14 11:59

Sandra Rossi

感谢您的完美解释。

在我在网络上找到的所有示例中,都使用了翻译。

先前的代码是否等同于下面的代码?

 IF sy-subrc <> 0。
 RAISE no_conv2pdf。
 ELSE。
 *数据:lv_translate_str TYPE字符串VALUE'〜'
 *,lv_translate_back_str TYPE字符串VALUE`〜`
 **,lv_translate_back_str TYPE字符串VALUE'〜'。
 *将132个长字符串转换为255个长字符串
 LOOP AT lt_pdf_output INTO DATA(ls_pdf_output)。
 **使用'〜'来翻译ls_pdf_output。
 *使用lv_translate_str来翻译ls_pdf_output。
 * CONCATENATE lv_buffer ls_pdf_output INTO lv_buffer。
将lv_buffer ls_pdf_output并入lv_buffer尊重空白。
 ENDLOOP。
 **使用'〜'转换lv_buffer。
 *使用lv_translate_back_str来翻译lv_buffer。
 做。
  ls_mess_att = lv_buffer。
 APPEND ls_mess_att至pt_mess_att。
将lv_buffer左移255个位置。
如果lv_buffer是INITIAL。
退出。
 ENDIF。
 ENDDO。
 ENDIF。

谢谢

Hagit

一周热门 更多>