Sap-abap-macros
SAP ABAP-マクロ
プログラムで同じステートメントのセットを複数回再利用したい場合は、それらをマクロに含める必要があります。 たとえば、マクロは、長い計算や複雑なWRITEステートメントの作成に役立ちます。 マクロは、それが定義されているプログラム内でのみ使用できます。 マクロをプログラムで使用する前に、マクロ定義を行う必要があります。
マクロは、プレースホルダーに基づいて設計されています。 プレースホルダーは、C言語のポインターのように機能します。 DEFINE … END-OF-DEFINITIONステートメント内でマクロを定義できます。
以下は、マクロ定義の基本的な構文です-
呼び出す前に、最初にマクロを定義する必要があります。 <param1>…。 マクロ定義に含まれるABAPステートメントのプレースホルダー&1 …を置き換えます。
マクロ定義のプレースホルダーの最大数は9です。 つまり、プログラムが実行されると、SAPシステムはマクロを適切なステートメントに置き換え、プレースホルダー&1、&2、…。&9はパラメーターparam1、param2、…. param9に置き換えられます。 別のマクロ内でマクロを呼び出すことはできますが、同じマクロを呼び出すことはできません。
例
トランザクションSE38に進みます。 短いテキストフィールドの説明と、次のスクリーンショットに示すように、タイプやステータスなどの適切な属性とともに、新しいプログラムZMACRO_TESTを作成します-
以下はコードです-
3つのチェックボックスがあります。 プログラムの実行中に、S2チェックボックスを選択しましょう。
上記のコードは、次の出力を生成します-
すべてのチェックボックスが選択されている場合、コードは次の出力を生成します-