Definições
Para cada tipo de operação, o sistema apresenta campos e opções diferentes na guia Definições.
Código de Registro
Define o conteúdo do código na posição reservada a ele. O código do registro é definido em qualquer layout, é necessário apenas colocar __CODREG no lugar da variável e especificar sua posição e tamanho, se forem necessários.
Tabela Destino
Especifica para qual tabela será importado o arquivo.
Usar Consistência Padrão
Se estiver selecionada, ao importar um campo, a rotina chamará a consistência padrão (consistência lógica) do sistema para aquela tabela.
Consistência de campos obrigatórios
Indica se a rotina de importação fará a consistência de campos obrigatórios. Na execução, os valores importados são analisados, caso algum deles não tenha sido informado, a rotina analisa as definições do TBS para o respectivo campo, consistindo se ele aceita valores nulos. Se ocorrer alguma irregularidade, uma mensagem no log indicará qual campo necessita ser informado.
Serão consistidos apenas os campos que estiverem adicionados no layout do modelo de importação. Espaços em branco são considerados um valor, ou seja, para um valor ser tratado como nulo, nenhum caracter pode estar informado para o campo no arquivo de importação. Além disso são considerados como um único espaço em branco para campos do tipo texto e 0 (zero) para campos do tipo numérico.
Valor nulo:
Neste exemplo, os três campos estão configurados no TBS para não aceitarem valores nulos. Das três linhas que serão submetidas à consistência, somente a segunda linha irá gerar inconsistência.
A primeira linha possui três valores válidos, enquanto que a segunda linha não possui dois dos três valores requeridos. Todavia, a terceira linha também possui três valores válidos, pois o segundo valor desta linha é um espaço em branco, ou seja, um valor válido na tratativa da rotina.
Em função da segunda linha será apresentada uma mensagem no log da operação:
Quando há campos definidos como obrigatórios no TBS e não se deseja importar valores para eles, pode-se contornar a situação com algumas abordagens:
- Desmarque a opção Consistir campos obrigatórios nas definições do modelo;
- Altere as definições desses campos no TBS para não serem obrigatórios;
- Crie uma lista DE > PARA, assim, quando o valor importado for vazio, ele será convertido para algum valor padrão que seja diferente de espaço e 0 (zero).
Nota
- A implementação desta funcionalidade muda a versão do modelo de importação (versão do arquivo). Portanto, este modelo pode não ser lido corretamente se for aberto em versões anteriores após convertido;
- Modelos abertos em modo de compatibilidade não suportarão esta funcionalidade.
Diferenciar valor 0 e '' de nulo
Diferencia os valores zero e vazio de nulo
Atualizar se existir
Se na importação a rotina encontrar um registro no banco de dados que já existir, ela se baseará nesta seleção. Se estiver selecionado, o registro que se encontra no banco de dados será atualizado por aquele que vem do arquivo de importação. Caso contrário, ela não fará nada.
Importante
- Ao marcar esta opção no modelo de importação, o evento "A cada leitura" será executado duas vezes quando o registro já existir, isto porque primeiramente o importador executará um comando de INSERÇÃO e caso este falhe o será executado o comando de ATUALIZAÇÃO;
- Para que o evento "A cada leitura" não seja executado duas vezes, será necessário implementar o evento "Definição da operação", onde deve ser verificado se o registro que foi lido do arquivo de importação já existe na tabela de destino dos dados e de acordo com a verificação atribuir a operação que mais adequada a variável OperacaoRegistro.
Inverter valores da lista de conversão (De/Para > Para/De)
Permite utilizar uma lista De/Para já existente, sendo que neste caso, se este item estiver habilitado, será invertido o conteúdo da lista.
Consistir campos relacionados
Permite indicar para a rotina de importação, que a consistência de campos relacionados deve ser realizada. Ao lado desta opção, encontra-se uma caixa de texto para indicar quais os campos em que deve ser realizada a consistência. Para selecionar os campos, utiliza-se o botão seleção de campos.
Espaços em branco são considerados como um único espaço em branco para campos do tipo texto e 0 (zero) para campos do tipo numérico.
Ao pressionar o botão, a tela Consistir campos relacionados é apresentada, permitindo selecionar um ou mais campos na lista Campos relacionados disponíveis e pressionar o botão > para mover a seleção para a lista Campos relacionados selecionados. O botão >> seleciona todos os campos independentemente da seleção.
Estarão disponíveis para seleção apenas os campos relacionados, opcionais e obrigatórios.
Apenas campos do layout
Quando habilitada, faz com que a rotina consista apenas os campos que estiverem no Layout do modelo. Com essa opção desabilitada, todos os campos selecionados serão consistidos, mesmo que não estejam no Layout.
Importante
- A implementação da funcionalidade Apenas campos do layout muda a versão do modelo de importação (versão do arquivo). Portanto, este modelo pode não ser lido corretamente se for aberto em versões anteriores uma vez que for convertido;
- Modelos abertos em modo de compatibilidade não suportarão a funcionalidade Apenas campos do layout.
Quando é necessário consistir os campos relacionados um passo é executado antes da efetiva importação do registro. Neste passo a rotina analisa no arquivo a ser importado, os valores informados para os campos relacionados selecionados.
Se houve a tentativa de inserir um valor que não está adicionado no campo de destino do campo selecionado, mensagens serão geradas no log do processo indicando que o registro que está sendo importado é inválido.
Se isto acontecer, o mesmo é descartado. Caso contrário ele é efetivado no banco de dados.
Tentativa de inserção valores inválidos para campos relacionados:
Neste exemplo, na segunda e na quarta linha, os valores na quarta posição não estão no campo SigUfs da tabela E007Ufs, gerando inconsistências.
Em função destas inconsistências serão apresentadas mensagens no log da operação.
- Modifique o arquivo texto para que importe valores corretos;
- Cadastre o registro inexistente no banco de dados;
- Crie uma lista DE > PARA quando o valor importado precisa ser convertido para se adequar ao sistema;
- Remova a opção de consistência para este campo.
Consistência campos do tipo enumeração
Permite indicar para a rotina de importação, que a consistência de campos do tipo enumeração deve ser realizada. Ao lado desta opção, encontra-se uma caixa de texto para indicar quais os campos em que deve ser realizada a consistência. Para selecionar os campos, utiliza-se o botão seleção de campos.
Espaços em branco são considerados como um único espaço em branco para campos do tipo texto, e 0 (zero) para campos do tipo numérico.
Ao pressionar o botão a tela Consistir campos de tipo enumeração é apresentada,sendo possível selecionar um ou mais campos na lista Disponíveis e pressionando o botão > para mover a seleção para a lista Selecionados. O botão >> seleciona todos os campos independentemente da seleção. Estarão disponíveis para seleção apenas os campos configurados no TBS como enumeração.
Quando se opta por consistir os campos do tipo enumeração e a operação a ser realizada não é exclusão, um passo é executado antes da efetiva importação do registro. Este passo consiste em analisar os campos da tabela na base de dados, de acordo com os campos selecionados no modelo.
Caso os valores informados no arquivo importado não estejam na lista de valores dos campos da tabela, mensagens serão geradas no log do processo, indicando que no registro que está sendo importado, há valores indevidos para estes campos. Além do descarte do registro.
Serão consistidos apenas os campos que estiverem adicionados no Layout do modelo de importação.
Tentativa de inserção de registros com valor não enumerado:
Neste exemplo, a partir da segunda linha, os valores na segunda posição não estão na enumeração do campo da base de dados, gerando inconsistências.
Os valores U (segunda linha), vazio (terceira linha) e espaço (quarta linha), não estão na lista de valores do campo em questão.
Nota
Espaço é um valor válido em campos do tipo texto. Se o campo fosse do tipo numérico, a rotina trataria os espaços como valor válido também, porém esse valor seria tratado como 0 (zero), que neste caso seria procurado pelo valor 0 (zero) na enumeração do campo.
Em função destas inconsistências serão apresentadas mensagens no log da operação.
Quando algum registro apresentou valores inválidos para campos do tipo enumeração, pode-se contornar a situação com algumas abordagens:
- Desmarcar a opção Consistir campos do tipo enumeração nas definições do modelo;
- Modificar o arquivo texto para que importe valores corretos;
- Alterar as definições desses campos no TBS para não serem obrigatórios;
- Criar uma lista DE > PARA, assim, quando o valor importado for vazio, ele será convertido para algum valor padrão que seja diferente de espaço e 0 (zero).
- A implementação desta funcionalidade muda a versão do modelo de importação (versão do arquivo). Portanto, este modelo pode não ser lido corretamente se for aberto em versões anteriores após convertido;
- Modelos abertos em modo de compatibilidade não suportarão essa nova funcionalidade.
Usar SQL Senior 2
Define a utilização da linguagem SQL Senior 2.
Fechar Transação a cada
Otimiza a gravação/confirmação dos dados no banco de dados.
Considerar o ano
Item utilizado no caso de importações de valores do tipo Data e que no ano este tenha apenas 2 dígitos (YY). Pode se informar qual será o ano base para a data que está sendo importada. Por exemplo:
- Ano 00 > Se usar 1900 = 1900; Se usar 2000 = 2000;
- Ano 05 > Se usar 1900 = 1905; Se usar 2000 = 2005.
Após importar mover para
Permite definir um diretório para onde os arquivos de importação serão movidos após serem importados. Na tela de definições da importação deve ser definido este diretório. Caso não seja informado o diretório, a importação ocorrerá normalmente, porém, o arquivo não será movido do seu diretório de origem.
Dois Passos
Faz com que o gerador execute duas vezes a exportação, onde a primeira é apenas interna e a segunda para criação e gravação dos dados no arquivo texto.
Inverter valores da lista de conversão (De/Para > Para/De)
Permite fazer o reaproveitamento das listas De/Para só que com as informações invertidas.
Usar SQL Senior 2
Padrão adotado pela Senior para que os SQLs possam ser escritos em um formato padrão que permita um melhor aprendizado e uma melhor tradução para os diversos bancos de dados suportados.
Linha em branco ao final do arquivo
Insere ao final dos dados no arquivo texto uma linha em branco.