Como um cara que curte OO, eu curto bastante esse comando.
ALIASES pode ser entendido como uma abreviação do nome de um método de uma interface.
Quando trabalhamos com interfaces em classes, normalmente temos que acessar os métodos das interfaces com o padrão nome_da_interface~nome_do_método. Isso enche o saco dependendo da classe que você estiver modelando :P.
Inventaram o ALIASES exatamente para acabar com a chatice desses nomes grande . Vejamos:
REPORT zombie_alias.
* Começamos com a declaração de uma interface qualquer
INTERFACE interface1.
METHODS metodo.
ENDINTERFACE. "interface1
*----------------------------------------------------------------------*
* CLASS lcl_alias DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_alias DEFINITION.
* Na sessão pública, vou adicionar a interface, e um ALIAS para
* um método definido na interface
PUBLIC SECTION.
INTERFACES interface1.
METHODS teste_alias.
* Aqui o comando que cria um nickname(apelido) para o método
* da interface
ALIASES met1 FOR interface1~metodo.
ENDCLASS. "lcl_alias DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_alias IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS lcl_alias IMPLEMENTATION.
* Implementação do método da interface
METHOD interface1~metodo.
WRITE 'Hi there!'.
ENDMETHOD. "interface1~metodo
* Esse é um método da própria classe, que chama o método da interface
* utilizando um ALIAS
METHOD teste_alias.
CALL METHOD met1.
ENDMETHOD. "teste_alias
ENDCLASS. "lcl_alias IMPLEMENTATION
* Referênciando nossa classe local
DATA: o_alias TYPE REF TO lcl_alias.
*--------------------------------------------------------------------*
* START-OF-SELECTION
*--------------------------------------------------------------------*
START-OF-SELECTION.
CREATE OBJECT o_alias.
* A chamada do método vai escrever o "Hi There!" na tela. E é só :)
o_alias->teste_alias( ).
Convenhamos, é bem mais fácil chamar o método met1 do que o método interface1~metodo.
Sintaxe: ALIASES <nome_abreviado> FOR <nome_da_interface~nome_do_metodo>.
Para fazer ALIASES na SE24, é só olhar na última aba da transação.
Só tomem cuidado para não se perder com as abreviações!
Abraços!
Edit: 10/02 – Vale a pena ler a observação do Furlan aí em embaixo. Se a sua classe tiver muitas interfaces, usar ALIASES demais pode deixar a sua classe mais caótica do que horda de zumbi com fome. Valeu Furlan!
Mas o fato de usar os ALIASES não torna o código mais dificil de dar manutenção? Eu particularmente não gosto dos ALIASES. São muito legais para quem escreve e tem o código na cabeça, mas para quem está fazendo manutenção é mais uma coisa para levar em consideração.
Olá Furlan! Boa Observação!
Eu me empolguei no post e acho que não ressaltei esse tema, que inclusive já foi motivo de polêmica num projeto antigo hahaha. Para evitar esses tipo de problemas, se fosse pra usar os ALIASES a gente colocava alguma notação para mostrar de qual interface era, por exemplo int1_met1.
E lá os nomes de interface eram GIGANTES hehehe.
Abraços e muito obrigado pelo comentário! Vou até ajustar o post