云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库_服务器怎么赚钱_年度促销

小七 141 0

在本文中,我描述了创建ODATA服务和实现CRUD(Read)操作方法的逐步过程。在本文中,我尝试在编写业务逻辑的方法中尽可能多地使用ABAP7.4语法。试图展示如何使用ABAP7.4减少代码行。

转到SEGW创建项目:使用"创建项目"按钮创建ZEMP\模型\ ODATA。

右键单击数据模型节点,选择导入->DDIC结构来创建实体类型和实体集。

在下一个屏幕中输入以下输入来创建Soheaderdata entitytype和Soheaderdata entitysetentityset

选择下一个屏幕中的所有字段

选择下一个屏幕中的关键字段,在本例中为SO\U ID。

按Finish按钮创建entitytype和entityset。

重复上述步骤,使用结构为项目和产品创建实体类型和实体集:BAPI\U EPM\U SO\U item和BAPI\U EPM\U PRODUCT\U HEADER。

选择SO\U ID和因此

选择产品

ID作为产品实体类型的关键字段

现在我们已经创建了3个实体类型和实体集:

您还可以看到为3个实体集创建的服务实现

单击生成运行时对象按钮创建运行时工件以实现CRUD操作

分类生成:

现在展开服务维护文件夹,注册ODATA服务。然后保存项目。

或者您也可以使用tcode:/IWFND/MAINT\u service手动执行注册服务。

您会注意到屏幕截图下方的信号灯变为绿色

以测试ODATA服务,数据分析,单击同一屏幕上的维护按钮:

选择ODATA行并单击调用浏览器:

现在我们将在Soheaderdata和Soitemdata以及Soitemdata和ProductHeaderdata之间创建关联和导航属性。

指定关联名称、主体实体类型名称、从属实体类型名称,在下面的窗口中指定基数和导航属性。

在下面的窗口中指定Soheaderdata和Soitemdata之间的引用约束并指定键关系。

在下一个窗口中完成设置以创建关联和导航属性

现在在Soitemdata和ProductHeaderdata之间创建关联和导航属性类似的方法。

删除下面的引用约束,大数据 学习,因为没有键关系

现在我们完成了ODATA设置。在接下来的步骤中,我们将实现数据提供者类方法来检索数据。

在服务实现文件夹中,对于SoheaderdataSet实体集,我们将实现GetEntitySet(Query)方法来检索所有销售订单标题数据。

为此,转到SE24 tcode中的实现类:ZCL\u ZEPM\u MODEL\u ODATA\u DPC\u EXT并重新定义方法:SOHEADERDATASET\u GET\u ENTITYSET.

此方法将在下面的URL中调用以检索销售订单标题数据:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet

我们还将实现URI参数筛选,Skip,上面URL中的Top和Orderby.

要了解odata服务中URI参数的更多信息,请参阅下面的链接:

带有URI参数的URL示例:

对于CurrencyCode字段上的筛选器URI:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet?$filter=CurrencyCode eq'EUR'

对于Skip和Top URI参数:这将跳过2个条目并显示下一个前10个销售订单。

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet?$skip=2&$top=10

对于orderby URI参数:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet?$orderby=GrossAmount

在方法中复制下面的代码:SOHEADERDATASET\u GET\u ENTITYSET

数据声明:

GET Filter和orderby URI参数值。过滤或选择URI参数可以使用下面的方法进行检索。

建立动态where条件并选择销售订单标题数据

处理页面并跳过:

对结果数据集执行orderby并填充et实体集:

使用下面的URL检索特定的销售订单数据,我们将实现方法:SOHEADERDATASET\u GET\u ENTITY for GetEntity(Read)。

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('500000000')

在同一类中重新定义方法,云呢拿,并在方法中复制下面的代码:

现在我们将实现与SoitemdataSet相关的方法:

方法:SoitemdataSet\u GET ENTITYSET to GET all使用URL的销售订单的销售项目::hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('500000000')/SalesOrderItem

或者我们可以使用URL:$expand=SalesOrderItem(Soheaderdata的导航属性):hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('500000000')?$expand=SalesOrderItem

在类:ZCL\u ZEPM\u MODEL\u ODATA\u DPC\u EXT

中重新定义方法SOITEMDATASET\u GET\u ENTITYSET,并复制下面的代码:

下面的URL将在循环中调用方法SOHEADERDATASET\u GET\u ENTITYSET和SOITEMDATASET\u GET\u ENTITYSET,大数据是啥意思,以检索与所有销售相关的所有行项目订单

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet?$expand=SalesOrderItem

接下来我们将实现SOITEMDATASET\u GET\u实体来显示特定销售订单和销售项目的销售项目数据。我们可以使用以下网址:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoitemdataSet(SoId='500000000',SoItemPos='10')

或者,我们可以使用带有导航属性的URL:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('500000000')/SalesOrderItem(SoId='500000000',SoItemPos='10')

重新定义方法SOITEMDATASET\u GET\u ENTITY并复制下面的代码:

下面的URL还检索与单个销售订单"500000000"相关的所有项目:这将调用方法SOHEADERDATASET\u GET\u ENTITY和SOITEMDATASET\u GET\u ENTITYSET.

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('500000000')?$expand=SalesOrderItem

接下来我们将实现:PRODUCTHEADERDAT\u GET\u ENTITYSET方法来检索产品详细信息:

下面的URL检索与销售订单500000000和项目10相关的产品详细信息:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoitemdataSet(SoId='500000000',SoItemPos='10')/SalesOrderProduct

此URL调用方法SOITEMDATASET\u GET\u ENTITY,然后调用PRODUCTHEADERDAT\u GET\u ENTITYSET

或者我们也可以使用URL:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('5000000000')/SalesOrderItem(SoId='500000000',SoItemPos='10')/SalesOrderProduct

此URL调用SOHEADERDATASET\u GET\u ENTITY和SOITEMDATASET\u GET\u ENTITY,然后调用PRODUCTHEADERDAT\u GET\u ENTITYSET.

下面的URL将检索与订单相关的所有项目和产品信息:5000000000

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/SoheaderdataSet('500000000')?$expand=SalesOrderItem/SalesOrderProduct

此URL调用SOHEADERDATASET\u GET\u ENTITY和SOITEMDATASET\u GET\u ENTITYSET,然后调用PRODUCTHEADERDAT\u GET\u ENTITYSET。

下面的URL将检索所有产品信息:

:hostnumber/sap/opu/odata/sap/ZEPM\u MODEL\u odata\u SRV/ProductHeaderdataSet

此URL调用PRODUCTHEADERDAT\u GET\u ENTITYSET。

现在重定义方法:PRODUCTHEADERDAT获取实体设置并复制下面的代码: