Incluindo colunas em uma tabela padrão

É possível incluir colunas nas tabelas modificando os arquivos XML de extensão do banco de dados da entidade e, em seguida, reconstruindo o banco de dados de aplicativos e os arquivos JAR do aplicativo. Após o aplicativo ser reconstruído, as APIs reconhecem essas colunas incluídas e as usam ao armazenar e recuperar dados.

Procedimento

  1. Copie o arquivo <runtime_sandbox>/repository/entity/extensions/Extensions.xml.sample como <runtime_sandbox>/extensions/global/entities/your_custom_filename.xml ou modifique seu arquivo XML de extensão existente.
  2. Editar o arquivo your_custom_filename.xml para incluir uma tag de entidade conforme mostrado no exemplo a seguir para cada tabela que você deseja estender. Se a tag existir, use a existente.. Para uma descrição dos atributos XML, consulte a tabela após o exemplo.
    <!-- element exposed to create a column --> 
    <DBSchema Depends="" Name=""> 
      <Entities> 
        <Entity TableName="REQUIRED"> 
        <Attributes> 
          <Attribute ColumnName="REQUIRED" DataType="" DecimalDigits="" 
           CompressionSupported="false"
           UseCompression="false" QueryAllowed="false" DefaultValue="" Description=""
           Nullable="false" Size="1" Type="REQUIRED" XMLName="OPTIONAL" Name="OPTIONAL" XMLGroup=""
           SqlServerDataType="" /> 
        </Attributes> 
        </Entity> 
      </Entities> 
    </DBSchema>
    Nota: Se for especificado ColumnName que usa um conjunto de caracteres não ASCII, os atributos XMLName e Name serão necessários...

    O arquivo XML de extensão de amostra a seguir descreve um atributo ou índice quando incluído em uma coluna da tabela:

    Atributo incluído em uma coluna da tabela

    <DBSchema Name="FunctionalExtensions"> 
      <Entities> 
        <Entity TableName="REQUIRED"> 
        <Attributes> 
          <Attribute ColumnName="REQUIRED" DataType="" DecimalDigits="" 
           CompressionSupported="false"
           UseCompression="false" QueryAllowed="false" DefaultValue="" Description=""
           Nullable="false" Size="1" Type="REQUIRED" XMLName="OPTIONAL" Name="OPTIONAL" XMLGroup=""
           SqlServerDataType="" /> 
        </Attributes> 
        </Entity> 
      </Entities> 
    </DBSchema>

    Índice incluído em uma coluna da tabela

    <DBSchema Depends="FunctionalExtensions" Name="SystestIndexes"> 
      <Entities> 
        <Entity TableName="REQUIRED"> 
        <Indices> 
          <Index Name="ExtnIndex_1"/> 
             <Column Name="REQUIRED"/>
          </Index> 
        </Indices>
        </Entity> 
      </Entities> 
    </DBSchema>

    Atributo

    Descrição

    Depende de

    Opcional. Nome do arquivo de extensões que contém suas entidades dependentes.. Os arquivos não nomeados são nomeados implicitamente Internamente, a parte ".xml" é removida do nome do arquivo. Você deve incluir o caminho relativo ao diretório da entidade do repositório. Por exemplo, neste caso, o arquivo FunctionalExtensions.xml reside em resources.jar no diretório database/entities/upgradeextensions/ ..

    Nome

    Opcional, a menos que você esteja usando um conjunto de caracteres não ASCII, caso em que ele é necessário, como é o XMLName.

    Um nome para esse arquivo de extensões de entidade que identifica o arquivo de extensão no caso em que outra entidade depende desse arquivo. Os arquivos não nomeados são nomeados implicitamente Internamente, a parte ".xml" é removida do nome do arquivo. Você deve incluir o caminho relativo no diretório da entidade do repositório.

    Por exemplo, neste caso, o arquivo SystestIndexes.xml reside em resources.jar no diretório database/entities/upgradeextensions/ ..

    ColumnName

    Obrigatório. O nome da coluna incluída nessa tabela. O Nome da Coluna deve começar com EXTN_.

    XMLName e Name serão necessários, se este atributo for não ASCII.

    DataType

    Opcional. Os valores válidos estão disponíveis no arquivo install_dir /repository/datatypes/datatypes.xml

    Nota: o tipo de dados BLOB não é suportado.

    DecimalDigits

    Opcional. Número de dígitos de precisão necessários após o decimal. Necessário somente para campos numéricos.

    CompressionSupported

    Opcional. O atributo usado para indicar se a compactação de dados é suportada para esta coluna Os valores válidos são True ou False. Se True, o suporte à compactação está ativada.

    Nota: Se você tiver inserido dados em uma coluna e configurado os atributos CompressionSupported e UseCompression como True, não configure o atributo CompressionSupported novamente como False. Fazer isso resultaria na recuperação sem nenhuma descompactação de todos os dados compactados.

    UseCompression

    Opcional. Atributo usado para compactar dados para essa coluna. Os valores válidos são True ou False. Se True, os dados são compactados.

    Nota: O valor desse atributo deve ser configurado como True apenas se o atributo CompressionSupported for configurado como True.

    QueryAllowed

    Opcional. Atributo usado para ativar uma coluna compactável para ser usada para consultas em uma API de Lista. Os valores válidos são True ou False. Se True, a coluna pode ser usada para consultas nas APIs da Lista.

    Nota: Se o valor do atributo CompressionSupported for configurado como true, então o valor desse atributo também deverá ser configurado como True

    DefaultValue

    Obrigatório. Usado no estado em que se encontra para a cláusula padrão no seu banco de dados.

    Descrição

    Opcional. Descrição do uso da coluna.

    Anulável

    Opcional. Atributo usado para descrever o valor anulável de um campo. O padrão é false

    Recomenda-se configurá-lo como true, a menos que seja a coluna de chave primária

    Tamanho

    Tamanho da coluna de banco de dados.

    Tipo

    Obrigatório. Tipo de dados da coluna de banco de dados. Esse atributo também determina o tipo de atributo nas classes Java™ que são geradas e o formato do atributo no XML Os tipos válidos são CHAR, VARCHAR2, NUMBER, DATE e TIMESTAMP.

    Nota: Se DATE for especificado, apenas a data do calendário será armazenada. Se TIMESTAMP for especificado, a data do calendário e a hora serão armazenadas.

    XMLName

    Nome XML do atributo, se for diferente do nome do atributo. Juntamente com Name, esse atributo será necessário, se você estiver usando um conjunto de caracteres não ASCII.

    Escolha um nome que não entre em conflito com a extensão base. É recomendado que você use Extn como um prefixo. Recomenda-se também que você use a mesma convenção para chegar ao XMLName que o produto base do Sterling™ Order Management System usa: Faça com que cada letra após o sublinhado no nome da coluna seja maiúscula e o restante seja minúsculo. Depois, remova os sublinhados. Dessa forma, Extn_Item_Id deve ser ExtnItemId

    XMLGroup

    Se presente, indica a tag filha na qual o atributo está presente. Se o atributo não estiver presente no XML, use a sequência NOT_SHOWN.

    O XMLGroup deve ser Extn. Assim, os dados para as colunas estendidas estarão em um elemento separado na saída XML da API.

    VirtualDefaultValue

    Opcional. Este atributo é aplicável às Colunas Null. Quando um null é retornado do banco de dados, ele é armazenado na memória como o valor padrão virtual.

    ForceUpperCase

    Opcional. Se uma procura "sem distinção entre maiúsculas e minúsculas" for necessária para uma coluna de texto, esse campo deverá ser configurado como "True".

    Se configurado como "True", o sistema converterá os dados inseridos nesse campo em maiúsculas.

    ResizeForMultibyte Algumas das tabelas de localização da entidade de dados principais possuem um tamanho de coluna que não suporta caracteres de multibyte Use esse atributo quando desejar aumentar o tamanho do caractere dessa coluna ou de uma coluna existente. Se o atributo for configurado como Y, ele ajudará a redimensionar o comprimento de uma coluna quando a propriedade SUPPORT_MULTIBYTE for configurada como true no arquivo sandbox.cfg .. Para obter mais informações sobre o recurso, consulte Suporte para caracteres multibyte no banco de dados
  3. Crie uma tag de Atributo para cada coluna que você deseja incluir na tabela.
  4. Estenda os modelos de API correspondentes seguindo as etapas descritas em "Sobre Extensão de Modelos de API".
  5. Construa e implemente as suas extensões. Ao construir extensões do banco de dados a ferramenta dbverify é executada, que aplica SQLS dbverify-generated para o banco de dados.

Resultados

Um caso especial de extensão de colunas para incluir identificadores ou descritores de tag exclusivos é explicado em Incluindo identificadores e descritores de tag exclusivos em uma tabela padrão.