如何在ABAP程序中debug宏代码

正常情况下ABAP是不能debug调试宏的,可但是有个变通的方法能让你初略的一步一步执行宏内的代码。

写了一段简单的abap代码,里面包括一个宏,用来取EKPO表内数据,然后sort一下。

REPORT ztest_debug_macro.

DATA:lt_ekpo TYPE STANDARD TABLE OF ekpo WITH HEADER LINE.
"<span class="L0S31">宏定义</span>
DEFINE macro_sql.
  SELECT *
    FROM ekpo
    INTO TABLE lt_ekpo
   UP TO 10 ROWS.
    SORT lt_ekpo BY ebeln DESCENDING ebelp.
END-OF-DEFINITION.
WRITE:‘Start.....‘.

macro_sql.
LOOP AT lt_ekpo.

  WRITE:/ lt_ekpo-ebeln ,lt_ekpo-ebelp.

ENDLOOP.

在调用宏的语句处设置断点,程序停在断点时,点击下图中的工具按钮,然后进一步双击 ABAP字节代码(调试宏)。

&amp;lt;img class="alignnone size-medium wp-image-6408" src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvd3d3LmJhaWR1c2FwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS0wNS0yOV8xNy0xOS0zMS03NDB4NDgwLmpwZw==.jpg" width="740" height="480" srcset="http://www.baidusap.com/wp-content/uploads/2019-05-29_17-19-31-740x480.jpg 740w, http://www.baidusap.com/wp-content/uploads/2019-05-29_17-19-31-768x498.jpg 768w, http://www.baidusap.com/wp-content/uploads/2019-05-29_17-19-31.jpg 927w" sizes="(max-width: 740px) 100vw, 740px" /&amp;gt;

下图红框内的就是宏内的代码,可以一步一步执行,能大概分辨出来一个是SELECT语句,一个是SORT语句。

&amp;lt;img class="alignnone size-medium wp-image-6409" src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvd3d3LmJhaWR1c2FwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS0wNS0yOV8xNy0yNi01Ni03NDB4Mzk5LmpwZw==.jpg" width="740" height="399" srcset="http://www.baidusap.com/wp-content/uploads/2019-05-29_17-26-56-740x399.jpg 740w, http://www.baidusap.com/wp-content/uploads/2019-05-29_17-26-56-768x414.jpg 768w, http://www.baidusap.com/wp-content/uploads/2019-05-29_17-26-56-1024x552.jpg 1024w, http://www.baidusap.com/wp-content/uploads/2019-05-29_17-26-56.jpg 1052w" sizes="(max-width: 740px) 100vw, 740px" /&amp;gt;

以上。

原文地址:https://www.cnblogs.com/datie/p/11428496.html

时间: 2024-10-25 02:33:16

如何在ABAP程序中debug宏代码的相关文章

如何在c程序中动态使用数组

C语言不允许对数组的大小作动态定义,不能在程序中临时输入数组大小,这就给编程带来一定的困难. 下面通过一个求平均数和标准差的小程序来展示如何在程序中动态定义数组大小: 1 /*如何在c程序中动态使用数组(calloc函数)*/ 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <math.h> 5 int main(){ 6 int num; //数据个数 7 double sum,ave,s2; //数据和.平

ABAP程序中关于长文本的处理方法

现象描述 长文本在SAP的运用主要体现在一些notes的记录,或者一些比较长的文本的存取,比如工作流的审批意见,采购申请和采购订单的附加说明等等.如下图: 处理过程 1:SAP中所有的长文本都存在两张表中: STXH 长文本的抬头信息 STXL 长文本的明细信息 但是长文本在使用前,需要先进行配置,如果不配置是不可能往表STXH和STXL中写入文本值的.配置在视图V_TTXIDI和视图V_TTXOBI中进行. SE16维护视图V_TTXOBI SE16维护视图V_TTXIDI 2:在上图中,找到

【转】如何在 Android 程序中禁止屏幕旋转和重启Activity

原文网址:http://www.cnblogs.com/bluestorm/p/3665890.html 禁止屏幕随手机旋转变化 有时候我们希望让一个程序的界面始终保持在一个方向,不随手机方向旋转而变化:在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape” 属性. landscape = 横向portrait = 纵向 避免在转屏时重启Activity android中每次屏幕方向切换时

ABAP程序中的局部与全局变量

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 1.9.  ABAP程序中的局部与全局变量 报表程序中选择屏幕事件块(AT SELECTION-SCREEN)与逻辑数据库事件块.以及methods(类中的方法).subroutines(FORM子过程).function modules(Function函数)中声明的变量为局部的,即在这些块里声明的变量不能在其他块里使用,但这些局部变量可以覆盖同名的全局变量:除这些处理块外,其他

如何在RCP程序中添加一个banner栏

前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个banner栏,研究了很久才搞定.代码是基于eclipse4.3.2的. 先看一下效果预览: 为了添加一个banner栏,我们必须重写RCP程序最外层的layout类,即TrimmedPartLayout.java.这个layout类是用来控制menu,toolbar等最基本的layout布局的.我们写一个

Atl(COM)编程如何在idl文件中使用宏定义(如#ifndefine XXX)

使用Atl进行Arcgis engine二次开发中经常会涉及到多个版本的(9.3.10.0.10.1......)develop kit,在接口声明的时候一般会把具体的接口转换成IUnknow*或者IDispatch*接口对象,而这两个对象是com通用的接口,不需要我们再自己引入:importlib("stdole2.tlb");但是如果这样操作的话就可能导致不能形象的表达出我们实际传递的对象类型,可能造成用户使用错误(毕竟用户不是我们设计人员,不能全部明白其用途),所以我们尽可能的传

如何在android程序中使用百度api接口:

百度地图.百度语音.百度导航.百度定位等等.以下为使用百度天气提供的api,具有天气查询,城市设置,短信分享天气等基本功能,界面清爽,不过现在因为百度key的原因失效了,不能更新天气了.srceduswustiweatherwebUpdateWeather.java中的AK替换成自己申请的百度API KEY,申请地址http://lbsyun.baidu.com/apiconsole/key.代码有比较详细的注释.代码量也不大,有兴趣的朋友可以自己排查一下.项目编码UTF-8 默认编译版本4.2

SolrCloud-如何在.NET程序中使用

https://github.com/vladen/SolrNet 原来我们在我们的项目里用的是根据数据库路由到不同的单机Solr服务器,但是这样的话,每次Solr配置的修改都要修改三台不通的服务器,而且一台服务器挂了,必定会影响一部分用户不能使用搜索功能,而且还会造成一定程度的丢数据,所以我们换一种方式. 两种可选方案: 主从模式 SolrCloud 经过对比,决定用SolrCloud,SolrCloud的概念和优缺点,就不再赘述了,网上一搜一大堆,这里主要写一下在C#如何使用SolrClou

如何在sublime+chrome中调试php代码?

1.搭建php本地运行环境具体点击如何使用phpstudy本地搭建多站点(每个站点对应不同的端口) 2.下载php_xdebug.dll, [5.3版以上的php下载地址]http://pecl.php.net/package/xdebug [5.3版及其以下的php下载地址]http://pecl.php.net/package/xdebug/2.2.7/windows 注意版本要对应,不然可能会不能用.   3.安装php xdebug扩展(即在配置php.ini文件加入以下代码) [XDe