跟踪记录ABAP对外部系统的RFC通信
对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通信的更多相关文章
- SAP RFC通信模式
在网络技术中,数据通信可以大致划分为两种基本模式:同步通信和异步通信. 其本义是:异步通信时,通信双方时钟允许存在一定误差:同步通信时,双方时钟的允许误差较小.在SAP的系统间的通信过程中,也借用术语 ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- Android内存管理(5)*官方教程:Logcat内存日志各字段含义,查看当前内存快照,跟踪记录内存分配,用adb查看内存情况时各行列的含义,捕获内存快照的3种方法,如何让程序暴漏内存泄漏的方法
Investigating Your RAM Usage In this document Interpreting Log Messages 内存分析日志中各消息的含 ...
- 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数.具体场景和我之前的公众号文章 Cloud for Cust ...
- StackTrace堆栈跟踪记录详细日志
使用StackTrace堆栈跟踪记录详细日志(可获取行号) 2014-04-25 22:30 by 螺丝钉想要螺丝帽, 350 阅读, 3 评论, 收藏, 编辑 上一篇我们提到使用.NET自带的Tra ...
- node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录
Node + mysql 实现基础的增删改查,以及性能测试. 网上有很多这样的例子,我也是找来学习的. 感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入 ...
- #实现详细记录登陆过系统的用户,IP地址,shell命令及详细操作的时间
//实现详细记录登陆过系统的用户,IP地址,shell命令及详细操作的时间 将下面代码加入/etc/profile //history USER_IP = who -u am i 2> /dev ...
- 为什么CRM Opportunity的删除会触发一个通向BW系统的RFC
今天工作时我发现,我在SE38里用函数CRM_ORDER_DELETE删除一个Opportunity,居然弹出下图这个SAP Logon的屏幕,要连接BR1.这是什么鬼?! 查了一下,BR1是BW系统 ...
- Linux系统编程@进程通信(一)
进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统 ...
随机推荐
- Spring Boot2.0之整合Mybatis
我在写这个教程时候,踩了个坑,一下子折腾到了凌晨两点半. 坑: Spring Boot对于Mysql8.1的驱动支持不好啊 我本地安装的是Mysql8.1版本,在开发时候.pom提示不需要输入驱动版本 ...
- matlab写txt文件
fd=fopen('C:\Users\Qin\Desktop\1112.txt','w');for i=16:19 for j=1:5 fprintf(fd,'%f,%f\r\n',[cluster( ...
- 分享知识-快乐自己:java 中的访问修饰符
1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制 ...
- CodeForces - 1000D:Yet Another Problem On a Subsequence (DP+组合数)
The sequence of integers a1,a2,…,aka1,a2,…,ak is called a good array if a1=k−1a1=k−1 and a1>0a1&g ...
- 如何卸载ubuntu软件
你的硬盘空间已经不太足够了?如果你使用的是Ubuntu操作系统,你可能想知道如何能够卸载过时.无用的程序.有几种方法可以卸载程序,包括图形化方法和命令行方法.参考本指南,采用最适合你的方法卸载程序. ...
- ACM学习历程——POJ3321 Apple Tree(搜索,线段树)
Description There is an apple tree outside of kaka's house. Every autumn, a lot of apples will ...
- 【LeetCode】017. Letter Combinations of a Phone Number
题目: Given a digit string, return all possible letter combinations that the number could represent. A ...
- 误删除$ORACLE_HOME/dbs下的参数文件、密码文件,如何快速重建
[oracle@11g dbs]$ pwd/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs[oracle@11g dbs]$ lltotal 24 ...
- 构造函数参数new class[0]的作用
new Class[0];就是传一个长度为1的Class数组过去.内容为null. new Class[0]表示有零个元素的Class数组,即空数组,与传入null结果是一样的,都表示取得无参构造方法 ...
- 阿里云服务器,无法通过公网ip访问实例
昨天得知阿里云esc又打折了,赶紧入手了一波,因为以前有部署过的经验,所以很快就部署上了项目,就在欣喜的访问时,却无访问. 我按照下面步骤一步一步的检测, 1.服务器上是否成功部署jdk和tomcat ...