JSRUN 用代码说话

如果我们想在程序中多次重复使用同一组语句,我们需要将它们包含在宏中。 例如,宏可用于长计算或用于编写复杂的WRITE语句。 我们只能在定义它的程序中使用宏。 宏定义应在程序中使用宏之前发生。

宏是基于占位符设计的。 占位符的工作方式类似于C语言中的指针。 您可以在DEFINE ... END-OF-DEFINITION语句中定义一个宏。

以下是宏定义的基本语法:

DEFINE <macro\_name>. <statements> 
END-OF-DEFINITION. 
   ...... 

   <macro\_name> \[<param1> <param2>....\].

704/5000在调用它之前必须首先定义一个宏。 ...。 替换宏定义中包含的ABAP语句中的占位符和1 ...。

宏定义中占位符的最大数量为9。 也就是说,当执行程序时,SAP系统用适当的语句替换宏,并且用参数param1,param2,... param9替换占位符&1,&2,...,&9。 我们可以在另一个宏中调用宏,但不能调用同一个宏。

示例

转到事务SE38。 创建一个新程序ZMACRO_TEST以及短文本字段中的描述,以及类型和状态等适当属性,如以下屏幕截图所示:

New Program ZMACRO

下面是代码:

REPORT ZMACRO\_TEST. 
DEFINE mac\_test. 
WRITE: 'This is Macro &1'. 
END-OF-DEFINITION. 

PARAMETERS: s1 type C as checkbox. 
PARAMETERS: s2 type C as checkbox. 
PARAMETERS: s3 type C as checkbox default 'X'. 

START-OF-SELECTION. 
IF s1 = 'X'. 
   mac\_test 1. ENDIF. 
IF s2 = 'X'. 
   mac\_test 2. 
ENDIF.

IF s3 = 'X'. 
   mac\_test 3. 
ENDIF.

我们有3个复选框。 在执行程序时,让我们选择S2复选框。

Macro Program Checkbox

上面的代码产生以下输出:

A Macro Program 

This is Macro 2

如果选中所有复选框,代码将生成以下输出:

A Macro Program 

This is Macro 1 This is Macro 2 This is Macro 3
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟