在 SAP 项目里经常会碰到一种很像网络路由的问题。一个销售订单创建完成后,需要判断数据应该送往哪个外围系统。采购主数据发生变化后,可能需要发送给不同国家的 SAP 系统。某个业务事件产生以后,又可能被发送到 SAP Event Mesh,再由不同消费者接收。代码里甚至会出现DESTINATION、Receiver、Logical System、Queue、Route 之类很容易让人联想到计算机网络的概念。如果刚刚学过 RIP,很自然会产生一个问题,ABAP 里面有没有类似 RIP 的东西。答案需要分两层来看。如果讨论的是严格意义上的网络协议,那么 ABAP 里没有 RIP 的直接对应物。RIP 是工作在 IP 路由体系中的动态路由协议,负责让路由器彼此交换路由信息,并依据 Distance Vector 算法自动计算到目标网络的路径。ABAP、RFC、ALE、IDoc、bgRFC 这些技术工作在更高的应用层,它们不会替代路由器,也不会计算 IP 数据包应该经过几个三层设备。但如果讨论的是架构思想,SAP 世界里确实存在很多与 RIP 很相似的机制。特别是 ALE Distribution Model、Receiver Determination、RFC Destination、qRFC、bgRFC,以及 SAP BTP 上的 Communication Target、Communication Arrangement 和 SAP Event Mesh,把这些机制组合起来以后,可以找到一个相当完整的对应关系。其中最像 RIP 路由表思想的,是 ALE Distribution Model。最像 RIP 里的下一跳,是 RFC Destination 或