abap怎么把字段类型不一样的一个内表的数据填充到另外一个内表中。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap怎么把字段类型不一样的一个内表的数据填充到另外一个内表中。相关的知识,希望对你有一定的参考价值。
想做smartforms数值类型的数据显示不出来。于是就想到在传入数据之前就把数据类型给改成字符串类型的,但是在内表赋值的时候提示结构不一样无法相互转换。
参考技术A LOOP AT TAB1.MOVE-CORRESPONDING TAB1 TO TAB2.
APPEND TAB2.
ENDLOOP.本回答被提问者采纳
ABAP OPEN SQL——内表与内表结构
参考技术AABAP 中可以定义结构来包含多个基本类型,便于整理及操作;
结构体不属于数据字典对象(数据字典中可以定义结构体,但不能存储数据),在程序运行时会被作为临时对象存储在内存空间;
在创建内表时,可参考直接定义的结构体作为 内表结构 。
结构体的定义,可以通过两种方式实现:
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字段,怎么把内表的数据添加到数据库中?