CDS元数据表

2020-09-19 09:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我需要弄...

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

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


专家们,

我需要弄清楚在哪里可以找到有关CDS视图(DDL)及其对应的ABAP对象的元数据。 我认为生成的ABAP视图将包含与生成它们的CDS视图相同的参数,但事实并非如此。 我有一个示例(来自S4/HANA IDES系统的C_PurRequisitionNoTouch),其中CDS定义了三个参数,但生成的ABAP视图(CMMPRNOTOUCH)在SE11中的定义中仅列出了两个"选择条件"。 但是,在查询ABAP视图时,必须设置所有三个参数,否则会出现语法错误。 因此,我需要以某种方式找到CDS DDL的元数据,以便能够查询ABAP视图。 我在表DD02V(字段" WITH PARAMETERS")中拥有的ABAP视图元数据和选择条件在表DD28S中。 有一个表RSODPABAPCDSVIEW将CDS与ABAP视图链接,完整的CDS DDL可以在DDDDLSRC中找到。 我当然可以解析CDS DDL,但是我不确定如果扩展CDS视图包含多个"层"的参数,那将如何工作。 有什么想法吗?

这是一个说明问题的小程序:

报告ZS4H2。
 数据:
   l_date_function(32)类型c,
   l_start_date TYPE日期,
   l_end_date TYPE日期。
 数据:
   t_view带有标题行的CMMPRNOTOUCH的类型表。

   l_date_function ="。
   l_start_date ='20160101'。
   l_end_date ='20180101'。

 *选择*从C_PurRequisitionNoTouch(P_DateFunction = @l_date_function,P_StartDate = @l_start_date,P_EndDate = @l_end_date)
 *这有效

 选择*从CMMPRNOTOUCH(P_DateFunction = @l_date_function,P_StartDate = @l_start_date,P_EndDate = @l_end_date)
 *这有效

 *选择*从CMMPRNOTOUCH(P_StartDate = @l_start_date,P_EndDate = @l_end_date)
 *这不起作用
  
 表@t_view的对应字段。

 如果sy-subrc = 0。
   环视t_view。
     写:/t_view-PURCHASEREQUISITION,
              t_view-PURCHASEREQUISITIONITEM,
              t_view-SUPPLIER。
   结局。
 万一。
 

(48.7 kB)
4条回答
我是小鹏鹏啊
2020-09-19 09:55

您好,霍斯特,谢谢 你的答案。 不幸的是,即使阅读了博客和注释,我仍然不确定我是否理解。 我想通过从ABAP程序中调用它来提取CDS视图数据。 使用Open SQL的限制不是问题。 我应该从CDS视图还是ABAP视图(随时间/发行版稳定哪一个)中选择数据? 还是没有? 以我的示例为例:

  1. CDS视图:SELECT * FROM C_PurRequisitionNoTouch ...除了定义本身(ABAP类或表)以外,还有其他元数据来源吗?
  2. ABAP视图:SELECT * FROM CMMPRNOTOUCH ...在哪里可以找到他视图的元数据,以便找出如何查询它的方法?
  3. 或者,我的设计完全错了吗?

/Mats

一周热门 更多>