通过DEBUG发现,文本元素填写时,写入的是文本池。
代码如下:
DATA BEGIN OF hirst2 OCCURS 200.
INCLUDE STRUCTURE textpool.
DATA END OF hirst2.
*hirst2[] = VALUE #( ( ID = 'I' KEY = '001' ENTRY = '集中冻3结' LENGTH = '40' )
* ( ID = 'I' KEY = '002' ENTRY = '集中冻4结' LENGTH = '40' ) ).
READ TEXTPOOL 'ZPPR052' INTO hirst2[] LANGUAGE SY-LANGU.
INSERT TEXTPOOL 'ZPPR052' FROM hirst2 LANGUAGE '1' STATE 'A'.
COMMIT WORK AND WAIT.
代码解释:
1. hirst2: 参考文本池textpool(是个结构)。
1.1 ID:I 代表文本元素, R代表程序title ,S代表选择条件
2. READ TEXTPOOL :读取程序的文本池,放入hirst2中,hirst2只是DEBUG
过程中发现的用于更新的名称,可取其他名。
3.INSERT TEXTPOOL:写入文本池。STATE只能为I / A, I代表INSERT(可能是
能插入,但是测试后发现未成功), A代表覆写,hirst2 里有什么就覆盖什么。
4.获取到文本元素后,可进行长度/名称的修改,我一般长度改为50
5. 别忘了提交
可结合我之前的帖子, 用于程序文本的批量翻译时,翻译的文本长度大于
文本元素初始长度的问题。