abap怎么把字段类型不一样的一个内表的数据填充到另外一个内表中。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap怎么把字段类型不一样的一个内表的数据填充到另外一个内表中。相关的知识,希望对你有一定的参考价值。

想做smartforms数值类型的数据显示不出来。于是就想到在传入数据之前就把数据类型给改成字符串类型的,但是在内表赋值的时候提示结构不一样无法相互转换。

参考技术A LOOP AT TAB1.
MOVE-CORRESPONDING TAB1 TO TAB2.
APPEND TAB2.
ENDLOOP.本回答被提问者采纳

ABAP OPEN SQL——内表与内表结构

参考技术A

ABAP 中可以定义结构来包含多个基本类型,便于整理及操作;

结构体不属于数据字典对象(数据字典中可以定义结构体,但不能存储数据),在程序运行时会被作为临时对象存储在内存空间;

在创建内表时,可参考直接定义的结构体作为 内表结构 。

结构体的定义,可以通过两种方式实现:

1.第一种方式

语法:

如:

比如tables: mseg.就创建了一个跟表MSEG类型一样的工作区。还可以创建一个一模一样的工作区tables: *mseg。
tables的最源大好处是取单条数据的时候,可以不加加into语句zd,如:
select single * from mseg.
select single * from *mseg.
如果没有tables语句,则不加into会报错

结构体也就是工作区,结构体是由几个字段组成的一个结构,相当于内表的一行数据。内表是内存中的表可以有多行数据。

SY-SUBRC = 0 代表成功。

其中corresponding表示将查询出来的字段装进表kna1和内表GT_KNA1 共有的字段到内表GT_KNA1
CL_DEMO_OUTPUT=>DISPLAY( GT_KNA1 ). 输出

LOOP AT 表名 INTO 结构名
CLEAR 结构名
ENDLOOP

APPEND 结构体 TO 表名. (向内表的最后一行插入一行,APPEND只能用于标准表中)

APPEND LINES OF表2 FROM 1 TO 3 TO 表1.(向内表1插入内表2中的n行)

INSERT 结构体 INTO 表名 INDEX 索引.(向内表insert数据到指定index,如果不指定插入到的index则功能和APPEND一样)

INSERT LINES OF 表 FROM 1 TO 3 INTO TABLE 表1.

READ TABLE 表名 INTO 结构体 INDEX 索引.(在结构体中读一个表)

以上是关于abap怎么把字段类型不一样的一个内表的数据填充到另外一个内表中。的主要内容,如果未能解决你的问题,请参考以下文章

abap 内表的结构体比数据库的结构体少一个client字段,怎么把内表的数据添加到数据库中?

abap怎么把一个内表A的全部数据赋值到另外一个内表B

ABAP 内表数据类型转换

ABAP基础篇1 内表

abap中,怎么样用read获得内表中某一特定的字段值,而不是整条数据。

ABAP从较大内表取部分数据到较小内表中 怎么取 可以按字段直接取数吗?