案例表达中的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条回答
愤怒的猪头君
1楼 · 2020-08-18 08:01.采纳回答

您是否可以将NUMC10视为一个更简单的字符串

 CASE
   当usage_6m ='0000000000'然后是'1'
   当usage_6m <'0000000010'然后为'2'
   当usage_6m <'0000000250'然后'3'
   否则为'0'
 END AS usage_icon 

致谢,
雷蒙德

huskylover
2楼-- · 2020-08-18 07:50

您好先生

我也有同样的要求,您是如何实现的。请告诉我,非常感谢您能早日答复。

谢谢

Ravilla

Nan4612
3楼-- · 2020-08-18 07:39

嗨克里斯蒂娜,

抱歉,但是搜索到的CASE不支持LHS表达式,请参见 docu。

您必须找到一种解决方法,例如 就像雷蒙德建议的那样。

Aaron 3364
4楼-- · 2020-08-18 08:02

哇,这是一个简单的解决方法! 谢谢!

Baoming ROSE
5楼-- · 2020-08-18 07:46

克里斯蒂娜,你好

将您的usage_6m作为字符串,然后尝试。 希望它能起作用。

致谢

Ram

太Q了
6楼-- · 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公司代码,

}

一周热门 更多>