Classe local

Segue um modelo de implementação de uma classe local dentro um report onde teremos basicamente dois métodos:

  • print_value (Irá imprimir um dado valor)
  • change_value (Irá alterar um dado valor)

A estrutura de implementação deste exemplo consiste em basicamente 3 passos:



1 - Definição ou Declaração da classe
*----------------------------------------------------------------------*
* Definição/Declaração da classe local
*----------------------------------------------------------------------*
CLASS local_class DEFINITION.

  PUBLIC SECTION.

    METHODS:
      print_value   IMPORTING var   TYPE string, "Método para imprimir valor
      change_value  CHANGING  var2  TYPE string. "Método para alterar um valor
ENDCLASS.


2 - Implementação dos métodos da classe
*----------------------------------------------------------------------*
* Implementação do métodos da classe local
*----------------------------------------------------------------------*
CLASS local_class IMPLEMENTATION.

  METHOD print_value.
    cl_demo_output=>display( var ).
  ENDMETHOD.

  METHOD change_value.
    var2 = 'Texto alterado'.
    cl_demo_output=>display( var2 ).
  ENDMETHOD.

ENDCLASS.


3 - Chamada dos métodos no report
*----------------------------------------------------------------------*
* Execução do report
*----------------------------------------------------------------------*
START-OF-SELECTION.

DATA: local_class_obj TYPE REF TO local_class, "Cria o objeto tipo da classe
      var_print       TYPE string,
      var_change      TYPE string.


var_print   = 'Teste de impressão'.
var_change  = 'Texto inicial'.

CREATE OBJECT local_class_obj. "Instancia o objeto tipo da classe

"Chama método de impressão passando o valor de 'var_print'
CALL METHOD local_class_obj->print_value
  EXPORTING var = var_print.

"Chama método para alterar o valor de 'var_change'
CALL METHOD local_class_obj->change_value
  CHANGING var2 = var_change.


Paulo Ramos

Consultor SAP ABAP | PI / PO com experiência em desenvolvimento de software e conhecimento em diversas linguagens de programação.

Postar um comentário

Postagem Anterior Próxima Postagem