Tabelas internas

o tipo de dados de uma tabela interna é totalmente especificado por seu tipo de linha, chave e tipo de tabela.

tipo de linha

o tipo de linha de uma tabela interna pode ser qualquer tipo de dados. O tipo de dados de uma tabela interna é normalmente uma estrutura. Cada componente da estrutura é uma coluna na tabela interna. No entanto, o tipo de linha também pode ser elementar ou outra tabela interna.

chave

a chave identifica as linhas da tabela. Existem dois tipos de chave para tabelas internas – a chave padrão e uma chave definida pelo Usuário. Você pode especificar se a chave deve ser única ou não. Tabelas internas com uma chave única não podem conter entradas duplicadas. A exclusividade depende do método de acesso à tabela.

em tabelas com tipo de linha estruturada, a chave padrão é formada a partir de todas as colunas do tipo caractere da tabela interna. Se uma tabela tiver um tipo de linha elementar, a chave padrão será a linha inteira. A chave padrão de uma tabela interna cujo tipo de linha é uma tabela interna, a chave padrão está vazia. Em tabelas com tipo de linha não estruturada, a chave padrão consiste em toda a linha. Se o tipo de linha também for uma tabela, uma chave vazia será definida.

a chave definida pelo usuário pode conter qualquer coluna da tabela interna que não seja uma tabela interna e não contenha tabelas internas. As referências são permitidas como chaves de tabela. Tabelas internas com uma chave definida pelo usuário são chamadas de tabelas-chave. Quando você define a chave, a sequência dos campos-chave é significativa. Você deve se lembrar disso, por exemplo, se você pretende classificar a tabela de acordo com a chave.

tipo de tabela

o tipo de tabela determina como o ABAP acessará entradas de tabela individuais. As tabelas internas podem ser divididas em três tipos:

as tabelas padrão têm um índice linear interno. De um tamanho particular para cima, os índices de tabelas internas são administrados como árvores. Nesse caso, a sobrecarga de administração do índice aumenta em relação logarítmica e não linear ao número de linhas. O sistema pode acessar registros usando o índice de tabela ou a chave. O tempo de resposta para acesso à chave é proporcional ao número de entradas na tabela. A chave de uma tabela padrão é sempre não única. Você não pode especificar uma chave exclusiva. Isso significa que as tabelas padrão sempre podem ser preenchidas muito rapidamente, pois o sistema não precisa verificar se já existem entradas existentes.

as tabelas classificadas são sempre salvas classificadas pela chave. Eles também têm um índice interno. O sistema pode acessar registros usando o índice de tabela ou a chave. O tempo de resposta para o acesso à chave é logaritmicamente proporcional ao número de entradas da tabela, uma vez que o sistema usa uma pesquisa binária. A chave de uma tabela classificada pode ser única ou não única. Ao definir a tabela, você deve especificar se a chave deve ser única ou não. Tabelas padrão e tabelas classificadas são conhecidas genericamente como tabelas de índice.

tabelas com hash não têm índice linear. Você só pode acessar uma tabela hash usando sua chave. O tempo de resposta é independente do número de entradas da tabela e é constante, uma vez que o sistema acessa as entradas da tabela usando um algoritmo hash. A chave de uma tabela hash deve ser única. Ao definir a tabela, você deve especificar a chave como única.

tabelas internas genéricas

ao contrário de outros tipos de dados locais em programas, você não precisa especificar o tipo de dados de uma tabela interna totalmente. Em vez disso, você pode especificar uma construção genérica, ou seja, o tipo de chave ou chave e linha de um tipo de dados de tabela interna pode permanecer não especificado. Você pode usar tabelas internas genéricas para especificar os tipos de símbolos de campo e os parâmetros de interface dos procedimentos . Você não pode usá-los para declarar objetos de dados.

Leave a Reply