SAPUI5(40)-SAP后端调试⼯具
本篇介绍 SAP 后端提供的两个调试⼯具。
SAP 外部断点
SAP Gateway Service Error Log
外部断点
在程序中设置外部断点,可以在 SAP 侧调试从外部传递的数据。⽐如,我们⽤ SEGW 事务码定位到 Create ⽅法,右键,进⼊ ABAP 代码。
在 Create ⽅法中设置⼀个外部断点:
然后在界⾯中新增⼀笔记录,从这个外部断点,可以查看系统新增数据的过程。
有时候,错误可能还到不了data model 的 CRUD 相关⽅法体代码中。⽐如,我们知道 SAP client 是 char4 类型的,如果故意在 UI 中,将 client 作为 integer 型。这个时候,出现了错误,但不会进⼊ create_entity ⽅法体,外部断点监控不到。
saveCreate:function(){
var oView =View();
var oNewEntry ={
"Mandt":100,
"EmpId": oView.byId("EmpId").getValue(),
"EmpName": oView.byId("EmpName").getValue(),
parse error怎么解决"EmpAddr": oView.byId("EmpAddr").getValue()
};
...
页⾯得到返回的错误:
{
"error":{
"code":"CX_SXML_PARSE_ERROR/001560AA0E081DEB8CA398CC1690D406",
"message":{
"lang":"en",
"value":"Error while parsing an XML stream"
},
"innererror":{
"application":{
"component_id":"",
"service_namespace":"/SAP/",
"service_id":"ZEMPPRJ_SRV",
"service_version":"0001"
},
"transactionid":"B853C0BA5D210020E0058FD94B52B6A8",
"timestamp":"20170628081051.0048810",
"Error_Resolution":{
"SAP_Transaction":"Run transaction /IWFND/ERROR_LOG on SAP Gateway hub system and search for entries with the timestamp above for more details",
"SAP_Note":"See SAP Note 1797736 for error analysis (service.sap/sap/support/notes/1797736)"
},
"errordetails":[
]
}
}
}
关键信息: Error while parsing an XML stream。此时,要⽤ Error log 来进⾏错误定位和查。查
前设置 security level 为 Full。
设置安全级别(security level)
通过 Internet ⽹络访问安全设置⾮常重要,SAP 对外部通过 Gateway service 访问设置了两种级别。需要变更级别,才能看到相关信息:
Secure Level : 这个是默认的级别。如果设置为安全级别,有错误发⽣的时候,很多信息是没有的,⽐如 service name, HTTP 请求和相应等。所以我们需要改变 security level。
Full Level : 这个级别没有限制,可以分析到错误进⼀步的信息。
如何设置安全级别
有两种⽅法。⽅法⼀是运⾏事务码 /IWFND/ERROR_LOG ,然后通过菜单:Error log -> Global configuration 来设置。
这种⽅法,对所有⽤户,在设置失效恢复到 secure 级别前,⼀直可⽤。
⽅法 2 是变更某⼀个⽤户的临时权限,在 2 个⼩时内有效。运⾏事务码 /IWFND/TRACES,然后将当前⽤户的临时 level 设为 Full。
Replay
设置上⼀步后,重写运⾏ Web 程序。然后在 /IWFND/ERROR_LOG 事务码中可以通过查看 Request body, Response body 或者Replay 的⽅法来发现错误。当然,如果系统反馈的消息不明确,还要依赖开发者的判断。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论