对SAP系统而言,RFC最常见的系统间通信方式,SAP与SAP系统及SAP与非SAP系统之间的连接都可以使用它。它的使用便利,功能强大,在各种接口技术中,往往是最受(ABAP开发者)青睐的选择。

查询接口通信的日志记录,有助于排查和解决相关开发工作中遇到的问题(以及甩锅给对方系统)。对于webservice接口,有事务代码SRT_UTIL(Web Service Monitors)可用,对于RFC接口,则可以使用SM59中的trace选项。本文会逐步介绍RFC跟踪功能的使用。

当ABAP程序使用RFC调用外部系统的程序,外部系统是RFC服务端,ABAP系统则是RFC客户端。

如果外部RFC程序是SAP传输控制程序(tp),可以按照Note 777565中的指示激活跟踪。

如果你还不知道如何创建和维护RFC Destination,建议搜索。

本文链接:https://www.cnblogs.com/hhelibeb/p/10913843.html

英文原文:Note 878860

步骤简述

1,删除有关外部程序的旧跟踪文件。

2,激活RFC跟踪。

3,运行RFC(重现问题)。

4,取消激活RFC跟踪。

5,查看和保存跟踪文件。

看起来是不是很简单?下面是每个步骤的详细描述。

步骤详述

1,删除有关外部程序的旧跟踪文件。

登录ABAP系统,运行事务代码SM59。在菜单栏中,选择RFC->Delete Trace,

前往外部RFC程序的工作目录并删除所有旧的跟踪文件。 工作目录是程序启动的目录; 它可能与安装目录不同。 如果设置了环境变量RFC_TRACE_DIR,前往此目录,并删除其中的旧跟踪文件。

2,激活RFC跟踪

运行事务代码SM59,选择使用的RFC Destination。在"Special Options"标签页勾选跟踪标识。

有时可能需要设置RFC bit和其它相关选项,这要依据SAP的notes或支持人员的意见来决定。

外部系统也可以通过一个代表function module的方法发送RFC(回调)。在这种情形下,外部系统会成为客户端,而不是服务端。如果要跟踪这种情况的RFC,请参考Note 877979中的步骤2。

3,运行RFC(重现问题)

运行RFC,最好按照发生问题时的重现问题时的步骤操作,使RFC的调用情况和之前相同。

4,取消激活RFC跟踪。

参考步骤2,运行事务代码SM59,选择使用的RFC Destination。在"Special Options"标签页取消跟踪标识的勾选,如有必要,重置RFC bit的设置。

5,查看和保存跟踪文件

运行事务代码SM59。在菜单栏中,选择RFC->Display Trace,

选择后即可看到跟踪记录日志。

若要保存跟踪文件,在新界面选择菜单栏中的System -> List -> Save -> Local File,选择格式和路径后即可保存到本地。

--------------正文完--------------

后记:翻译到一半发现这是个notes,没必要做翻译...只好配上图,做了文字上的一点修饰,也许能帮助第一次使用相关功能的读者节约一点时间。

跟踪记录ABAP对外部系统的RFC通信的更多相关文章

  1. SAP RFC通信模式

    在网络技术中,数据通信可以大致划分为两种基本模式:同步通信和异步通信. 其本义是:异步通信时,通信双方时钟允许存在一定误差:同步通信时,双方时钟的允许误差较小.在SAP的系统间的通信过程中,也借用术语 ...

  2. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  3. Android内存管理(5)*官方教程:Logcat内存日志各字段含义,查看当前内存快照,跟踪记录内存分配,用adb查看内存情况时各行列的含义,捕获内存快照的3种方法,如何让程序暴漏内存泄漏的方法

    Investigating Your RAM Usage In this document Interpreting Log Messages                 内存分析日志中各消息的含 ...

  4. 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

    最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数.具体场景和我之前的公众号文章 Cloud for Cust ...

  5. StackTrace堆栈跟踪记录详细日志

    使用StackTrace堆栈跟踪记录详细日志(可获取行号) 2014-04-25 22:30 by 螺丝钉想要螺丝帽, 350 阅读, 3 评论, 收藏, 编辑 上一篇我们提到使用.NET自带的Tra ...

  6. node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录

    Node + mysql 实现基础的增删改查,以及性能测试. 网上有很多这样的例子,我也是找来学习的. 感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入 ...

  7. #实现详细记录登陆过系统的用户,IP地址,shell命令及详细操作的时间

    //实现详细记录登陆过系统的用户,IP地址,shell命令及详细操作的时间 将下面代码加入/etc/profile //history USER_IP = who -u am i 2> /dev ...

  8. 为什么CRM Opportunity的删除会触发一个通向BW系统的RFC

    今天工作时我发现,我在SE38里用函数CRM_ORDER_DELETE删除一个Opportunity,居然弹出下图这个SAP Logon的屏幕,要连接BR1.这是什么鬼?! 查了一下,BR1是BW系统 ...

  9. Linux系统编程@进程通信(一)

    进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统 ...

随机推荐

  1. Django+ajax+jsonp实现借口调用文本处理

    首页 提交 <script src="/static/jquery-2.1.4.min.js"></script> <script type=&quo ...

  2. JavaScript--Object类

    Object类是所有JavaScript类的基类,提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数. 主要属性: constructor-对象的构造函数 prototype-获得类的pr ...

  3. 最近火狐浏览器 总是“插件 adobe flash 已崩溃”

    原因和解决方案:在地址栏中输入:about:addons>在如下地方发现firefox已经在警告该插件的安全性了>选择“总不激活”

  4. python基础-私有变量和方法

    如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问 __priva ...

  5. spring2.5和struts1.3.8整合

    第一步:导入对应jar文件 第二步: 1.在web容器中实例化spring容器 <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpa ...

  6. linux 网络编程 inet_pton & inet_ntop函数

    #include <arpa/inet.h> int inet_pton(int family,const char * strptr,void * addrptr); 返回:--成功, ...

  7. Hover show tips

    像上面这种效果,hover1时显示2,且1和2有一定间距的东东,一般有两种实现办法: 1.用JS,原理:over1时让2显示,out1时开个定时器延迟500ms再消失,over2时清除定时器,out2 ...

  8. mac laravel 环境变量设置bash_profile

    mac laravel 环境变量设置bash_profile >>>vim ~/.bash_profile '''text export PATH=$PATH:~/.composer ...

  9. android如何查看网卡名和ip

    我们知道,在windows下查看ip地址用ipconfig,在Linux下查看ip地址用ifconfig.今天在使用android查看的时候ifconfig却不管用: 查找网上资料发现,原来默认ifc ...

  10. 二:apache的Qpid消息中间件介绍

    一:什么是Qpid?--->Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信.--->Qpid 提供了 ...