动态内表

作者: Mmm_余安 | 来源:发表于2017-12-20 15:55 被阅读19次

动态内表相当于从一张表里捞数据,filecat是不固定的,想用什么传什么。

例子:

type-pools: slis.

data: it_fcat type slis_t_fieldcat_alv,

      is_fcat like line of it_fcat.

data: it_fieldcat type lvc_t_fcat, "存储内表想要的字段

      is_fieldcat like line of it_fieldcat.

data: new_table type ref to data. "引用变量,指向任意类型,但在创建时必须指定对象类型

data: new_line type ref to data.

field-symbols: <l_table> type any table,

<l_line> type any,

<l_field> type any.



call function 'REUSE_ALV_FIELDCATALOG_MERGE'
"把表SYST的字段给it_fcat[]
exporting

i_structure_name = 'SYST'

changing

ct_fieldcat = it_fcat[].

loop at it_fcat into is_fcat where not reptext_ddic is initial.

move-corresponding is_fcat to is_fieldcat.

is_fieldcat-fieldname = is_fcat-fieldname.

is_fieldcat-ref_field = is_fcat-fieldname.

is_fieldcat-ref_table = is_fcat-ref_tabname.

append is_fieldcat to it_fieldcat.

endloop.


"创建动态内表
call method cl_alv_table_create=>create_dynamic_table

exporting

it_fieldcatalog = it_fieldcat

importing

ep_table = new_table.



assign new_table->* to <l_table>.

create data new_line like line of <l_table>.

assign new_line->* to <l_line>.



do 30 times.

assign component 'SUBRC' of structure <l_line> to <l_field>.
"将<l_line>中SUBRC组件赋给<l_field>
<l_field> = sy-index.

insert <l_line> into table <l_table>.

enddo.

loop at <l_table> assigning <l_line>.

assign component 'SUBRC' of structure <l_line> to <l_field>.

write <l_field>.

endloop.

assign component 'SUBRC' of structure <l_line> to <l_field> 这句话可谓是精髓,不用考虑你的字段到底是什么,反正会给你分配
优点:由于FILECAT不是写死的,就比较灵活
缺点:个人觉得麻烦

相关文章

  • 动态内表

    动态内表相当于从一张表里捞数据,filecat是不固定的,想用什么传什么。 例子: assign componen...

  • 动态内表

    由于今天碰了这个问题所以特此学习了动态内表。变成自己的知识。总结: 网上面的只是告诉我们怎么做。为什么这么做的底层...

  • ABAP动态内表

    使用了动态内表的方法,参考了网上的案例,具体如下

  • SAP ABAP动态内表

    动态内表的创建和使用主要有以下几点,其中方法三最简单。: 1.动态内表的创建,首先要定义动态结构,然后再根据定义的...

  • ABAP动态内表实战

    1、取数表 数据如下: 2、上代码 3、运行结果

  • 通过FIELDCAT构建动态内表

    ALV界面根据选择界面输入值的变化而变化,所以用动态内表比较方便 循环多少次,这个根据不同的项目进行计算,最好把限...

  • sqlalchmy动态创建表和动态反向映射获取model

    根据表名动态创建表 动态获取模型

  • abap系列-动态创建内表或结构

    封装了个动态创建对象的类,可以参考ddic对象创建,也可以根据程序内的本地变量创建.- 使用方法1:根据ddic对...

  • iOS Sqlite数据库的使用

    总体内容1、sqlite基本操作封装2、动态建表-基本创建3、动态建表-忽略字段4、动态更新表-迁移数据5、保存/...

  • 2018-09-21

    目录 1、制作销售人员表动态 2、制作日期销售表动态 一、制作销售人员表动态 选择A1:B7单元格→公式→根据所选...

网友评论

    本文标题:动态内表

    本文链接:https://www.haomeiwen.com/subject/fmygwxtx.html