案例表达中的ABAP CDS视图转换

2020-08-18 07:35发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我想在CDS视图中使用C...

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

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


你好

我想在CDS视图中使用CASE条件创建一个新字段,如下所示:

案例
         当usage_6m = 0时为'1'
         当usage_6m <'10'或usage_6m>'0'时为'2'
         当usage_6m <'250'或usage_6m>'10'时为'3'
         否则为" 0"
         以usage_icon结尾

问题在于NUMC10的字段类型为" usage_6m",因此eclipse引发错误:"数据类型冲突"。 因此,我想将该字段强制转换为abap.int4,但这无法正常工作,因为在这样的位置不支持CAST--表达式:

案例
         当cast(usage_6m as abap.int4)= 0时为'1'

 ... 

你们中的任何一个都知道我如何解决这个问题,或者为什么我不能在CASE表达式内强制转换字段。

谢谢!

克里斯蒂娜

6条回答
太Q了
2020-08-18 07:46

要求如果有,则从表1(o)中显示公司代码,如果有,则从表3(Q)中显示表2(P)的公司代码。

公司代码的数据类型不同于表1(o)或表2(p),假设CHAR 04和表3(Q)公司代码CHAR 20

对于表1和2,我们可以编写以下代码

案例

当Q.lsa_bukrs为空时,则为p.company_code

否则Q.lsa_bukrs以Company_code2结尾,

对于3表,我编写了以下代码,但由于表3(Q)中公司代码的数据类型不同而无法正常工作

案例

当t.org_unit_key不为null且Q.lsa_bukrs为null且p.company_code为null时

然后是t.org_unit_key

如果Q.lsa_bukrs不为null,则Q.lsa_bukrs

当Q.lsa_bukrs为空并且p.company_code不为空时,则p.company_code

以Company_code2结尾,

然后我去了,并选择了另一种方法制作一个CDS视图比较两个表和在Main cds视图中比较3 rd 表和第一个视图的结果

其他视图

{键a.lsa_id为lsa_id,

将(Q.lsa_bukrs转换为 abap 。 char (20))作为Q_lsa_bukrs,

将(公司代码以 abap 的形式播出。

cast(案例

当Q.lsa_bukrs isull//采购订单

然后输入公司代码

其他Q.lsa_bukrs

endas abap 。 char (20))作为QP_Company_code,

将t.org_unit_key转换为 abap 。 字符 (20))作为t_Company_code,

Q.gsber_sc为Lsa_Business_area

}

视图主要:在此视图中,比较您从第一个视图收到的公司代码和表3(Q)公司代码

{关键U.QP_Company_code,

美国公司代码,

U.QP_Company_code不为空的情况

然后是U.t_Company_code

其他U.QP_Company_code

endas公司代码,

}

一周热门 更多>