最近在排查 SAP 系统连接问题时,一个很自然的问题会冒出来。Windows 上遇到网络不通,我们习惯敲一条tracert,Linux 上则用traceroute,屏幕上很快就能看到数据包从当前机器出发,经过哪些路由器,在哪一跳开始超时,哪一段延迟突然升高。那么到了ABAP世界里,是否也存在一条类似命令,可以从 SAP 应用服务器一路追踪到目标系统,并把中间每一个网络节点列出来。
答案需要分两层来看。
如果这里所说的类似tracert,指的是严格意义上的 IP 三层逐跳路由追踪,那么ABAP语言本身没有一个与 Windowstracert完全对应的原生语句,也没有一个标准 ABAP 类能够直接完成TTL递增、等待ICMP Time Exceeded、收集中间路由器 IP 这一整套工作。
如果所说的类似tracert,指的是在 SAP 技术栈中排查一条通信到底卡在哪里,那么 SAP 实际上提供了一组非常强的诊断工具,只是它们没有被集中成一条tracert命令,而是分散在SM59、SMICM、niping、SAProuter、操作系统网络工具、SAP Cloud Connector、Communication Arrangement和System Outbound Co