对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. 9.2 NOIP提高组试题精解(1)

    9-16 poise.c #include <stdio.h> #define MAXN 1001 int main() { ], flag[MAXN] = { }; //保存6种砝码的数 ...

  2. iOS数据持久化存储之归档NSKeyedArchiver

    归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式),收集了网上的一些资料并结合自己的一些经验,总结如下. 一.使用archiveRootObject进行简 ...

  3. axios无法在ie9,10,11环境下运行的问题解决

    npm install es6-promise --save-dev import promise from 'es6-promise'; promise.polyfill();

  4. 我所理解的RESTful Web API [设计篇]【转】

    原文:http://www.cnblogs.com/artech/p/restful-web-api-02.html <我所理解的RESTful Web API [Web标准篇]>Web服 ...

  5. css中字体大小在不同浏览器兼容性问题

    css中使用font-size设定字体大小,不同浏览器的字体height一样,但是width不同,比如在火狐和谷歌中,font-size:20px,字体的高度变为20px,但是谷歌的字体宽度比火狐长 ...

  6. JavaUtil_03_图片处理工具类

    一.源码 功能:缩放图像.切割图像.图像类型转换.彩色转黑白.文字水印.图片水印等 package com.ray.dingtalk.util; import java.awt.AlphaCompos ...

  7. xgboost算法原理

    XGBoost是2014年3月陈天奇博士提出的,是基于CART树的一种boosting算法,XGBoost使用CART树有两点原因:对于分类问题,CART树的叶子结点对应的值是一个实际的分数,而非一个 ...

  8. Linux网络编程socket错误分析

    socket错误码: EINTR: 阻塞的操作被取消阻塞的调用打断.如设置了发送接收超时,就会遇到这种错误. 只能针对阻塞模式的socket.读,写阻塞的socket时,-1返回,错误号为INTR.另 ...

  9. 解决 sublime text3 运行python文件无法input的问题

    怎么输入都没有用,原来需要配置可交互环境来运行 首先,Ctrl+Shift+p快捷键,弹出框框输入 install Package,回车后又弹出一个框,输入SublimeREPL(要安装的插件名字), ...

  10. Codeforces 762C Two strings 字符串

    Cpdeforces 762C 题目大意: 给定两个字符串a,b\((len \leq 10^5)\),让你去b中的一个连续的字段,使剩余的b串中的拼接起来的两个串是a穿的子序列.最大化这个字串的长度 ...