SAP – Include Programs – Modularization Techniques – Abap

Publicado: 27 de julho de 2014 em Abap

Programas Include permitem que você gerencie programas complexos de uma forma ordenada. Os grupos funcionais e módulo usam programas Include para armazenar as partes do programa que pertencem um ao outro. O ABAP Workbench o apoia extensivamente ao criar tais programas complexos, criando os programas Includes automaticamente, atribuindo-lhes nomes exclusivos.

Os Includes permitem que você use o mesmo código fonte em diferentes programas. Por exemplo, isso pode ser útil se você tiver declarações de dados longas que você deseja usar em programas diferentes. Você pode por exemplo utilizar programas Includes para criar uma biblioteca de classes locais, eventos PBO, eventos PAI, procedimentos Forms entre outros, ou quando você queira organizar melhor seu código fonte.

Entretanto os programas Includes possuem duas restrições:  programas Includes não podem chamar a si mesmo e devem conter declarações completas, deste modo não é possível separar em programas Includes a definição de uma classe de sua implementação em arquivos de código fonte diferentes, assim como é de boa pratica em C++, já que ABAP OO foi baseado nesta linguagem, principalmente explicitando deste modo a separação da sintaxe entre a definição de uma classe e a implementação. Mas deveria, certo?

Tipo I - Programa Include

Tipo I – Programa Include

Os Includes são programas do tipo I – são um meio de dividir o código do programa em unidades menores e mais manejáveis. É possível inserir a codificação de um programa Include, em qualquer ponto de outro programa ABAP usando a instrução Include. Não há nenhuma relação técnica entre programas Includes e blocos de processamento. Includes são mais adequados para as unidades de programação lógicas, tais como declarações de dados ou conjuntos de blocos de processamento similares.

Exemplo:

Neste exemplo criamos um programa ABAP comum chamado ZMEUINCLUDE e um programa do tipo I, chamado ZINC_DEF, onde o programa include contem uma classe e o programa principal chama seu método estaticamente.

Abap

Programa – Principal

*&---------------------------------------------------------------------*
*& Report  ZMEUINCLUDE
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& Include - Modularization Techniques
*&---------------------------------------------------------------------*

REPORT  ZMEUINCLUDE.

* Chama o programa include
INCLUDE ZINC_DEF.

START-OF-SELECTION.
* Instancia estatica do objeto
HELLO=>OLA( ).

Programa – Include

*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*&---------------------------------------------------------------------*
*& Include: ZINC_DEF
*&---------------------------------------------------------------------*

* Definição da classe
CLASS hello DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS Ola.

ENDCLASS.

* Implementação da classe
CLASS hello IMPLEMENTATION.

  METHOD ola.
    Write  'Hello World Include'.
  ENDMETHOD.

ENDCLASS.
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s