对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. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...

  2. HDU 1201 Fibonacci Again

    Fibonacci Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. html5 canvas画饼

    1. [图片] lxdpie.jpg ​2. [文件] lqdpie.html ~ 801B     下载(7) <!DOCTYPE HTML PUBLIC "-//W3C//DTD ...

  4. Android窗口系统第二篇---Window的添加过程

    以前写过客户端Window的创建过程,大概是这样子的.我们一开始从Thread中的handleLaunchActivity方法开始分析,首先加载Activity的字节码文件,利用反射的方式创建一个Ac ...

  5. python做图笔记

    1. 工具选择 了解了基本python,rodeo,anaconda套件这三种工具. (1)基本python,下载安装python的最新版(目前是python3.7).注意要使用安装版.安装好后,一般 ...

  6. oracle Instant Client install

    Installation See the Instant Client Home Page for more information. Installation of ZIP files: 1. Do ...

  7. AtCoder Grand Contest #026 A - Colorful Slimes 2

    Time Limit: 2 sec / Memory Limit: 1024 MB Score : 200200 points Problem Statement Takahashi lives in ...

  8. 1091 Acute Stroke (30)(30 分)

    One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the re ...

  9. 【Lintcode】087.Remove Node in Binary Search Tree

    题目: Given a root of Binary Search Tree with unique value for each node. Remove the node with given v ...

  10. Mysql误删了root用户怎么办

    1.停止mysql服务:在mysql安装目录下找到my.ini:在my.ini中找到以下片段[mysqld]:另起一行加入代码:skip-grant-tables 并保存 2.启动mysql服务,并登 ...