如何从表中获取字段以组合两个字段

时间:2010-10-01 14:13:52

标签: sap abap

我应该从一个表z_accounts获取一个字段说excep_point,用于company_code和account_number的组合。我怎么能在abap中做到这一点? 假设为了这个例子,表结构是zaccounts(company_code,account_number,excep_point)。

3 个答案:

答案 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的官方在线文档。