Questão sobre Classes Globais

Questão de certificação:

Identify the statement about Global Classes that is NOT true:

  1. A method to be transported is identified in transport organiser as LIMU METH
  2. Access to a global class is done as a reference variable using TYPE REF TO
  3. Global classes are stored in TADIR with key R3TR CLAS
  4. Programs that are available to Global Classes must be associated in Class Builder
  5. Class Builder can be used to test global classes

Comentários

A questão quer saber se você sabe alguns aspectos sobre Classes Globais:

1. A method to be transported is identified in transport organiser as LIMU METH

Correta. Um método de uma classe global é identificado como LIMU e METH no sistema de transporte do SAP. É uma questão fácil, quando você tem alguma experiência em ABAP. Para quem não têm nenhuma experiência, vai precisar ser um pouco mais astuto.

Vamos pensar nos dois tipos de classes, globais e locais. As classes locais estão em um programa ou include, ou seja, quando alteramos um método, o objeto que será transportado será o programa ou o inclulde, não o método em questão.

Já para as classes globais, quando alteramos um método, o próprio método é tratado com um objeto específico. Dica: na tela de edição da implementação do método, temos o botão de ativação, que atua somente no método. Isso é o indicativo que o método é tratado como um objeto SAP independente.

2. Access to a global class is done as a reference variable using TYPE REF TO

Correto. Os objetos criados de classes globais são acessados usando vairáveis de referência criadas com TYPE REF TO, como qualquer outro objeto.

3. Global classes are stored in TADIR with key R3TR CLAS

Correto. TADIR é uma tabela transparente que armazena a identificação de todos os objetos transportáveis do sistema (Directory of Repository Objects). Se você olhar o conteúdo dessa tabela (SE16), você verá que as classes são armazenadas como R3TR CLAS.

4. Programs that are available to Global Classes must be associated in Class Builder

Errado. Classes globais não precisam de nenhuma referência prévia para usá-la.

5. Class Builder can be used to test global classes

Correto. É uma funcionalidade do Class Builder (SE24). É possível criar uma instância, carregar os seus atributos e rodar os métodos.

Resposta correta: 4