选择多个字段进入本地变量

2020-09-05 02:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我目前正在BW7更新规则中编写一个ABAP例程,需要一点帮助。 我当前的代码在2个不同的Select Single语句中从1个DSP完成了2个字段的查找。 我希望能够在一个select语句中完成此查找。

 类别lcl_transform IMPLEMENTATION。

   方法compute_ZPTVAL。

 *重要
 *请求类型rsrequest
 * datapackid类型rsdatapid
 * SOURCE_FIELDS-/BIC/ZPTSO类型/BIC/OIZPTSO
 * SOURCE_FIELDS-/BIC/ZPTQTY类型/BIC/OIZPTQTY
 *出口
 *结果类型_ty_s_TG_1-/BIC/ZPTVAL

     数据:
       MONITOR_REC TYPE rsmonitor。

 * $ * $从例程开始-仅在此行下方插入代码*-*

 数据:so_val TYPE/BIC/OIZPTVAL。
 数据:so_qty类型/BIC/OIZPTQTY。

 从/BIC/AZPTDSSO00选择单个/BIC/ZPTVAL
 INTO so_val
/BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO。

 从/BIC/AZPTDSSO00选择单个/BIC/ZPTQTY
 INTO so_qty
/BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO。

 结果=(so_val/so_qty)* SOURCE_FIELDS-/BIC/ZPTQTY。
 

我知道可以选择相应的结构,例如:

 单选
 CITYFROM AIRPFROM CITYTO AIRPTO FLTIME DEPTIME ARRTIME
 进入WA_SPFLI的相应领域
 从SPFLI
 CARRID = WA_SPFLI-CARRID和CONNID = WA_SPFLI-CONNID的位置。
 

但是我想做的是这样的:

 选择单个/BIC/ZPTVAL,/BIC/ZPTQTY
 从/BIC/AZPTDSSO00
 INTO so_val,so_qty
/BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO。
 

MTIA

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我目前正在BW7更新规则中编写一个ABAP例程,需要一点帮助。 我当前的代码在2个不同的Select Single语句中从1个DSP完成了2个字段的查找。 我希望能够在一个select语句中完成此查找。

 类别lcl_transform IMPLEMENTATION。

   方法compute_ZPTVAL。

 *重要
 *请求类型rsrequest
 * datapackid类型rsdatapid
 * SOURCE_FIELDS-/BIC/ZPTSO类型/BIC/OIZPTSO
 * SOURCE_FIELDS-/BIC/ZPTQTY类型/BIC/OIZPTQTY
 *出口
 *结果类型_ty_s_TG_1-/BIC/ZPTVAL

     数据:
       MONITOR_REC TYPE rsmonitor。

 * $ * $从例程开始-仅在此行下方插入代码*-*

 数据:so_val TYPE/BIC/OIZPTVAL。
 数据:so_qty类型/BIC/OIZPTQTY。

 从/BIC/AZPTDSSO00选择单个/BIC/ZPTVAL
 INTO so_val
/BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO。

 从/BIC/AZPTDSSO00选择单个/BIC/ZPTQTY
 INTO so_qty
/BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO。

 结果=(so_val/so_qty)* SOURCE_FIELDS-/BIC/ZPTQTY。
 

我知道可以选择相应的结构,例如:

 单选
 CITYFROM AIRPFROM CITYTO AIRPTO FLTIME DEPTIME ARRTIME
 进入WA_SPFLI的相应领域
 从SPFLI
 CARRID = WA_SPFLI-CARRID和CONNID = WA_SPFLI-CONNID的位置。
 

但是我想做的是这样的:

 选择单个/BIC/ZPTVAL,/BIC/ZPTQTY
 从/BIC/AZPTDSSO00
 INTO so_val,so_qty
/BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO。
 

MTIA

付费偷看设置
发送
2条回答
Alawn_Xu
1楼 · 2020-09-05 03:04.采纳回答

在in子句中,您可以将多个字段放在方括号内。

帮助文档中的示例:

数据类型为spfli。

 从城市选择卡尔德康尼德城市酒店
        来自spfli
        INTO(wa-carrid,wa-connid,wa-cityfrom,wa-cityto)。
   写:/wa-carrid,wa-connid,wa-cityfrom,wa-cityto。
 ENDSELECT。
bbpeas
2楼-- · 2020-09-05 03:17
乔纳森·布拉瓦茨基否,只有当您使用INTO需要的" ABAP SQL严格模式"时, 在WHERE,ORDER BY和GROUP BY之后。 简而言之,严格模式是变量名称前面有@的情况。 2009年,仅存在非严格模式。 ABAP文档说明了语法。

一周热门 更多>