美文网首页
SAPUI5 (40) - SAP 后端调试工具

SAPUI5 (40) - SAP 后端调试工具

作者: Stone0823 | 来源:发表于2017-06-28 16:28 被阅读388次

    本篇介绍 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 = this.getView();
        var oNewEntry = {
            "Mandt": 100,
            "EmpId": oView.byId("EmpId").getValue(),
            "EmpName": oView.byId("EmpName").getValue(),
            "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 (https://service.sap.com/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 的方法来发现错误。当然,如果系统反馈的消息不明确,还要依赖开发者的判断。

    相关文章

      网友评论

          本文标题:SAPUI5 (40) - SAP 后端调试工具

          本文链接:https://www.haomeiwen.com/subject/ggjoqxtx.html