ABAP中建立6个选择屏幕分别对应6个透明表,之后我要把数据放在一个内表中,怎么写条件?6个表没有关联。

 我来答
静水逐花
2013-03-24 · TA获得超过1032个赞
知道小有建树答主
回答量:733
采纳率:0%
帮助的人:489万
展开全部
没有关联 你怎么把他放在一个内表里面?
就算没有直接关联 也得有间接的关联啊
比如说物料号 物料描述 物料类型 物料类型描述
这里面物料类型和物料描述是没有关联的
但是他们可以根据物料编码进行关联
这样子 可以在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.
看会飞的_鱼
2013-03-28 · 贡献了超过211个回答
知道答主
回答量:211
采纳率:0%
帮助的人:39万
展开全部
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.
你认真研究下!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuchaochao1516
2013-03-25 · TA获得超过236个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:117万
展开全部
有个办法是建立一个大的内表涵盖你所需要用的所有字段,然后对6个表内容进行循环并将其放入你所建立的大内表中,因为你的6个表是没有关联的,因此我想到这个方法,但是也有很多问题需要注意,比如不同表的行项目如何对应起来,还是要具体问题具体分析
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式