W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
如果我們想在程序中多次重復(fù)使用同一組語(yǔ)句,我們需要將它們包含在宏中。 例如,宏可用于長(zhǎng)計(jì)算或用于編寫復(fù)雜的WRITE語(yǔ)句。 我們只能在定義它的程序中使用宏。 宏定義應(yīng)在程序中使用宏之前發(fā)生。
宏是基于占位符設(shè)計(jì)的。 占位符的工作方式類似于C語(yǔ)言中的指針。 您可以在DEFINE ... END-OF-DEFINITION語(yǔ)句中定義一個(gè)宏。
以下是宏定義的基本語(yǔ)法:
DEFINE <macro_name>. <statements> END-OF-DEFINITION. ...... <macro_name> [<param1> <param2>....].
704/5000在調(diào)用它之前必須首先定義一個(gè)宏。 ...。 替換宏定義中包含的ABAP語(yǔ)句中的占位符和1 ...。
宏定義中占位符的最大數(shù)量為9。 也就是說(shuō),當(dāng)執(zhí)行程序時(shí),SAP系統(tǒng)用適當(dāng)?shù)恼Z(yǔ)句替換宏,并且用參數(shù)param1,param2,... param9替換占位符&1,&2,...,&9。 我們可以在另一個(gè)宏中調(diào)用宏,但不能調(diào)用同一個(gè)宏。
例
轉(zhuǎn)到事務(wù)SE38。 創(chuàng)建一個(gè)新程序ZMACRO_TEST以及短文本字段中的描述,以及類型和狀態(tài)等適當(dāng)屬性,如以下屏幕截圖所示:
下面是代碼:
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個(gè)復(fù)選框。 在執(zhí)行程序時(shí),讓我們選擇S2復(fù)選框。
上面的代碼產(chǎn)生以下輸出:
A Macro Program This is Macro 2
如果選中所有復(fù)選框,代碼將生成以下輸出:
A Macro Program This is Macro 1 This is Macro 2 This is Macro 3
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: