Exemplo de Posicional e Delimitado Combinado

Sobre Esta Tarefa

Este exemplo mostra como construir um Esquema de Arquivo Simples para analisar uma combinação de dados posicionais e delimitados. Para criar um Esquema de Arquivo Simples, você deve primeiro analisar seus dados do Arquivo Simples para determinar os campos e nós a serem incluídos no Esquema de Arquivo Simples. Neste exemplo, você cria um Esquema de Arquivo Simples para as duas linhas de dados a seguir:

BuyRight Pharmacy;USACAMVI334;!389!22;34980;

Taylor Drugs;USANJWLB128;!778!23!523;5667;

Use uma abordagem descendente para definir os registros e campos do Esquema de Arquivo Simples, conforme mostrado as etapas a seguir:

Procedimento

  1. Crie um nó-raiz:
    1. Na guia Projeto, clique com o botão direito do mouse na pasta Esquemas de Arquivo Simples e selecione Novo Esquema de Arquivo Simples. A caixa de diálogo Assistente Básico é aberta.
    2. Insira Order no campo Nome.
    3. Clique em OK. O Editor de Esquema de Arquivo Simples é aberto e o Esquema de Arquivo Simples é exibido sob a pasta Esquemas de Arquivo Simples na guia Projeto. Além disso, um nó-raiz com o mesmo nome é mostrado na guia Layout do Esquema.
  2. Determine o nível mais alto de estrutura nos dados. Neste exemplo, a estrutura maior é cada uma das duas linhas que representa um registro. Os dois registros nestes dados de Arquivo Simples são delimitados por um fim de linha que está localizado entre os dois registros, conforme mostrado em Figura 1:
    Figura 1. Exemplo combinado 1: os registros do arquivo são delimitados pelo fim da linha que está localizado entre os caracteres que constituem o registro.Exemplo combinado 1
  3. Configure o nó-raiz chamado Order para analisar os registros filhos de repetição usando os seguintes critérios:
    • Separe os dados em registros usando um delimitador.
    • Presuma que o documento termine com um EOS (End Of Stream) porque o último registro não termina com um delimitador.
    • Use o delimitador de fim de linha para delimitar quaisquer registros filhos.
    • Presuma o delimitador entre os dados.
    • Presuma registros filhos de repetição.
    • Use o delimitador de fim de linha para delimitar os registros filhos de repetição.

    Usando estes critérios, especifique os valores a seguir para a área de janela Propriedades Básicas e Delimitadores do nó Order conforme mostrado em Figura 2:

    Figura 2. Área de janela de exemplo combinado 1, em que a Estrutura é Delimitada e o Documento termina com a caixa EOS assinalada. A opção Fim da Linha é selecionada e a posição Delimitador Filho é configurada como EntreÁrea de janela de exemplo combinado 1
  4. Inclua um nó-filho no nó-raiz para representar os registros. Na guia Layout do Esquema, clique com o botão direito do mouse no nó Order. No menu, selecione Novo Filho > Registro, insira purchaseOrder e clique em OK.
  5. Determine o próximo nível de estrutura nos dados. Neste exemplo, o próximo nível da estrutura são os campos delimitados por ponto e vírgulas, conforme mostrado em Figura 3:
    Figura 3. Exemplo combinado 2: Os campos individuais do registro são delimitados por ponto e vírgulas.Exemplo combinado 2
  6. Configure o nó purchaseOrder para analisar esses campos conforme descrito pelos seguintes critérios:
    • O nó purchaseOrder pode ter uma ou mais ocorrências.
    • Analise os dados do registro em campos-filhos usando um delimitador.
    • Use o ponto e vírgula como o delimitador entre os dados.
    • Presuma o delimitador após os dados.

    Usando estes critérios, especifique os valores a seguir para a área de janela Propriedades Básicas e Delimitadores do nó purchaseOrder, conforme mostrado em Figura 4:

    Figura 4. Área de janela de exemplo combinado 2: A Estrutura é configurada como Delimitada, opções Máximo Ilimitado e Caractere selecionadas. A Posição do Delimitador Filho é configurada como Após.Área de janela de exemplo combinado 2
  7. Inclua os campos do nó purchaseOrder, clicando com o botão direito do mouse no nó purchaseOrder na guia Layout do Esquema e selecionando a opção Novos Filhos na lista.A caixa de diálogo Inclusão em Massa é exibida.
  8. Na caixa de diálogo Inclusão em Massa, inclua todos os registros e campos filhos do nó purchaseOrder:
    • Clique em Incluir e altere field1 para storeName. Deixe o Tipo de Nó configurado como Campo.
    • Clique em Incluir e altere field2 para OriginCode. Altere o Tipo de Nó para Registro.
    • Clique em Incluir e altere field3 para items. Altere o Tipo de Nó para Registro.
    • Clique em Incluir e altere field4 para orderID. Deixe o Tipo de Nó configurado como Campo.
    • Clique em OK.
  9. Determine o próximo nível de estrutura nos dados. Neste exemplo, o próximo nível da estrutura é um conjunto de dados posicionais localizados no registro originCode, conforme mostrado em Figura 5:
    Figura 5. Exemplo combinado 3: originCode é uma seção de dados posicionais no registro delimitado.Exemplo combinado 3
  10. Configure o registro originCode como posicional:
    1.  Na guia Layout do Esquema, selecione o nó originCode. As Propriedades Básicas são exibidas.
    2. Na lista Estrutura, selecione Posicional.
  11. Inclua os campos posicionais do nó originCode, clicando com o botão direito do mouse no nó originCode na guia Layout do Esquema e selecionando a opção Novos Filhos na lista. A caixa de diálogo Inclusão em Massa é aberta.
  12. Na caixa de diálogo Inclusão em Massa, inclua todos os registros e campos filhos do nó originCode:
    1. Clique em Incluir e altere field1 para countryCode. Deixe o Tipo de Nó configurado como Campo.
    2. Clique em Incluir e altere field2 para stateCode. Deixe o Tipo de Nó configurado como Campo.
    3. Clique em Incluir e altere field3 para cityCode. Deixe o Tipo de Nó configurado como Campo.
    4. Clique em Incluir e altere field4 para storeCode. Deixe o Tipo de Nó configurado como Campo.
    5. Clique em OK.
  13. Configure as Propriedades Posicionais de cada campo posicional. Para cada nó filho do nó originCode, clique no nó na guia Layout do Esquema; no final da área de janela de propriedades, configure os valores de Deslocamento de Campo e Comprimento de Campo conforme mostrado na lista a seguir:
    • countryCode -
      Prop. posicional de país
    • stateCode -
      Prop. posicional de estado
    • cityCode -
      Prop. posicional de cidade
    • storeCode -
      Prop. posicional de loja

    O Deslocamento do Campo é calibrado a partir do local do caractere atual enquanto a cadeia originCode está sendo processada, e não a partir do início da cadeia originCode de cada campo. Neste exemplo, o countryCode é processado e os três primeiros caracteres de originString são designados ao countryCode. Quando o stateCode é processado, o local do caractere atual já está no local do caractere 3, portanto, o Deslocamento do Campo igual a 1 de stateCode é incluído no local do caractere atual para obter o ponto de início para processar a sequência stateCode, conforme mostrado em Figura 6:

    Figura 6. O Exemplo Combinado 4 mostra o local do cursor atual e o Deslocamento do Campo.Exemplo combinado 4
  14. Determine o próximo nível de estrutura nos dados. Neste exemplo, o próximo nível da estrutura são os campos de repetição delimitados por pontos de exclamação, conforme mostrado em Figura 7:
    Figura 7. Exemplo combinado 5, em que os dados delimitados são indicados por pontos de exclamação.Exemplo combinado 5
  15. Configure o nó items para analisar registros filhos de repetição usando os seguintes critérios:
    • Separe os dados em campos usando um delimitador.
    • Use pontos de exclamação como delimitadores para delimitar quaisquer campos-filhos.
    • Presuma o delimitador antes dos dados.
    • Presuma um ou mais campos-filhos de repetição.
    • Use pontos de exclamação como delimitadores para delimitar os campos-filhos de repetição.

    Usando estes critérios, especifique os valores a seguir para a área de janela Propriedades Básicas e Delimitadores do nó de itens, conforme mostrado em Figura 8:

    Figura 8. Área de janela de exemplo combinado 3, em que a Posição do Delimitador Filho é configurada coma Antes.Área de janela de exemplo combinado 3
  16. Inclua o campo-filho de repetição no nó items, clicando com o botão direito do mouse no nó items na guia Layout do Esquema e selecionando a opção Novo Filho > Campo na lista. A caixa de diálogo Novo Campo é aberta.
  17. Em Nome do Campo, insira item e clique em OK.
  18. Configure o nó item para conter uma ou mais ocorrências, conforme mostrado em Figura 9:
    Figura 9. Área de janela de exemplo combinado 4, em que Máximo de Repetições é configurado para Ilimitado.Área de janela de exemplo combinado 4
    O Esquema de Arquivo Simples está concluído e pronto para ser testado.
  19. Cole o seguinte texto na subárea de janela esquerda da área de janela de teste:

    BuyRight Pharmacy;USACAMVI334;!389!22;34980;

    Taylor Drugs;USANJWLB128;!778!23!523;5667;

    Esses dados também são fornecidos no arquivo mixedData.txt. Se você aceitou os padrões durante a instalação do Studio, este arquivo está localizado no diretório a seguir: C:\Arquivos de Programas\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema
    Atenção: Não inclua um retorno de linha após a última linha.
  20. Clique no ícone Testar.
    Ícone Testar
    A caixa de diálogo Confirmação de Salvamento é aberta.
  21. Clique em Sim. A representação de XML a seguir dos dados é mostrada na área de janela de teste:
    <?xml version="1.0" encoding="UTF-8"?>
    <Order>
    	<purchaseOrder>
    		<storeName>BuyRight Pharmacy</storeName>
    		<originCode>
    			<countryCode>USA</countryCode>
    			<stateCode>CA</stateCode
    			<cityCode>MVI</cityCode>
    			<storeCode>334</storeCode>
    		</originCode>
    		<items>
    			<item>389</item>
    			<item>22</item>
    		</items>
    		<orderId>34980</orderId>
    	</purchaseOrder>
    	<purchaseOrder>
    		<storeName>Taylor Drugs</storeName>
    		<originCode>
    			<countryCode>USA</countryCode>
    			<stateCode>NJ</stateCode>
    			<cityCode>WLB</cityCode>
    			<storeCode>128</storeCode>
    		</originCode>
    		<items>
    			<item>778</item>
    			<item>23</item>
    			<item>523</item>
    		</items>
    		<orderId>5667</orderId>
    	</purchaseOrder>
    </Order>
  22. Na guia Layout do Esquema, clique no nó item. Na subárea de janela direita da área de janela de teste, os dados analisados no nó item são destacados conforme mostrado em Figura 10:
    Figura 10. O Nó de Item é DestacadoTeste de exemplo combinado
  23. Clique no nó state para visualizar os dados designados para o nó de estado.
    Nota: Uma implementação de referência do Esquema de Arquivo Simples Order é fornecida no projeto FlatFileSchemasExample. Para visualizar e abrir o projeto FlatFileSchemasExample, siga as etapas 1 e 2 no Exemplo de Grupo e clique duas vezes no Esquema de Arquivo Simples Order. Os nós do Esquema de Arquivo Simples Order são exibidos na guia Layout do Esquema e as propriedades do nó-raiz Order são mostradas na área de janela direita.