ABAP宏--Macros

定义语法

DEFINE macro.

... &1 ... &9 ...

END-OF-DEFINITION.

调用语法:

macro [p1 p2 ... ].

最多时能有9参数

例子:

DATA: result TYPE i,

n1 TYPE i VALUE 5,

n2 TYPE i VALUE 6.

DEFINE operation.

result = &1 &2 &3.  *&1 &2 &3是参数

output &1 &2 &3 result.

END-OF-DEFINITION. * operation是定义的宏的名称

DEFINE output.

write: / 'The result of &1 &2 &3 is', &4.

END-OF-DEFINITION.

operation 4 + 3.

operation 2 ** 7.

operation n2 - n1.

Notes:

1,与子程序不同的是,宏通过&N接收传入参数,不需要定义接收参数的类型及格式。

宏只能被本程序中定义于宏后面的语句所调用,宏一般定义于程序最开始,而子程序则可以放在程序中的任意位置。

2, 以前,若叙述的宏在当前程序中未定义,只会在用TYPE-POOLS语句加载的的Type groups中进行搜索。

但现在会在所有可用的Type groups中搜索。

3,若ABAP编译器在当前程式或可用的Type groups中都未搜到该叙述的宏,那么它会搜索TRMAC表。

TRMAC表中的宏跟Type groups中命名规则不同,therefore nothing should be hidden。

上一篇:【Uiautomatorviewer】报错:Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationT...


下一篇:Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't