CDS视图:如何按状态选择订单以获取ODATA服务

2020-09-18 16:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好开发人员, 我对CDS(核...

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

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


你好开发人员,

我对CDS(核心数据服务)视图技术不熟悉。 因此,我正在尝试开发第一个SAPUI5应用程序,该应用程序应显示"已下达"和正在运行的生产订单的特定数据。

为此,我试图创建一个CDS视图以从表AUFK中选择订单,并结合表JEST的状态。

我做了很多失败的事情,但得到一个选择,该选择只给我一个订单列表(没有重复输入),而系统状态例如 不像以下内容:

定义视图ZPP_RUNNING_ORDERS_V
 从aufk中选择为A
 内在玩笑J
     在J.objnr = A.objnr
  
 {A.aufnr,
     J.stat}
 其中A.autyp ='10'并且
       J.inact =''和
       J.stat <>'I0076'和//DLFL =删除标志
       J.stat <>'I0045'和//TECO =技术上已完成
       J.stat <>'I0046'和//CLSD =已关闭
     (J.stat ='I0002'或//REL =已发布
       J.stat ='I0009'或//CNF =已确认
       J.stat ='I0010')//PCNF =部分确认
 

但是由于加入,我当然会得到很多重复条目。 没有JOIN的测试也失败了。 而且,如果您花费大量时间,最好去问专家:-)

所以请帮助我!

如何创建一个给出"已下达"订单的平面列表的视图。

也许解决方案是创建多个CDS视图...

如果没有可能的视图解决方案:什么是最好的技术?

非常感谢您!

最诚挚的问候,

马库斯

P.S.1我专注于CDS视图以获得ODATA服务。 因此,请不要使用ABAP解决方案,不要使用功能模型或类! ABAP的解决方案很容易...

P.S.2我正在使用7.40 SAP ERP ...因此,请不要使用HANA解决方案:-)

2条回答
My梦
2020-09-18 16:43 .采纳回答

从概念上讲,内部联接将始终为所有联接表提供数据交集。 不能有重复项(据此,我将表1中的数据和表2中的数据理解为两个单独的记录)。

最坏的情况是,您可以在CDS中的表之间创建关联,然后在Open SQL的where子句中使用关联属性,这将强制解析器运行内部联接,结果将是所有表中的数据交集。/p>

一周热门 更多>