ABAP长文本
来源:互联网 发布:32bit安装tensorflow 编辑:程序博客网 时间:2024/04/30 09:42
在ABAP中,我们经常会用到长文本来描述详细信息。
长文本存储在表格:STXH(抬头),STXL(行项目)中。
长文本中有四个关键属性:
object、id、name、langguge
即:
TDOBJECT
TDNAME
TDID
TDSPRAS
其中language不必解释,object 和 id 可以在se75中进行配置,一个object 可以对一个多个ID,比如我们常用的 TEXT + ST
name 一般用对象号。
而对长文本的操作主要是 READ_TEXT 和 SAVE_TEXT
分别实现长文本的读取和写入,例如:
REPORT ZLJC9999.
DATA: TD_NAME LIKE STXH-TDNAME.
DATA ITAB_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE.
TD_NAME = 'LJC0000001'.
CLEAR ITAB_LINE.
REFRESH ITAB_LINE.
ITAB_LINE-TDLINE = 'ARE YOU DOG?'. "把多行长文本加在一起
APPEND ITAB_LINE.
DATA:L_THEAD TYPE THEAD.
L_THEAD-TDOBJECT = 'ZLJC'.
L_THEAD-TDNAME = TD_NAME.
L_THEAD-TDID = 'SB'.
L_THEAD-TDSPRAS = SY-LANGU.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
HEADER = L_THEAD
TABLES
LINES = ITAB_LINE.
COMMIT WORK.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = L_THEAD-TDID
LANGUAGE = SY-LANGU
NAME = TD_NAME
OBJECT = L_THEAD-TDOBJECT
TABLES
LINES = ITAB_LINE
EXCEPTIONS
NOT_FOUND = 4.
IF SY-SUBRC = 0.
LOOP AT ITAB_LINE.
WRITE: ITAB_LINE-TDLINE . "把多行长文本加在一起
ENDLOOP.
ENDIF.
一般我们还会提供长文本的录入、编辑、显示界面。这个需要用面向OO的组件。在屏幕上画一个Container。
初始化长文本界面的例子:
DATA:ppcont_desc1 TYPE REF TO cl_gui_custom_container,
ppedit_desc1 TYPE REF TO cl_gui_textedit,
create object: ppcont_desc1 exporting container_name = 'LONGTEXT1',
ppedit_desc1 exporting parent = ppcont_desc1.
call method ppedit_desc1->set_toolbar_mode
exporting
toolbar_mode = cl_gui_textedit=>true. "长文本 菜单加载 FALSE 取消菜单
call method ppedit_desc1->set_statusbar_mode
exporting
statusbar_mode = cl_gui_textedit=>false.
call method ppedit_desc1->register_event_dblclick
exporting
appl_event = 'X'.
call method ppedit_desc1->set_visible
exporting
visible = 'X'.
长文本写到编辑区域的例子:
l_tdid = 'ST'.
l_tdobject = 'TEXT'.
refresh: it_tab3[],
text_tab[].
clear it_tab3.
call function 'READ_TEXT'
exporting
id = l_tdid
language = sy-langu
name = p_tdname
object = l_tdobject
tables
lines = it_tab3
exceptions
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
others = 8.
if sy-subrc <> 0.
endif.
loop at it_tab3.
line = it_tab3-tdline.
append line to text_tab.
endloop.
refresh it_tab3[].
call method ppedit_desc1->set_text_as_r3table
exporting
table = text_tab
* EXCEPTIONS
* error_dp = 1
* error_cntl_call_method = 2
* error_dp_create = 3
* potential_data_loss = 4
* OTHERS = 5
.
refresh text_tab[].
将界面中的长文本保存的例子:
break ljc.
refresh: text_tab[],
it_tab3.
* CALL METHOD ppedit_desc->get_text_as_r3table
* IMPORTING
* table = text_tab.
call method ppedit_desc->get_text_as_r3table
exporting
only_when_modified = ''
importing
* TEXT = TEXT_TAB.
table = text_tab
exceptions
error_dp = 1
error_cntl_call_method = 2
error_dp_create = 3
potential_data_loss = 4
others = 5.
loop at text_tab into field.
it_tab3-tdline = field.
append it_tab3.
clear: field,it_tab3.
endloop.
**** 保存长文本
l_thead-tdobject = 'TEXT'.
clear l_thead-tdname.
* concatenate 'PP' ZPLM090_PP-PPNUM into L_THEAD-TDNAME.
l_thead-tdname = tab_check-objnr.
l_thead-tdid = 'ST'.
l_thead-tdspras = sy-langu.
call function 'SAVE_TEXT'
exporting
header = l_thead
tables
lines = it_tab3.
commit work.
- ABAP读取长文本
- ABAP长文本
- ABAP长文本
- ABAP:读取长文本内容
- ABAP 取长文本实例
- ABAP长文本控件的两个例程
- ABAP读取长文本的方法
- 读取QM决策长文本的ABAP测试程序
- ABAP 对长文本的操作 SAVE_TEXT & READ_TEXT
- ABAP 对长文本的操作 SAVE_TEXT & READ_TEXT
- ABAP 自己定义一个长文本TEXT的编写、保存
- 在CMOD上写ABAP取长文本
- SAP ABAP编程 获取物料长文本-其他长文本同理
- abap调用编辑框实现输入长文本、大块文本,并获得编辑框中的内容
- SAP 如何获取长文本 (ABAP),并写通用函数
- Formscript 读取长文本
- 长文本应用
- 读取订单长文本
- Message LongText(消息的详细长文本)
- iOS当UITableViewCell被选中或者高亮的时候,它的所有子view的颜色都会改变
- Unix/Linux开源世界资源链接汇总
- 函数声明后面的const用法
- (leetCode)Count and Say --- 统计读
- ABAP长文本
- c语言之字符串
- Spring MVC拦截器通过注解方式实现防止表单重复提交
- iOS使用NSMutableSet记录cell控件选中状态避免cell重用问题
- UITabbarController
- 史上最全的机器学习资料(上)
- 【caffe-Windows】微软官方caffe之 Python接口配置及图片生成实例
- 人脸识别---利用caffe实现多层特征学习人脸识别网络
- Java三大特性之一封装