前几天我写了一篇博客,大数据分析网站,介绍了如何使用Smart template+CDS view创建一个下拉列表,它介绍了如何根据后端表的值创建一个下拉列表。
例如,财务大数据,好的云服务器,上面截图中的状态列表来自数据库表ZSTATUS\u FIXEDVAL中的三个条目。
现在一个新的要求是使用固定的值在ABAP域中定义。
下面是实现它的步骤。
1。创建一个名为ZORDER\u STATUS\u domain的ABAP域,包含上一屏幕截图中显示的状态列表。
然后基于此域创建一个ABAP数据元素。
创建一个头数据库表作为根,
创建另一个数据库表作为项。
2。根据两个数据库表相应地创建两个CDS视图:
然后消费CDS视图:
现在除了ABAP侧的剩余工作之外,物联网技术与应用,所有工作都完成了。
3。通过tcode SEGW创建一个新项目,并包含在步骤2中创建的activated consumption CDS视图。如果您不知道如何做,个人免费云服务器,请参阅此博客启用CRM服务订单应用程序的编辑功能。
生成运行时工件。现在DPC和MPC类都生成了。
3.1重新定义MPC\U扩展类的DEFINE方法:
上面的代码将生成突出显示的注释,这些注释可以在元数据中找到:
3.2因为在3.1中,实体集OrderStatusEntitySet和实体类型OrderStatus在SEGW项目中还不存在,所以现在我们要手动创建它们,
只需在SEGW中单击"实体类型"和"实体集"从上下文菜单中创建它们:
创建实体类型的属性:
并将实体类型分配给新创建的实体集。之后重新生成运行时工件。
3.3因为现在framework知道应该显示order\u status\u text的值来呈现下拉列表,所以我们负责为framework提供正确的内容。
Redefine method/IWBEP/IF\u MGW\u APPL\u SRV\u runtime~ GET\u ENTITYSET of your DPC\u EXT:
方法fill\u status\u text负责填写字段order\u status\u text.
所有ABAP类的源代码都可以从这个链接找到:https://github.com/i042416/jerrysiled/tree/master/cds/valueListDomain
注意:如果您注释掉第40行和第46行,
订单状态文本的注释将变为"标准",而不是以前的"固定值"。
在这种情况下,此字段将改为F4值帮助: