Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用Edm.Time类型对oData模型进行PUT方法_Javascript_Time_Odata_Sapui5_Put - Fatal编程技术网

Javascript 用Edm.Time类型对oData模型进行PUT方法

Javascript 用Edm.Time类型对oData模型进行PUT方法,javascript,time,odata,sapui5,put,Javascript,Time,Odata,Sapui5,Put,我正在尝试用时间元素(键入Edm.time)实现可编辑表元素。当更改表中的值并且应用程序发送PUT请求时,就会出现问题 时间对象的值是例如“PT11H00M00S”,我通过元数据分配了类型“Edm.time”,以避免“Edm.string”比较问题。但现在oData服务是SAP的,如下所示。如何格式化值以避免此问题?提前谢谢 2015-09-22 09:52:09出现以下问题:HTTP请求失败400,请求错误,CX_SY_CONVERSION_NO_DATE_TIME/67aa6842baa80

我正在尝试用时间元素(键入Edm.time)实现可编辑表元素。当更改表中的值并且应用程序发送PUT请求时,就会出现问题

时间对象的值是例如“PT11H00M00S”,我通过元数据分配了类型“Edm.time”,以避免“Edm.string”比较问题。但现在oData服务是SAP的,如下所示。如何格式化值以避免此问题?提前谢谢

2015-09-22 09:52:09出现以下问题:HTTP请求失败400,请求错误,
CX_SY_CONVERSION_NO_DATE_TIME/67aa6842baa80b7de100000000a15523c
Value pnandtnanhannanmnan.NaNS不代表有效的日期/时间56003c39 feb4710de10000000a1010c20150922075209.8761770在SAP NW网关集线器系统上运行事务/IWFND/ERROR_日志,并搜索带有上述时间戳的条目以获取更多详细信息请参阅SAP Note 1797736以获取更多信息错误分析()有关使用$batch()的详细信息,请参阅SAP说明1869434-

在SAP方面,我发现收到了以下请求

--batch_6bba-3b1b-e53d
content-type: multipart/mixed; boundary=changeset_3e78-e6a1-305d

--changeset_3e78-e6a1-305d
content-type: application/http
content-transfer-encoding: binary

PUT modelData(pdsnr='000000000130') HTTP/1.1
Accept-Language: EN
Accept: application/atom+xml,application/atomsvc+xml,application/xml
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/atom+xml
Content-Length: 716

<a:entry xmlns:a="http://www.w3.org/2005/Atom" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"><a:author><a:name/></a:author><a:category term="ns.type" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/><a:content type="application/xml"><m:properties><d:pdsnr m:type="Edm.String">000000000130</d:pdsnr><d:fullName m:type="Edm.String"/><d:alias m:type="Edm.String">ABCD</d:alias><d:pernr>95000104</d:pernr><d:direction m:type="Edm.String">P10</d:direction><d:date m:type="Edm.DateTime">2015-09-21T00:00:00</d:date><d:time m:type="Edm.Time">PNaNDTNaNHNaNMNaN.NaNS</d:time></m:properties></a:content></a:entry>
--changeset_3e78-e6a1-305d--

--batch_6bba-3b1b-e53d--
——批次6bba-3b1b-e53d
内容类型:多部分/混合;边界=变更集_3e78-e6a1-305d
--变更集_3e78-e6a1-305d
内容类型:应用程序/http
内容传输编码:二进制
PUT modelData(pdsnr='000000000 130')HTTP/1.1
接受语言:EN
接受:application/atom+xml、application/atomsvc+xml、application/xml
MaxDataServiceVersion:2.0
数据服务版本:2.0
内容类型:应用程序/atom+xml
内容长度:716
000000000 130ABCD95000104P102015-09-21T00:00:00PNANDTNANHNANNANMNAN.NaNS
--变更集_3e78-e6a1-305d--
--批次6bba-3b1b-e53d--

看起来好像是提供给模型调用的上下文的元数据属性中的问题

              var obj = oSelectedItem.getBindingContext().getObject();
              var context = oEvent.getSource().getBindingContext().getObject();

              context.ldate    = obj.ldate;
              context.ltime    = obj.ltime;

              oController.onRowUpdate("/modelData(pdsnr='"+context.pdsnr+"')", 
                                      context);
现在它的工作原理是

              var obj = oSelectedItem.getBindingContext().getObject();
              var context = oEvent.getSource().getBindingContext().getObject();

              context.ldate    = obj.ldate;
              context.ltime    = obj.ltime;

              oController.onRowUpdate("/modelData(pdsnr='"+context.pdsnr+"')", 
                                      {ldate:    obj.ldate,
                                       ltime:    obj.ltime,
                                      });