我应该从一个表z_accounts获取一个字段说excep_point,用于company_code和account_number的组合。我怎么能在abap中做到这一点? 假设为了这个例子,表结构是zaccounts(company_code,account_number,excep_point)。
答案 0 :(得分:3)
假设您拥有完整的主键......
data: gv_excep_point type zaccounts-excep_point.
select single excep_point
into gv_excep_point
from zaccounts
where company_code = some_company_code
and account_number = some_account_number.
如果您没有完整的PK,并且excep_point可能有多个值
data: gt_excep_points type table of zaccounts-excep_point.
select excep_point
into table gt_excep_points
from zaccounts
where company_code = some_company_code
and account_number = some_account_number.
至少还有另一种变体,但最常用的是2种。
答案 1 :(得分:3)
仅供参考。当您在表中选择数据时,您可以编写复杂的表达式来组合不同的字段。例如,您有内部表(itab),其中包含两个字段“A”和“B”。并且您将从DB表(dbtab)中选择具有6列的数据 - “z”,“x”,“y”,“u”,“v”,“w”。例如,每个字段都是char2类型。您的目标是在内部表的“A”字段中对“z”,“x”,“y”,“u”以及“B”字段中的“v”,“w”进行cimbine。你可以编写简单的代码:
select z as A+0(2)
x as A+2(2)
y as A+4(2)
u as A+6(2)
v as B+0(2)
w as B+2(2) FROM dbtab
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE <where condition>.
这个简单的代码使你的工作变得非常简单
答案 2 :(得分:1)
除了Bryans的回答,here是关于Open SQL的官方在线文档。