20260104

Categoria de ampliação - Tabelas e Estruturas

Texto breve

Seleção da categoria de ampliação

Definição

As estruturas e tabelas definidas pela SAP no ABAP Dictionary, podem ser ampliadas posteriormente pelos clientes com ajuda de includes de customizing ou estruturas append.  As ampliações não se referem apenas às próprias estruturas/tabelas, mas também às estruturas dependentes que transferem a ampliação como include ou estrutura referenciada. As estruturas append que na estrutura de saída têm consequências apenas no final, podem dar origem a alterações nas estruturas dependentes, mesmo dentro destas estruturas.

A seleção de uma categoria de ampliação é necessária, uma vez que em programas sem verificação Unicode ativa, as ampliações de tabelas e de estruturas, principalmente nas verificações de tipo e em conjunto com estruturas profundas, podem originar erros de sintaxe e em tempo de execução.

Nos programas com verificação Unicode ativa, as atribuições, as verificações de operando e os acessos com offset e comprimento são problemáticos se, por exemplo, forem inseridos componentes numéricos ou profundos em uma estrutura meramente em forma de caractere e a estrutura perder, por isso, a sua forma de caractere.

Em função da definição de estrutura, os botões de rádio permitidos da caixa de diálogo estão prontos para entrada. Selecione uma das possíveis categorias de ampliação:

  • Não ampliável
    A estrutura não pode ser ampliada.
  • Ampliável e em forma de caractere
    Todos os componentes de estrutura e as respectivas ampliações devem ser em forma de caractere (C, N, D ou T). A estrutura de saída e todas as ampliações pelo include de customizing ou pelas estruturas append estão sujeitas a esta restrição.
  • Ampliável e em forma de caractere ou numérica
    A estrutura e a respectiva ampliação não pode conter tipos de dados profundos (tabelas, referências, cadeias).
  • Ampliável conforme pretendido
    A estrutura e a respectiva ampliação pode conter componentes, cujo tipo de dados é facultativo.
  • não classificado
    Esta categoria pode ser selecionada, por exemplo, para um status de transição, mas não ao criar estruturas.

Regras para a determinação da categoria de ampliação que resulta de modo implícito da estrutura e da classificação de tipos utilizados:

  • Se o objeto contiver pelo menos um tipo numérico ou uma subestrutura ou componente (o campo tem estrutura/tabela/visão como tipo) que é ampliável de modo numérico, o objeto já não é ampliável em forma de caractere, mas poderá ser ampliável em forma de caractere ou de modo numérico.
  • Se o objeto contiver um componente profundo (cadeia, referência ou tipo de tabela) ou uma subestrutura ou componente marcado como ampliável conforme pretendido, o próprio objeto é ampliável conforme pretendido.
  • Se o objeto não contiver nenhuma subestrutura ou componente marcada como ampliável, não é possível selecionar não ampliável. Se a estrutura ainda não tiver sido ampliada, a categoria não ampliável pode ser selecionada a qualquer momento .

Se forem criadas de novo tabelas e estruturas no ABAP Dictionary, é proposta a categoria ampliável conforme pretendido como valor padrão para a classificação das opções de ampliação. Se o desenvolvedor selecionar para uma estrutura uma classificação mais restrita como ampliável conforme pretendido, só são permitidos os níveis de classificação que respeitam as regras acima descritas. Não é possível selecionar para uma estrutura uma opção de ampliação que seja inferior (mais restrita) do que a classificação que resulta implicitamente da estrutura e da classificação dos tipos utilizados. Por isso, nas interfaces de atualização somente são propostas para a seleção as categorias permitidas.

Se uma estrutura depender de uma ou várias outras estruturas, será selecionada como classificação implícita a categoria mas pequena (na ordem: não ampliável < ampliável e em forma de caractere < ampliável e em forma de caractere ou numérica ampliável conforme pretendido), que é superior ou igual às categorias de outras estruturas e também superior ou igual à categoria que resulta da estrutura real da própria estrutura.

Consulte também Categoria de ampliação de estruturas