修改文本CREATE_TEXT/SAVE_TEXT/READ_TEXT(有时候修改完显示无变化)

标签:
save_text修改文本无变化read_textcreate_text |
分类: 报错及解决办法 |
最近修改外向交货单文本
对于行项目,是凭证+行项目,比如:
8000002140000010
8000002140000010(凭证8000002140,行项目000010)
发现用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.
DATA:
"文本内容
FLINES-TDLINE
APPEND
"修改文本
CALL
*
*
字段解释如下
如果修改表头文本
FNAME:对于抬头,就是凭证号
行项目的object多数是 vbbp.具体按下图查看
另外,co02 co03做文本创建修改,显示不了,
就是AUFK-LTEXT这个值导致的
网上有个帖子:
可以参考下,主要提到的是:
怀疑是生产订单抬头表AUFK有个字段LTEXT,是标识该订单有没有长文本的
我在调试标准代码的时候如果把这个字段的值改为1,就可以在CO03中显示我用SAVE_TEXT创建的长文本,去掉就不显示
但是现在生产订单我是bdc做的,做时候怎么才能把这个字段的值赋进去呢?
我在调试标准代码的时候如果把这个字段的值改为1,就可以在CO03中显示我用SAVE_TEXT创建的长文本,去掉就不显示
但是现在生产订单我是bdc做的,做时候怎么才能把这个字段的值赋进去呢?
你看看你的工单中long text的栏位指示标记没有为X,应该是表AUFK中的long text
indicator的那个字段,这个字段必须为X,才可以在工单中show出来。你的程序需要先更新表AUFK中的这个字段才可以。
SAVE MODE
DIRECT参数打上X,默认值为空。打上X后,STXH表里才会更新长文本的信息。否则只能用READ_TEXT读取出长文本,但在前台看不到