第一范文网 - 专业文章范例文档资料分享平台

ABAP动态内表使用的例子

来源:用户分享 时间:2020-06-18 本文由柒夏 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

关键技巧: 1,

创建动态内表:

a, 动态内表的结构的定义.

动态内表表结构的定义必须使用表结构与 table type: lvc_t_fcat一样的内表.

一般情况下,我们都内表的所有列定义成字符型.

b, 根据表结构生成内表.

系统提供了一个标准的method来产生动态表,使用方法如下:

2, 动态内表的赋值:

a, 获取指定的字段 b, 给指定的字段赋值

3, 读取动态内表的值:

a, 获取指定的字段 b, 读取指定的字段值

REPORT zdyn_test.

FIELD-SYMBOLS: TYPE STANDARD TABLE, , .

DATA: dy_table TYPE REF TO data, dy_line TYPE REF TO data,

it_structure TYPE lvc_t_fcat, wa_structure TYPE lvc_s_fcat.

START-OF-SELECTION.

PERFORM create_structure. \定义内表的结构

PERFORM create_dynamic_table. \按照定义的内表结构,产生一个内表

PERFORM write_data_to_dyntable. \向动态内表中写数

PERFORM output_dyntable_data. \从动态内表中取数,并写到屏幕

*&---------------------------------------------------------------------* *& Form create_structure

*&---------------------------------------------------------------------* FORM create_structure .

wa_structure-fieldname = 'COL1'. \第一列列名

wa_structure-col_pos = 1. \表示第一列 --- 可心省略,默认情况下,第一行对应到生产内表的第一列,如果指定,则按指定的列顺序生成内表

wa_structure-inttype = 'C'. \数据类型 wa_structure-intlen = 6. \长度 APPEND wa_structure TO it_structure.

wa_structure-fieldname = 'COL2'. \第二列列名

wa_structure-col_pos = 2. \表示第二列--- 可心省略,默认情况下,第一行对应到生产内表的第一列,如果指定,则按指定的列顺序生成内表

wa_structure-inttype = 'C'. \数据类型 wa_structure-intlen = 6. \长度 APPEND wa_structure TO it_structure.

wa_structure-fieldname = 'COL3'. \第三列名

wa_structure-col_pos = 3. \表示第三列 --- 可心省略,默认情况下,第一行对应到生产内表的第一列,如果指定,则按指定的列顺序生成内表

wa_structure-inttype = 'C'. \数据类型 wa_structure-intlen = 6. \长度 APPEND wa_structure TO it_structure.

ENDFORM. \

*&---------------------------------------------------------------------* *& Form create_dynamic_table

*&---------------------------------------------------------------------* FORM create_dynamic_table .

CALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTING

it_fieldcatalog = it_structure IMPORTING

ep_table = dy_table.

ASSIGN dy_table->* TO . \用表类型指针 指向 数据对象的内容. ENDFORM. \

*&---------------------------------------------------------------------* *& Form write_data_to_dyntable

*&---------------------------------------------------------------------* FORM write_data_to_dyntable .

DATA:wa_new_line TYPE REF TO data. DATA:i TYPE n. DATA:j TYPE n.

CREATE DATA wa_new_line LIKE LINE OF . \建立一个与动态内表结构相同的数据对象,且数据对象为是一个结构 ASSIGN wa_new_line->* TO .

\用指针指向该结构 DO 3 TIMES. i = i + 1. CLEAR j.

LOOP AT it_structure INTO wa_structure. j = j + 1.

ASSIGN COMPONENT wa_structure-fieldname OF STRUCTURE TO . \用指针 指向工作区中的一个字段,字段名为wa_structure-fieldname.

CONCATENATE i j INTO . \给指针指向的字段赋值 ENDLOOP.

APPEND TO . ENDDO.

ENDFORM. \

*&---------------------------------------------------------------------* *& Form output_dyntable_data

*&---------------------------------------------------------------------* FORM output_dyntable_data .

LOOP AT it_structure INTO wa_structure. WRITE: wa_structure-fieldname(5). ENDLOOP.

LOOP AT INTO . WRITE: / .

LOOP AT it_structure INTO wa_structure.

ASSIGN COMPONENT wa_structure-fieldname OF STRUCTURE TO . 中的一个字段,字段名为wa_structure-fieldname. WRITE: . ENDLOOP. ENDLOOP.

ENDFORM. \

案例分析

REPORT Y_TEST_BY_KB.

DATA: GR_TABLE TYPE REF TO CL_SALV_TABLE. FIELD-SYMBOLS: TYPE STANDARD TABLE, , .

用指针 指向工作区\

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技ABAP动态内表使用的例子 全文阅读和word下载服务。

ABAP动态内表使用的例子 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1083740.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top