SAP ABAP debug的七种方法及错误消息定位

您所在的位置:网站首页 到过的地方怎么定位 SAP ABAP debug的七种方法及错误消息定位

SAP ABAP debug的七种方法及错误消息定位

2024-07-16 08:04:08| 来源: 网络整理| 查看: 265

大家可以参考Jerry 的这篇博客,本人也是在学习过Jerry的这篇博客之后自己总结的以下内容 SAP错误消息调试之七种武器:让所有的错误消息都能被定位

文章目录 1-消息类定位2-定义观察点3-动态断点调试4-源代码静态扫描4.1-RS_ABAP_SOURCE_SCAN4.2-CODE_SCANNER 5-ABAP应用性能分析工具测试6-ABAP数据库执行跟踪和性能分析工具ST05测试7-百度或请教大佬.

1-消息类定位

依照se38为例,进入se38,然后先输入一个"不存在" (是代指,什么都可以,这里只是举个"栗子") 的程序名称,来做测试效果,紧接着在输入/h进行断点调试,点击显示 在这里插入图片描述 这个时候左下角就会出现 在这里插入图片描述 然后双击他会显示一个性能助理窗口,这里就能获得他的消息号了 这个消息号是有两部分组成DS017 他表示消息类是DS 消息号017 这时我们可以去到se91产看该消息类的的消息号 在这里插入图片描述 此时就找到了该错误无的具体含义. 在这里插入图片描述 大家可能从这个"栗子"中看不出台大的效果,不妨看一下这篇博客, 这个是测试smartforms 的案例,这个方式在smartforms中用的可能会比较多一点. 参考链接

2-定义观察点

使用观察点的方式,我需要用到系统变量,定义好之后F8执行就会直接跳到相应的报错位置,然后再双击查看相应的消息号. 在这里插入图片描述 点击创建监控点后就会弹出下面的窗口,然后在变量中输入SY-SMGID 回车 之后再按 F8 执行,直接跳到报错点 在这里插入图片描述 这样我们就找到了消息号是017 可是问题是,没有消息类型,我们还是无法找到消息的描述,只是拿到是那个出现的错误消息. 在这里插入图片描述 看下图,我们点击断点/监控点 再点击监控点 ,这个时候我们就拿到了他的消息类型了,接着再去se91中去查看该消息类型的描述即可. 在这里插入图片描述 有一个简单的方式就是在创建两个变量,在断点/监控点下可以同时看到消息类型和消息号就是创建两次监控点变量消息类型:SY-SMGID 消息号:SY-MSGNO 在这里插入图片描述

3-动态断点调试

如果从效果上来看,就是把所有出现该命令的地方全部打上断点. 在这里插入图片描述 接下来就会弹出这个窗口,其实你在三级菜单栏点击任意一种断点模式都会弹出这个窗口,这个窗口的一级菜单栏是是和那个对应的. 我们可以手动输入一个命令比如MESSAGE 或者点击小白页会弹出很多命令给你选择,你只需要选择你对应的命令即可. 这里就以MESSAGE 为例 在这里插入图片描述 可以看到会把所有出现MESSAGE 命令的地方全部打上了断点,但是只拿到了消息号,消息类型没有获取到. 这种方法建议配合这观察点的方式一起使用. 根据你的具体问题去使用debug的方式. 在这里插入图片描述

4-源代码静态扫描

使用源代码静态扫描,SAP 提供了两个扫描工具,程序工具RS_ABAP_SOURCE_SCAN和事务码工具CODE_SCANNER这两个功能上差异不大,都可以定位到相关错误位置.

首先我们需要找的就是,你所扫描的程序所在的包和你的所扫描的报错字符串 这个功能有点类似于Ctrl+F,

4.1-RS_ABAP_SOURCE_SCAN

se38进入然后执行该程序 在这里插入图片描述 点击执行.这里命中了4条,然后我们可以尝试都点开测试一下,看看你具体的那些错误. 在这里插入图片描述

4.2-CODE_SCANNER

在事务码窗口中输入该事务码回车. 在这里插入图片描述 效果和RS_ABAP_SOURCE_SCAN差不多.用法也一样,只是屏幕上的功能有点差异. 在这里插入图片描述

5-ABAP应用性能分析工具测试

SAT主要是用做性能和优化上的,但也可以辅助性测试debug. 在这里插入图片描述 首先我们需要创建以聚合点,点击上图中的创建按钮 然后哦点击保存 在这里插入图片描述 之后再点击执行按钮,就会跳转到se38的屏幕中去, 执行一个程序,之后就会弹出装的窗口 输入 MESSAGE S017 就会找到017,然后点进去,就对找到对应的错误代码. 在这里插入图片描述

6-ABAP数据库执行跟踪和性能分析工具ST05测试

利用ST05进行debug的方式还是挺巧妙的.这个测试理论依据就是: 当我们在执行程序时,那么该程序名一定存在于某个数据库表中,这个时候会执行OPEN SQL进行查询该程序名来执行该程序,执行后反馈一定会抛出去的,那么这两处的代码一定是相邻的.

首先我们ST05进去点击activate trace激活跟踪,点击后就会跟踪所有的执行过SQL的语句. 在这里插入图片描述 接下来我们在去SE38找那个执行还是那个程序名 点击一下就可以了,这个时候已经执行过select这个SQL了,现在我们在回到ST05中 在这里插入图片描述 这时要点击deactivate trace 关闭SQL的跟踪,如果不关闭的话,他会一直跟踪,知道SQL跟踪储存的日志溢出,可能会导致系统出现问题. 然后点击下面的蓝色框的display trace显示跟踪的日志. 在这里插入图片描述

会出现这个窗口,直接点击执行 在这里插入图片描述 这个时候我们只需要观察object name的数据,找PROGDIR 这个表是存放abap所有程序名的表. 下图可以看到我们刚才执行的那个程序名,选中然后点箭头指向的按钮. 在这里插入图片描述 然后就进入源代码中了,在这我们看到SQL执行的语句770行,以及报错的位置的806行. 如果没有一下看到,就往下滑滑.一定是相邻的 在这里插入图片描述

7-百度或请教大佬.


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭