SAP ABAP 宏

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

赛锐信息:SAP ABAP 宏 图1
赛锐信息,SAP ERP定制,ERP定制

宏是基于占位符设计的。 占位符的工作方式类似于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以及短文本字段中的描述,以及类型和状态等适当属性,如以下屏幕截图所示:

赛锐信息:SAP ABAP 宏 图2
赛锐信息,SAP ERP定制,ERP定制

下面是代码:

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复选框。

赛锐信息:SAP ABAP 宏 图3
赛锐信息,SAP ERP定制,ERP定制

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

A Macro Program 
 
This is Macro 2

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

A Macro Program 
 
This is Macro 1 This is Macro 2 This is Macro 3

关于赛锐信息

作为SAP的资深合作伙伴,赛锐信息是一家专业提供SAP行业化管理软件解决方案的顾问公司,致力于为企业提供SAP ERP系统咨询服务、IT规划、业务流程优化、信息系统实施、行业信息系统方案开发,运营外包及售后维护等全面的服务方案。已服务1000+家不同行业、规模的大中小型企业客户。在电子高科技、汽车零部件、印刷包装、医疗器械、快消品、专业服务等行业信息化管理领域具有领导性地位。

相关文章

联系我们

联系我们

130-0752-1773

在线咨询:点击这里给我发消息

邮件:info@sapzx.com

工作时间:周一至周五9:00-18:00,节假日正常休息

关注微信
关注微信
分享本页
返回顶部