在 SAP 项目里碰到老设备、仓储控制器、网络设备、串口服务器、PLC 或某些年代比较久的外围系统时,经常会出现一种很典型的集成要求,业务系统需要连接某台设备的 IP 地址和端口,登录进去,输入几条命令,再把返回文本取回来。设备厂商的说明书往往直接写着通过 Telnet 登录,于是问题自然就落到了 ABAP 身上,ABAP 能不能直接干这件事。结论可以先放在这里。ABAP 没有一个像 HTTP Client、RFC Client 那样完整封装好的标准 Telnet Client API,因此如果所谓支持 Telnet 指的是存在类似CL_TELNET_CLIENT这样的 SAP 标准类,负责 Telnet 登录、IAC 协商、终端选项处理、用户名密码交互以及命令执行,那么答案是否定的。但如果把问题换成 ABAP 能不能建立到某个 IP 和 TCP 端口的底层 TCP Socket 连接,答案又是肯定的。较新的 SAP NetWeaver AS ABAP 和 ABAP Platform 提供 ABAP Channels,也就是 APC 体系,其中包含原生 TCP Socket Client。SAP 官方文档明确说明,APC Client 同时支持 WebSocket 和 TCP Socket,CL_APC_TCP_CLIENT_MANAGER可以建立 TCP Socket Client。SAP 在 ABAP 7.50 的技术介绍中也明确展示过这种客户端能力。所以更准确的表达应该是ABAP On-Premise 可以提供实现 Telnet Client 所需要的一部分底层 TCP 通信能力,但 SAP 没有替我们实现完整的 T