主页 > CDN > > 正文

专属服务器_对象存储技术_企业0元试用

浏览:

各位网友好,

我写这个博客是为了演示如何在我们的后台开发中使用Hybrid Odata来实现POST(create)场景。

这个演示使用NetWeaver Gateway Foundation 7.4 SP 0008。

什么是Hybrid Odata?

通常当我们需要在一个后端表中创建/发布多个数据记录时(如创建多个销售订单、多个采购订单等),我们使用"批处理"并在其中封装多个post请求有效负载。如果只有很少的记录,比如1K左右,那么由于巨大的数据流量,UI用户可以感觉到处理过程中的延迟。想象一下,如果在系统中大量创建材料、用户等,数据记录很容易超过至少10倍,情况会是怎样的

对于这种情况,我们还可以探索混合OData开发方法。这意味着将大量数据(可能是包含数千条记录的整个文件内容)发送到OData实体中的单个字符串属性。这可以通过将文件中的数据字符串化为JSON格式并发送来实现。然后这个实体上的一篇文章就可以创建所有记录。

示例

场景:这里我有一个平面文件,其中包含用户详细信息,最终用户可以从用户界面上传,在后端应该创建用户(来自该文件的记录)。它们应该在SU01事务中可见。此外,对于每个用户,我们需要为多个应用程序分配/撤销授权。

OData服务–

创建一个服务(这里是ZCDP\u评估\u管理\u用户)。

创建一个实体(这里是UserUpload)

该实体有一个数据类型为"String"的单一属性。这将保存用户发送的字符串化JSON接口。这个如下所示-

相应的数据字典结构是(这里ZCDP\U ASSMNT\U S\u USER\U DET)是

现在需要读取这个字符串化的JSON数据并将其内容转换为内部表以便进行进一步的处理。

这可以通过使用变换(\u 70/en/abapcall\u transformation.htm))

代码如下–

在数据提供者扩展类中,实体代码的创建方法为

在调试模式下,数据应该如下–

[我将在下面给出有效负载的详细信息]

直到这一步我们读取了从UI发送的数据。如前所述,我们需要将其转换为内部表,以便进行正常的ABAP处理。

下面将显示类型ZCDP\U ASSMNT\U S\U USER\U列表。

现在我们将在调试模式下看到解析的数据。也,我使用了一个嵌套的场景,云购全球,即每个用户记录都有多个应用程序记录,这些记录的访问权限可以从用户处授予/撤消。

和一个用户的嵌套表内容

上面使用的实际表结构是下面显示的ZCDP\U ASSMNT\U user\U LIST

和嵌套表结构是

Post这一切可以完成内部表的内容和正常的ABAP处理

如果需要将内部表重新转换为字符串化的JSON并传递给UI,请使用下面的转换代码–

声明XML Writer类的对象

实例化对象

进行反向转换并将内部表解析为XString.

然后将XString转换为字符串并传递回UI.

*---------------就是这样----------------------*

用于测试的负载是

{

"UsersDetails":"{\"USER\u DET\":[{\"BNAME\":\"EMP9000\",\"MANAGER\":\"KOSTL\","KOSTL\":"1100110011\","T\u LEVEL\":"EMP\","FIRSTNAME\":"Employee\","LASTNAME\":"9000\","FULLNAME\":"Employee9000\","SMTP\u ADDR\":\"EMP9000@DUMMY.COM\",\"LOCATION\":\"GURGAON\",\"DISABLED\":\"X\",\"PROCESSING\u STATUS\":\",\"ERROR\u TEXT\":\",\"APPLICATIONS\":[{\"BNAME\":\"EMP9000\",\"应用程序\标识\":\"管理\类别\"、\"应用程序\模式\指标\":\"X\"、\"处理\状态\":\"\"、\"错误\文本\":\"\"}、{"BNAME\":\"EMP9000\"、\"应用程序\标识\":\"分配\评估器\"、\"应用程序\模式\指标\":\"X\"、\"处理\状态\":\"E\"、\"错误\文本\":\"错误分配\评估器\"}、{"BNAME\":"EMP9901\"、\"管理器\":\"ABCD111\",\"KOSTL\":\"1100110011\",\"T\u LEVEL\":\"EXE\",\"FIRSTNAME\":\"Employee\",\"LASTNAME\":\"9901\",\"FULLNAME\":\"Employee9901\",\"SMTP\u ADDR\":\"EMP9901@DUMMY.COM\",\"LOCATION\":\"GURGAON\",\"DISABLED\":\"X\",\"PROCESSING\u STATUS\":\",\"ERROR\u TEXT\":\",\"APPLICATIONS\":[{\"BNAME\":\"EMP9901\",\"APP\u ID\":\"MANAGE\u CATEGORIES\",返利app怎么用,\"APP\u MODE\u INDICATOR\":\"X\",\"PROCESSING\u STATUS\":\"\",\"ERROR\u TEXT\":\"\"},{\"BNAME\":\"EMP9901\",\"APP\u ID\":\"ASSESSMENT\u RESULTS\",\"APP\u MODE\u INDICATOR\":\"X\",大数据时代的特点,\"PROCESSING\u STATUS\":\"E\",大数据分析网站,\"ERROR\u TEXT\":\"ERROR in user 2 ASSIGN\u EVALUATORS\"}]}"

*需要注意的是,双引号是JSON中的特殊字符,它需要逃走。这是由反斜杠字符(\)完成的

希望这能注入一些新的发展思路。期待有价值的反馈。

非常好的博客,了解先进的理念!!

谢谢阿努巴夫

你好,安基特,

很好的方法。谢谢您!

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 谷歌云_mysql中间件_免费领
    谷歌云_mysql中间件_免费领

    谷歌云_mysql中间件_免费领

    现在工作场所正在发生重大变化。我们协作、计划项目和管理工作量的方式正在改变,如果企业没有做好准备,它们将很快被抛在后面。准确地理解是什么...

  • 域名交易_阿里云翼_企业级
    域名交易_阿里云翼_企业级

    域名交易_阿里云翼_企业级

    通常认为搅动器是一个漏水的桶。你有多少顾客?你损失了多少?你留了多少钱,漏了多少钱?让我们把顾客流失看作是导致医生就诊的原因,比如偏头痛...

  • 金山云_华为云台_怎么申请
    <strong>金山云_华为云台_怎么申请</strong>

    金山云_华为云台_怎么申请

    在我们发布通知(以前是Engage)后的四个月里,我们在后端做了大量的改进。大多数更新在UI中不可见。相反,我们的客户可能已经注意到他们发送的电子...

  • 云主机_深圳企业网站设计_评分榜
    <strong>云主机_深圳企业网站设计_评分榜</strong>

    云主机_深圳企业网站设计_评分榜

    更新:有本文的更新版本。阅读"RPA如何转换数据迁移"(2019年出版)。 在本文中,数据迁移被定义为将数据从旧的遗留系统移动到新的替换系统。通常,...

  • 域名备案_已备案未注册的域名_最新活动
    <strong>域名备案_已备案未注册的域名_最新活动</strong>

    域名备案_已备案未注册的域名_最新活动

    今天是Skype推出十年来的日子,Skype是一款免费的互联网通话应用,用户已超过3亿。Skype是一家来自爱沙尼亚的初创公司,来自点对点文件共享应用Kazaa的开...

云储存

更多 >
  • <strong>数据库_电脑怎么连接云服务器_代金券</strong>
    数据库_电脑怎么连接云服务器_代金券

    本周早些时候,我对拉尔夫·纳德(ralphnader)关于自动驾驶汽车的评论表示异议。纳德先生说,他们是下一个"高速公路上的危险"。他的立场是,无人驾驶...

  • <strong>香港带宽_青海企业网站建设_新注册优惠</strong>
    香港带宽_青海企业网站建设_新注册优惠

    如果你曾经住院过,你就会知道护理人员会定期到你的床边进行一系列常规观察——通常是每小时一次。这些通常包括测量和记录你的血压、体温、心率和...

云储存谷歌云_wps百度云_排行榜
云储存金山云_锁链战记数据库_限时特惠
云储存大带宽_云服务器建网站_年度促销
云储存数据库服务器_剑灵无法连接服务器_最新
云储存企业网站_数据库sql_优惠券