Run Time Type Services.

         Run Time Type Services, mais conhecido como RTTS, nada mais é do que tipos de serviços processados em tempo de execução pelo AS Abap. São implementados em função de uma hierarquia de classes específicas, cujas quais contém os métodos para a RTTI (Run Time Type Identification) e a RTTC (Run Time Type Creation).

         A identificação de tipos em tempo de execução (RTTI) tem a finalidade de descrever a definição de instâncias existentes e/ou tipo nome absoluto (nomes reservados da linguagem de programação Abap).

         A criação de tipos em tempo de execução (RTTC) tem como primazia da função a criação de novas categorias de dados em tempo de execução, tendo em vista a utilização dos comandos Abap: CREATE DATA (especifica o tipo de objeto a ser criado) e HANDLE (para criação de objetos de dados de maneira dinâmica).

         As propriedades das categorias de tipos são definidas em função dos atributos dos objetos de tipos. Para cada categoria de tipo, existe um objeto de tipo. Para cada categoria de tipo na linguagem de programação Abap (tipo elementar, tipo tabela, etc), existe um tipo de classe com atributos singulares para as propriedades de uma categoria de tipos específica. A hierarquia de classes dos tipos classes designam a estrutura de organização hierárquica das categorias de tipos existentes no sistema de tipos da linguagem de programação Abap.

         Os objetos de tipos apenas serão criados através de métodos de um tipo classe específico, conseguimos tal feito através da referência possivelmente adquirida através de um método estático específico da super classe (dentro da hierarquia de classes de tipos) CL_ABAP_TYPEDESCR ou mediante a chamada de um método pertencente a um tipo classe especial.

         Hierarquia de tipo classe

CL_ABAP_TYPEDESCR
|
|–CL_ABAP_DATADESCR
|   |
|   |–CL_ABAP_ELEMDESCR
|   |–CL_ABAP_REFDESCR
|   |–CL_ABAP_COMPLEXDESCR
|       |
|       |–CL_ABAP_STRUCTDESCR
|       |–CL_ABAP_TABLEDESCR
|
|–CL_ABAP_OBJECTDESCR
|
|–CL_ABAP_CLASSDESCR
|–CL_ABAP_INTFDESCR

          Exemplo de implementação de uma RTTI


Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s