Se você quiser reutilizar o mesmo conjunto de instruções mais de uma vez em um programa, você pode incluí-los em uma macro. Por exemplo, isso pode ser útil para cálculos longos ou declarações WRITE complexas. Você só pode usar uma macro dentro do programa em que está definida, e a Macro só pode ser chamada após a sua definição. Uma macro substitui os valores definidos para seus parâmetros por valores utilizados pelo código do usuário e os executam, existe um limite de definição de nove parâmetros para uma macro, exemplo: &1, &2 … &9.
Exemplo:
Neste exemplo definimos três parâmetros para serem executados por uma macro.
Abap
*&---------------------------------------------------------------------* *& Report ZMACROS *& *&---------------------------------------------------------------------* *& Desenvolvimento Aberto *& Macros *&---------------------------------------------------------------------* REPORT ZMACROS. * Declara variável DATA: resultado TYPE i. * Define Macro DEFINE calculo. resultado = &1 &2 &3. Write : / 'Calculo: &1 &2 &3 = ', resultado. END-OF-DEFINITION. * Executa Macro Write : / 'Efetua calculos a partir de Macros', / . calculo 10 + 10. calculo 15 - 10. calculo 10 * 10. calculo 10 / 2.