HTTP同步请求-sap.m.BusyDialog不起作用

2020-08-27 09:51发布

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

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


专家们,

我开发了一个ui5应用程序,在循环中,我正在使用JavaScript调用销售订单API 在S4HANA云中更新多个销售订单。

示例代码:

var a = new sap.m.BusyDialog();

a.open();

for循环{

var data = null;

var xhr = new XMLHttpRequest();

xhr.withCredentials = false; xhr.addEventListener(" readystatechange",function(){if(this.readyState === this.DONE){console.log(this.responseText);}});

//设置请求方法

//API沙箱的API端点

xhr.open(" PATCH"," https://XXXX.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('{SalesOrder }')"); //可用的API端点//https://{host}:{port}/sap/opu/odata/sap/API_SALES_ORDER_SRV//添加请求标头xhr.setRequestHeader(" Content-Type"," application/json",false );

xhr.setRequestHeader(" Accept"," application/json");

//API沙箱的API密钥xhr.setRequestHeader(" APIKey"," ");

//适用于生产性API端点的可用安全方案

//基本身份验证

//基本身份验证:在授权标头中以Base64提供用户名:密码

//xhr.setRequestHeader(" Authorization"," Basic ");

//发送请求xhr.send(data);

}

a.close();

但是BusyDialog不起作用。 需要您的帮助。

谢谢

拉克什曼·巴拉那古(Lakshman Balanagu)。

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

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


专家们,

我开发了一个ui5应用程序,在循环中,我正在使用JavaScript调用销售订单API 在S4HANA云中更新多个销售订单。

示例代码:

var a = new sap.m.BusyDialog();

a.open();

for循环{

var data = null;

var xhr = new XMLHttpRequest();

xhr.withCredentials = false; xhr.addEventListener(" readystatechange",function(){if(this.readyState === this.DONE){console.log(this.responseText);}});

//设置请求方法

//API沙箱的API端点

xhr.open(" PATCH"," https://XXXX.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('{SalesOrder }')"); //可用的API端点//https://{host}:{port}/sap/opu/odata/sap/API_SALES_ORDER_SRV//添加请求标头xhr.setRequestHeader(" Content-Type"," application/json",false );

xhr.setRequestHeader(" Accept"," application/json");

//API沙箱的API密钥xhr.setRequestHeader(" APIKey"," ");

//适用于生产性API端点的可用安全方案

//基本身份验证

//基本身份验证:在授权标头中以Base64提供用户名:密码

//xhr.setRequestHeader(" Authorization"," Basic ");

//发送请求xhr.send(data);

}

a.close();

但是BusyDialog不起作用。 需要您的帮助。

谢谢

拉克什曼·巴拉那古(Lakshman Balanagu)。

付费偷看设置
发送
8条回答
宇峰Kouji
1楼 · 2020-08-27 10:14.采纳回答

您好拉奎尔·马丁·巴里那不勒斯马丹

谢谢你们。

现在,我将更新逻辑从javascript(xhr.send)更改为Odata api(OdataModel.update),一切正常。 最初,我没有在manifest.json中正确初始化odata模型。

现在,更新正在异步模式下进行。 甚至sap.m.BusyDialog也可以按预期运行。

对于Etag,我要传递" *"。

  oModel.update(" ../Salesorder('key')",oData,{
   merge:true,/*如果设置为true:PATCH/MERGE */
   成功:function(){/*做某事*/},
   错误:function(oError){/*做某事*/},
  Etag:" *"
 }); 

谢谢

拉克什曼·巴拉那古(Lakshman Balanagu)。

Tong__Ming
2楼-- · 2020-08-27 10:12

嗨Raquel Martin Barry和Nabheet,

感谢您的回复。

最初,我尝试了odataModel.update方法。 但这是行不通的。 我在控制台中出现了更新操作不允许错误。 然后,我关注博客 https://developers.sap.com/ tutorials/hcp-abh-api-ui5-app.html 并开发了解决方案。

销售订单API 是否可以与OData方法配合使用?

谢谢

拉克什曼·巴拉纳古(Lakshman Balanagu)。

一周热门 更多>