![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
ABAP中建立6个选择屏幕分别对应6个透明表,之后我要把数据放在一个内表中,怎么写条件?6个表没有关联。
3个回答
展开全部
没有关联 你怎么把他放在一个内表里面?
就算没有直接关联 也得有间接的关联啊
比如说物料号 物料描述 物料类型 物料类型描述
这里面物料类型和物料描述是没有关联的
但是他们可以根据物料编码进行关联
这样子 可以在select的时候通过join关联
也可以先取出来放在不同的内表 然后根据条件去read放到一起
你这样子六个表 最好不要一次全部join join太多了可能影响速度
就算没有直接关联 也得有间接的关联啊
比如说物料号 物料描述 物料类型 物料类型描述
这里面物料类型和物料描述是没有关联的
但是他们可以根据物料编码进行关联
这样子 可以在select的时候通过join关联
也可以先取出来放在不同的内表 然后根据条件去read放到一起
你这样子六个表 最好不要一次全部join join太多了可能影响速度
追问
left out jion 的话也只能一次,我想用嵌套查询试试,透明表的表结构我用SE16看了,但是主键外键我不知道,我才学ABAP,不知道怎么弄。请问您有例子吗?
追答
就用这种方式去read modify 比较粗暴的就是loop里面写select
data: BEGIN OF itab OCCURS 0,
matnr like mara-matnr,
mtart like mara-mtart,
MTBEZ like T134t-MTBEZ,
END OF itab.
data: itab1 like standard TABLE OF itab WITH HEADER LINE.
SELECT * into CORRESPONDING FIELDS OF TABLE itab
from mara
UP TO 50 rows.
SELECT * into CORRESPONDING FIELDS OF TABLE itab1
from t134t where spras = '1'.
sort itab1 by mtart ASCENDING.
LOOP AT itab.
read table itab1 with key mtart = itab-mtart BINARY SEARCH.
if sy-subrc = 0.
itab-MTBEZ = itab1-MTBEZ.
modify itab TRANSPORTING MTBEZ.
endif.
ENDLOOP.
展开全部
data: BEGIN OF itab OCCURS 0,
matnr like mara-matnr,
mtart like mara-mtart,
MTBEZ like T134t-MTBEZ,
END OF itab.
data: itab1 like standard TABLE OF itab WITH HEADER LINE.
SELECT * into CORRESPONDING FIELDS OF TABLE itab
from mara
UP TO 50 rows.
SELECT * into CORRESPONDING FIELDS OF TABLE itab1
from t134t where spras = '1'.
sort itab1 by mtart ASCENDING.
LOOP AT itab.
read table itab1 with key mtart = itab-mtart BINARY SEARCH.
if sy-subrc = 0.
itab-MTBEZ = itab1-MTBEZ.
modify itab TRANSPORTING MTBEZ.
endif.
ENDLOOP.
你认真研究下!
matnr like mara-matnr,
mtart like mara-mtart,
MTBEZ like T134t-MTBEZ,
END OF itab.
data: itab1 like standard TABLE OF itab WITH HEADER LINE.
SELECT * into CORRESPONDING FIELDS OF TABLE itab
from mara
UP TO 50 rows.
SELECT * into CORRESPONDING FIELDS OF TABLE itab1
from t134t where spras = '1'.
sort itab1 by mtart ASCENDING.
LOOP AT itab.
read table itab1 with key mtart = itab-mtart BINARY SEARCH.
if sy-subrc = 0.
itab-MTBEZ = itab1-MTBEZ.
modify itab TRANSPORTING MTBEZ.
endif.
ENDLOOP.
你认真研究下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个办法是建立一个大的内表涵盖你所需要用的所有字段,然后对6个表内容进行循环并将其放入你所建立的大内表中,因为你的6个表是没有关联的,因此我想到这个方法,但是也有很多问题需要注意,比如不同表的行项目如何对应起来,还是要具体问题具体分析
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询