SAP SCRIPT将页码重置为0

2020-09-22 02:43发布

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

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


全部

我正在使用READ_TEXT功能模块读取长文本。

我正在使用新的ELEMENT来打印此文本。 以下是我当前的代码。

 *声明
 数据:开始于table_lines发生次数0。
 包括结构线。
 数据:END OF table_lines。

 *打印文字
 在table_lines处循环播放。
     PERFORM下划线。
 结局。

 *新元素
   通话功能" WRITE_FORM"
     导出"下划线
       元素='UNDERLINE'
       window ='MAIN'。
 

现在,用户说文本需要格式化。 因此,我将文本格式设置如下

问题是,在我将以下逻辑设置为格式之后,我开始将页码设为3的0、3的1和3的2,而不是3的1、3的2和3的3。

如果我不使用以下代码进行格式化,则效果很好。

不确定,我缺少什么或正在发生什么。 有人可以帮忙吗? 谢谢。

 *格式化长文本
 数据:li_datatab类型tdtab_c132,
         lw_datatab(132)C型,
         lw_tline TYPE tline,
         li_tline类型标准线表。



   li_tline [] = table_lines []。

   清除table_lines。

   刷新table_lines []。

   通话功能'CONVERT_ITF_TO_ASCII'
   出口
     代码页='0000'
     formatwidth = 100
     语言= sy-langu
     tabletype ='ASC'
   输入
     c_datatab = li_datatab
   桌子
     itf_lines = li_tline。

   循环至li_datatab进入lw_datatab。
     如果sy-tabix = 1。
       lw_tline-tdformat ='*'。
     万一。
     lw_tline-tdline = lw_datatab。
     APPEND lw_tline至table_lines。
     清除:lw_datatab,lw_tline。
   结局。

 *再次在table_lines调用循环以打印文本

 

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

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


全部

我正在使用READ_TEXT功能模块读取长文本。

我正在使用新的ELEMENT来打印此文本。 以下是我当前的代码。

 *声明
 数据:开始于table_lines发生次数0。
 包括结构线。
 数据:END OF table_lines。

 *打印文字
 在table_lines处循环播放。
     PERFORM下划线。
 结局。

 *新元素
   通话功能" WRITE_FORM"
     导出"下划线
       元素='UNDERLINE'
       window ='MAIN'。
 

现在,用户说文本需要格式化。 因此,我将文本格式设置如下

问题是,在我将以下逻辑设置为格式之后,我开始将页码设为3的0、3的1和3的2,而不是3的1、3的2和3的3。

如果我不使用以下代码进行格式化,则效果很好。

不确定,我缺少什么或正在发生什么。 有人可以帮忙吗? 谢谢。

 *格式化长文本
 数据:li_datatab类型tdtab_c132,
         lw_datatab(132)C型,
         lw_tline TYPE tline,
         li_tline类型标准线表。



   li_tline [] = table_lines []。

   清除table_lines。

   刷新table_lines []。

   通话功能'CONVERT_ITF_TO_ASCII'
   出口
     代码页='0000'
     formatwidth = 100
     语言= sy-langu
     tabletype ='ASC'
   输入
     c_datatab = li_datatab
   桌子
     itf_lines = li_tline。

   循环至li_datatab进入lw_datatab。
     如果sy-tabix = 1。
       lw_tline-tdformat ='*'。
     万一。
     lw_tline-tdline = lw_datatab。
     APPEND lw_tline至table_lines。
     清除:lw_datatab,lw_tline。
   结局。

 *再次在table_lines调用循环以打印文本

 
付费偷看设置
发送
2条回答
Baoming ROSE
1楼 · 2020-09-22 03:16.采纳回答

Salil,您好

我想您遇到问题的原因是:功能模块CONVERT_ITF_TO_ASCII在内部调用功能模块TEXT_CONTROL_REPLACE,该功能模块始终将页码重置为0。(调用功能INIT_TEXTSYMBOL)。

因此,如果在表单中使用了页码(或总页数),则无法在OPEN_FORM ... CLOSE_FORM块内调用CONVERT_ITF_TO_ASCII。

所以有两种可能性:将CONVERT_ITF_TO_ASCII移动到OPEN_FORM前面,或者尝试不使用它,也许可以使用FORMAT_TEXTLINES函数。

最诚挚的问候,

Hedvig

吹牛啤
2楼-- · 2020-09-22 03:31

非常感谢Hedvig。 这说明了重置页码的原因。 我喜欢你的建议。 再次感谢您的所有帮助。

一周热门 更多>