SAP工具箱之 接口调用集中监控

2021-10-30 19:29发布


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

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

点击蓝字 关注我们

前言

ECC系统与外部系统接口形式多种多样. 大致可以分为以下几类:

  • 通过PO的异步接口

  • 通过PO的同步接口

  • RFC接口

  • RFC发布的WEBSERVICE接口

  • ABAP直接调用外围系统的WEBSERVICE或HTTP POST/GET (可以封装在RFC函数中内部调用)

  • ......

这些不同的接口形式,有着不同的接口调用监控方式.

其中通过PO的接口,可以通过SXI_MONITOR查询到接口的调用信息及传输的内容.

其它形式的:可能需要自行记录和呈现接口的调用信息及传输的内容.

本文介绍一个工具: ZIFLOG. 用于集中呈现所有接口的调用信息及传输的内容

请参考接口框架 
无峰,公众号:ABAP 技巧与实战SAP开发框架系列之 接口框架


基于配置的记录

基于接口配置确定是否需要写入日志信息. 

配置表 ZTIF002 统一记录了所有接口编号,描述及一些控制信息


需要写入的表

为了呈现需要监控的接口的调用内容及数据内容, 需要把每次调用信息及数据信息写入自定义表

  • ZTIF_LOG 接口调用记录日志

  • ZTIF_LOG_DATA 记录RFC函数调用的入参,出参

  • ZTIF_LOG_JSON 记录HTTP接口调用的传入/传出JSON串或XML串

  • ZTIFLOG_IDOC 记录PO消息与IDOC的关系

ZTIF_LOG 接口调用记录日志



ZTIF_LOG_DATA 记录RFC函数调用的入参,出参



ZTIF_LOG_JSON 记录接口调用的传入/传出JSON串



ZTIFLOG_IDOC 记录PO消息与IDOC的关系


数据写入的方式

不同的接口类型,采用不同的方式写入上述相关的表


01

RFC函数


在RFC函数中结尾把调用信息写入ZTIF_LOG,并且通过EXPORT TO DATABASE 把传递的参数写入写入 ZTIF_LOG_DATA


02

通过PO的接口


对于通过PO的接口(通过PROXY方式出站,入站).需要在调用PROXY或者PROXY的执行类中记录调用信息,写入消息的GUID,并记录产生的IDOC与GUID的关系


数据的统一呈现


选择界面

只显示消息相应失败的: 勾选后, 程序会获取下传接口的响应消息,只显示那些没有成功响应的条目


明细界面

明细界面呈现接口的调用信息: 包含调用的耗时及调用时记录的一些辅助信息


接口调用的数据内容显示

调用的数据内容查看主要区分以下几类


01

通过PO的消息


通过PO的 可以通过点击消息标识跳转到SXI_MONITOR显示消息的XML内容



可以通过按钮集中解析XML内容结果,ALV内表呈现.允许选中多行一起解析呈现内容. 便于显示分析实际传输的内容.

 解析的XML需要严格按照 SHEET  ITEMS 结构定义节点,否则会导致解析失败


02

HTTP调用


 对于ABAP直接调用 HTTP的接口 ,在消息标识中会记录接口日志ID.

点击可以查看传递的报文信息(XML或JSON)


03

RFC函数


对于整合到RFC函数的调用, 可以通过这组按钮查看参数内容



为了简化RFC函数传递内容的查询. 所有函数的界面参数统一为下图的命名.


04

上传产生的IDOC


对于上传接口,产生IDOC的消息,会记录消息和IDOC的对应关系,通过界面呈现出消息包含的IDOC个数.

一个消息可能会产生多个IDOC. 点击可以查看对应的IDOC内容


下传接口的特殊信息

对于下传接口,可以显示一些特定的信息用于分析下传接口的执行情况.

  • 显示分发系统的个数(在ZTIF002表中配置). 如果不是群发,需要配置为1.

  • 显示错误响应的消息数

  • 显示成功响应的个数

  • 计算出消息成功响应标记: 根据成功响应的消息>=分发系统的个数确认消息成功响应.

  • 显示消息中包含的总单数/总行数

关于消息响应的实现,请参考链接
无峰,公众号:ABAP 技巧与实战PO系列之 消息的确认反馈



总结

接口开发是项目中比较简单但是很重要的开发. 接口的开发需要统一规划. 

接口调用的信息及传输的内容的统一监控是接口开发统一规划中最重要的一个环节. 设计好了,可以给监控人员查找接口问题带来很多便利. 方便接口问题的快速发现及定位.


THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)



公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077


公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群

赞赏支持