宫斗龙老师,还记得您说SAP ECC标准事务码的代码,看不懂很正常么?
看不懂SAP标准事务码的ABAP代码,很多代码就像是盲人摸象。还是应该看懂比较好,下面我们来研究一个事务码MB51.
事务码MB51的样子如下:
作用主要是查看 物料凭证
运行结果的样子是这样:
注意看MvT这个字段,含义是移动类型
采购入库阶段,主要的移动类型(BWART)是103和105
生产订单投料阶段,主要的移动类型(BWART)是261和262
我对这个事务码很感兴趣,它很好用,我决定写一个类似的事务码,因此,我需要先看懂MB51的ABAP代码。
注意看到MB59和MB51使用同一个“程序”
看到归根结底,MB51这个事务码对应的程序叫做 RM07DOCS
上图用SE38看属性,看到这个RM07DOCS 的属性如上图所示。
程序开头注释明确表示,MB51的功能。下面逐行看该程序代码:
代码共5900行,其中从第1行至921行,都是声明变量
493行include rm07docs_generated 代码用于显示MB51屏幕1000上的前两个selection-screen
如上图,屏幕1000的元素全部显示出来
然后代码进入INITIALIZATION
第一个陌生的语法BREAK-POINT
Debugging ABAP programs using Log Point ID and Break Point ID CheckPoint Group (SAAB tcode) commands makes ABAP debugging easier for programmers. SAP SAAB transaction is used to create new CheckPoint group and activate a checkpoint group for a specified time range and for selected users. In this ABAP tutorial, I'll try to show how to use CheckPoint groups using SAAB transaction and the ABAP code syntax of Log-Point Id and Break-Point Id commands.Using Break-Point Id enables ABAP debugger to activate break points set into the code whenever required. If the Break Points are not activated using the SAAB transaction, they wil