V2 OData模型-批处理操作中的Ge​​t_Stream调用

2020-08-17 00:24发布

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

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


大家好,

我想通过批处理操作在SAPUI5中调用Odata模型的get_stream方法。 我可以通过window.open("//url//")方式调用它,但是问题是我不想直接调用URL。

我的要求是首先调用Get_Entityset方法来生成xstring值,以后可以通过Get_Stream方法检索该值。 xstring基本上是指excel文件。

我正在这样做:

 var oModel = oController.getView()。getModel(" mainModel");
 oModel.setDeferredGroups([" ReadExcel"]);
 var mParameters = {
 groupId:" ReadExcel",
 成功:功能(odata,resp){
//window.open(resp.requestUri);
//window.open("/img/destinations/XXX/sap/opu/odata/sap/ZXXXX_SRV/FileSet(Mandt ='101',Filename ='test_file')/$ value");
 },
 错误:函数(odata,resp){}
 };


 oModel.read("/img/DummySet",{
 groupId:" ReadExcel",
 过滤器:[new sap.ui.model.Filter({
 路径:" RepName",
 运算子:sap.ui.model.FilterOperator.EQ,
 value1:oController.getView()。byId(" idRepName")。getValue()。toUpperCase()
 }]]
 });


 oModel.read("/img/FileSet(Mandt ='101',Filename ='test_file')/$ value",{
 groupId:" ReadExcel"
 });


//提交批处理
 oModel.submitChanges(mParameters);
 

我可以在网络标签中看到xstring数据

 HTTP/1.1 200确定
 内容类型:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
 内容长度:12610
 sap-metadata-last-modified:Wed,03 Jun 2020 01:47:07 GMT
 缓存控制:不存储,不缓存
 x-content-type-options:nosniff
 内容配置:内联; 文件名= main.xlsx
 数据服务版本:2.0

 ......
 PK(HjIRô³0&rvËÔjÌgl†­4`ÁQy– ‹L€6>Üœj
 u²æ?〜f $Û¶ÍÚ§M7äâ{ó¾ÎI:¼* µ *ÈPLïxÞÿ€¢› R’
 

但是我在控制台中也遇到以下错误:

 Log-dbg.js:456 2020-06-15 16:00:38.229250发生以下问题:没有数据处理程序-
 datajs.js?eval:17未捕获的TypeError:无法读取未定义的属性" body"
     在构造函数中I._createEventInfo(ODataModel-dbg.js:1226)
     在构造函数中I._processSuccess(ODataModel-dbg.js:3924)
     在W(ODataModel-dbg.js:3283)
     在V(ODataModel-dbg.js:3009)
     在ODataModel-dbg.js:6142
     在评估时(datajs.js?eval:17)
     在XMLHttpRequest.p9(datajs.js?eval:17)

 

并且控件没有进入成功函数内。

请提供您关于此问题或任何变通方法的意见/想法,以实现相同的目的。

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

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


大家好,

我想通过批处理操作在SAPUI5中调用Odata模型的get_stream方法。 我可以通过window.open("//url//")方式调用它,但是问题是我不想直接调用URL。

我的要求是首先调用Get_Entityset方法来生成xstring值,以后可以通过Get_Stream方法检索该值。 xstring基本上是指excel文件。

我正在这样做:

 var oModel = oController.getView()。getModel(" mainModel");
 oModel.setDeferredGroups([" ReadExcel"]);
 var mParameters = {
 groupId:" ReadExcel",
 成功:功能(odata,resp){
//window.open(resp.requestUri);
//window.open("/img/destinations/XXX/sap/opu/odata/sap/ZXXXX_SRV/FileSet(Mandt ='101',Filename ='test_file')/$ value");
 },
 错误:函数(odata,resp){}
 };


 oModel.read("/img/DummySet",{
 groupId:" ReadExcel",
 过滤器:[new sap.ui.model.Filter({
 路径:" RepName",
 运算子:sap.ui.model.FilterOperator.EQ,
 value1:oController.getView()。byId(" idRepName")。getValue()。toUpperCase()
 }]]
 });


 oModel.read("/img/FileSet(Mandt ='101',Filename ='test_file')/$ value",{
 groupId:" ReadExcel"
 });


//提交批处理
 oModel.submitChanges(mParameters);
 

我可以在网络标签中看到xstring数据

 HTTP/1.1 200确定
 内容类型:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
 内容长度:12610
 sap-metadata-last-modified:Wed,03 Jun 2020 01:47:07 GMT
 缓存控制:不存储,不缓存
 x-content-type-options:nosniff
 内容配置:内联; 文件名= main.xlsx
 数据服务版本:2.0

 ......
 PK(HjIRô³0&rvËÔjÌgl†­4`ÁQy– ‹L€6>Üœj
 u²æ?〜f $Û¶ÍÚ§M7äâ{ó¾ÎI:¼* µ *ÈPLïxÞÿ€¢› R’
 

但是我在控制台中也遇到以下错误:

 Log-dbg.js:456 2020-06-15 16:00:38.229250发生以下问题:没有数据处理程序-
 datajs.js?eval:17未捕获的TypeError:无法读取未定义的属性" body"
     在构造函数中I._createEventInfo(ODataModel-dbg.js:1226)
     在构造函数中I._processSuccess(ODataModel-dbg.js:3924)
     在W(ODataModel-dbg.js:3283)
     在V(ODataModel-dbg.js:3009)
     在ODataModel-dbg.js:6142
     在评估时(datajs.js?eval:17)
     在XMLHttpRequest.p9(datajs.js?eval:17)

 

并且控件没有进入成功函数内。

请提供您关于此问题或任何变通方法的意见/想法,以实现相同的目的。

付费偷看设置
发送
1条回答
95年老男孩
1楼-- · 2020-08-17 01:21

一周热门 更多>