之前项目上在修改交货单文本,遇到一个问题: 发现用SAVE_TEXT修改后,文本没有变. 但是READ_TEXT文本,发现能读出来. 只是显示的没修改. 后来想起,有时候表里有个字段,是控制是否去
之前项目上在修改交货单文本,遇到一个问题:
发现用SAVE_TEXT修改后,文本没有变.
但是READ_TEXT文本,发现能读出来.
只是显示的没修改.
后来想起,有时候表里有个字段,是控制是否去显示的.
比如 AUFK-LTEXT:长文本存在.
订单长文本
如果这个字段为空
就算修改了长文本,还是不会显示的……
SAVE_TEXT修改不了
就用 CREATE_TEXT试了试,是可以显示出来的
代码如下:
PARAMETERS:FID LIKE THEAD-TDID DEFAULT 'ZR01',
FNAME LIKE THEAD-TDNAME DEFAULT '8000002140',
FOBJECT LIKE THEAD-TDOBJECT DEFAULT 'VBBK',
TEXT TYPE STRING DEFAULT '1234567890'.
DATA: FLINES LIKE TABLE OF TLINE WITH HEADER LINE.
"文本内容
FLINES-TDLINE = TEXT.
APPEND FLINES.
"修改文本
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
FID = FID
FLANGUAGE = '1'
FNAME = FNAME
FOBJECT = FOBJECT
* SAVE_DIRECT = 'X'
* FFORMAT = '*'
TABLES
FLINES = FLINES
EXCEPTIONS
NO_INIT = 1
NO_SAVE = 2
OTHERS = 3.
字段解释如下
如果修改表头文本
查看文本日志:
一般头对象object都是vbbk,id zr01是业务配的,
FNAME:对于抬头,就是凭证号
对于行项目,是凭证+行项目,比如:8000002140000010
8000002140000010(凭证8000002140,行项目000010)
行项目的object多数是 vbbp.具体按下图查看
另外还有种说法
"SAVE MODE DIRECT参数打上X,默认值为空。打上X后,STXH表里才会更新长文本的信息。否则只能用READ_TEXT读取出长文本,但在前台看不到"
我自己并没有试,有兴趣的朋友可以自己测试下,也欢迎把测试结果留言反馈给我们~