April 20, 2024

ABAPZombie Guide to ABAP – Parte 4 – ALIASES

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! 😀

Mauricio Cruz

Pasteleiro há 15+ anos e criou o ABAPZombie junto com o Mauro em 2010. Gosta de filosofar sobre fundamentos básicos da programação e assuntos polêmicos. Não trabalha mais com SAP, mas ainda escreve sobre programação e faz vídeos de vez em quando.

View all posts by Mauricio Cruz →

2 thoughts on “ABAPZombie Guide to ABAP – Parte 4 – ALIASES

  1. 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.

    1. 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 😀

Leave a Reply to Flávio Furlan Cancel reply

Your email address will not be published. Required fields are marked *