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

金山云_datagridview绑定数据库_稳定性好

小七 141 0

网上有很多关于创建Odata服务的文章,

但是当我开始学习创建Odata服务时,我遇到了很多挑战,

所以我决定开始写这篇博文,这样我就可以把我通过实验收集到的信息传递出去。

在这一系列的Odata和UI5博文中,我将分享我的发展经验,挑战和不同的技巧和窍门,我通过大量的互联网搜索学习到的。

我唯一的座右铭将是节省许多开发人员的时间和努力,他们正在为他们的问题寻找解决方案,这已经出现/解决了别人的问题。

如果你有任何问题/关于这个博客帖子或任何相关的查询对于Odata、ABAP、JAVA、Android或任何其他技术,请发表评论,我将尝试回答。

现在开始创建Odata–

创建第一个Odata服务的步骤–

1。打开T-Code SEGW,点击新建项目。

提供项目名称,创建具有以下结构的项目。

数据模型:包含三个子文件夹。

实体类型:实体类型类似于ABAP结构。我们添加了实体类型中所需的所有字段。

关联:我们将在稍后讨论。

实体集:这类似于ABAP内部表,用于保存Odata服务的数据。现在我们将创建一个新的实体类型并向该实体添加字段。

右键单击实体类型文件夹并选择创建。在弹出窗口中提供实体类型的名称。

选中"创建相关实体集"复选框,这将创建相关实体集(内部表)。

仅当您确定Odata中不需要实体集(内部表)时,才取消选中此复选框。

在实体类型下创建了两个新的子文件夹。属性和导航。

双击属性,在这里我们将字段添加到实体类型。点击下面的按钮,并根据需要创建、添加和删除新字段。

现在您一定想知道,当我们在项目中开发任何OData服务时,我们是否要逐个在实体类型中添加字段。答案是否定的

我们可以选择从DDIC、文件、RFC或搜索帮助导入结构。不必一个接一个地添加字段,我们将从DDIC导入此博客范围所需的结构。

让我们再次创建实体类型,这次我们将选择导入选项。

现在我们有一个弹出窗口,包括以下3个步骤。

步骤1:

提供实体类型的名称和从中导入字段的结构。

单击"下一步"。

步骤2:在此弹出窗口中,我们可以看到EKKO结构及其所有字段。

我们现在可以选择我们服务中需要的字段,然后单击"下一步"下一步

第3步:

在向导的第3个屏幕中显示所有选中的字段

现在我们必须为这个结构选择关键字段。这与为我们的表选择主键相同。

我选择EBELN作为键并单击Finish。

现在我们的实体类型POHeader已经创建。

现在看看我们的项目结构。

我们的实体结构在实体类型的属性下。

在服务维护文件夹下,行业大数据,我们有我们所有的CRUD操作。

现在让我们按照相同的过程创建一个实体类型,这次我们将从EKPO创建POItem。

现在如果您浏览项目结构,您将发现每个实体类型都有单独的属性文件夹,每个实体集都有自己的CRUD操作,并且在服务维护下。

现在,我们准备好采购订单标题和采购订单项目实体类型,即结构和实体集,即内部表。

所以让我们生成并注册我们的服务。点击generate按钮,下面弹出窗口。

这些是我们生成的类,我们将在其中编写自定义代码,根据我们的要求获取数据。

我们暂时跳过这些,点击OK。

检查是否成功生成服务和模型。

现在我们的Odata服务已经成功创建。

现在我们需要注册此服务,营销数据分析,以便其他应用程序可以使用此服务。

首先,我们必须检查嵌入式或集线器部署的系统配置。

如果是嵌入式部署,前端服务器(例如:FIORI服务器)和后端ABAP服务器在同一个系统上。

在集线器系统中,它们在不同的系统上。

我们在将要使用的系统中注册我们的Odata,因此在embedded中,它将是同一个系统,在hub中,将有另一个系统。

在embedded system中,转到您的网关hub(前端系统)并执行t-code/n/IWFND/MAINT\u服务。单击添加服务:

提供系统别名(如果您不知道系统别名,请从SPRO检查),然后单击获取服务

现在将在此处显示给定系统中可用的所有服务。

您可以在外部服务名称中提供服务名称,直接转到您的服务。

现在选择您的服务服务,然后单击添加所选服务

根据您的运输要求在下一个屏幕上提供包裹名称或选择本地,工业物联网,然后单击确定

您的服务现在已经创建。

现在如果您返回服务目录屏幕,您将发现您的服务已经添加到那里。

现在选择您的服务后,单击SAP网关客户端服务转到网关客户端并实际测试您的服务。

单击"执行"按钮,大数据要学什么,您可以看到第一个创建的Odata正在运行。

注意:如果您没有获得状态200,请检查状态号403–禁止500–内部服务器错误在评论中告诉我,我们将尝试解决它们。

如果您想看到JSON格式的输出,只需$format=xml到$format=JSON。

PS:如何检查在执行Odata时是否出现任何错误。

转到/IWFND/ERROR\u LOG,在这里您将找到错误的详细描述,用谷歌搜索它们并尝试解决。或者把它们贴在下面的评论中,我们一起看一看。

现在是最后一部分:我们只得到了Odata的结构,您一定在考虑如何从数据库表中获取数据。

现在,让我们转到前面跳过的部分,我们自动生成的MPC和DPC类。现在转到已创建服务上的服务实现文件夹。

右键单击GetEntitySet并转到ABAP工作台。我们只会编辑结尾有\ EXT的类,不会编辑基类,这是因为每当您重新生成服务时,基类都会被覆盖。

现在单击Entity type get EntitySet方法并重新定义它。

在您的方法中编写下面的代码并激活。

现在再次运行您的服务,好评返现模板,您应该已经有了数据。

我们已经创建了第一个Odata,并从数据库表中获取了数据。