SAP SMARTFORMS打印文本内容手动换行

文章目录

    • 1.背景
    • 2.实现
    • 2.1 显示字段本身非长文本
      • 2.1.1 定义输出字段全局变量
      • 2.1.2 拼接字段
      • 2.1.3 将字符型变量转换成长文本内表
      • 2.1.4 输出字段设置文本类型
    • 2.2 显示字段本身为长文本
      • 2.2.1 输出字段定义为长文本内表
      • 2.2.2 直接将长文本内表赋值给输出长文本内表
      • 2.2.3 输出字段设置文本类型

1.背景

在实际项目中会遇到同一个文本内容里有多个字段值,实现换行显示,比如以下有三段文字,需要换行显示
SAP SMARTFORMS打印文本内容手动换行_第1张图片

2.实现

2.1 显示字段本身非长文本

2.1.1 定义输出字段全局变量

SAP SMARTFORMS打印文本内容手动换行_第2张图片

2.1.2 拼接字段

将多个字段值用换行符cl_abap_char_utilities=>cr_lf拼接起来,并且赋值给字符型变量
在这里插入图片描述

2.1.3 将字符型变量转换成长文本内表

在需要换行转换的字段处建立新程序行,调用以下函数转换
SAP SMARTFORMS打印文本内容手动换行_第3张图片
DATA:
lt_stram_lines TYPE STANDARD TABLE OF string,
ls_string TYPE string,
lt_text TYPE tline_t.

CLEAR gt_text.

ls_string = gs_item-name.
APPEND ls_string TO lt_stram_lines.

CALL FUNCTION ‘CONVERT_STREAM_TO_ITF_TEXT’
EXPORTING
stream_lines = lt_stram_lines
lf = ‘X’
TABLES
itf_text = gt_text.

2.1.4 输出字段设置文本类型

文本类型为动态文本,加入输出的全局内表GT_TEXT
SAP SMARTFORMS打印文本内容手动换行_第4张图片

2.2 显示字段本身为长文本

当输出字段本身来自长文本,那就不需要拼接字段和转换了,会更简单。步骤如下:

2.2.1 输出字段定义为长文本内表

SAP SMARTFORMS打印文本内容手动换行_第5张图片

2.2.2 直接将长文本内表赋值给输出长文本内表

SAP SMARTFORMS打印文本内容手动换行_第6张图片

2.2.3 输出字段设置文本类型

SAP SMARTFORMS打印文本内容手动换行_第7张图片

你可能感兴趣的:(ABAP,SAP,打印手动换行,SMARTFORMS手动换行,文本内容手动换行)