Definições das configurações de conversão (ecedi5111s000)

Utilize essa sessão para registrar campos, sequência e opções para a conversão de mensagens de entrada.

Nota

Esta sessão é protegida, portanto, não pode ser executada simultaneamente com sessões que interferem nela ou nas quais ela pode interferir.

Organização

Um código que representa um conjunto de padrões (como ANSI X12, UN/EDIFACT e VDA) usados em comunicações EDI.

Mensagem EDI

As mensagens de entrada e/ou saída compatíveis com o aplicativo. Essas mensagens podem estar ativas (realmente usadas na companhia) ou não.

Direção

A direção da mensagem EDI.

Tipo de campo

O formato de arquivo ASCII.

Nota

Uma configuração de conversão pode ser criada para arquivos cujos campos são separados por um separador de campo ou têm comprimento fixo.

Cód. conf. conversão

O código que identifica a configuração de conversão.

Destino

O destino do campo na mensagem de entrada, conforme definido na sessão Configurações de conversão (relacionamentos) (ecedi5112m000).

Campo

O nome do campo, por exemplo, tdsls400.ofbp.

Número de seqüência

O número de sequência do campo. O mesmo campo pode ser incluído mais de uma vez. Se o campo aparecer somente uma vez nas configurações de conversão, será possível definir esse campo como 0 ou 1. Se o campo aparecer mais de uma vez na definição de configuração de conversão, o número de sequência poderá ser aumentando em 1 ponto para cada ocorrência do campo dentro da definição.

Seqüência de processamento

A sequência na qual o campo será processado.

Nível

O nível definido na sessão Configurações de conversão (relacionamentos) (ecedi5112m000).

Posição inicial

A posição do campo na linha.

Nota

Se o campo Tipo de campo na sessão Redes (ecedi0120s000) for Comprimento fixo, será necessário inserir a posição inicial física do campo. Se o campo Tipo de campo na sessão Redes (ecedi0120s000) for Delimitado, será necessário inserir o número do campo, a partir do número 1.

Elemento

O elemento de índice de um campo de índice ou a posição inicial em uma sequência de caracteres para uma variável de sequência de caracteres.

Exemplo de campo de índice

No caso de uma variável de sequência de caracteres, é possível especificar a posição inicial da sequência de caracteres. Este campo, em combinação com o campo Comprimento, permite especificar uma subsequência de caracteres (por exemplo, para a sequência de caracteres "ABCDEFGHIJKLMNOP", o valor 3 com o comprimento 5 produz a seguinte saída: "CDEFG").

Campo tdsls400.disc (profundidade padrão = 5 níveis)
Nível 1 10.
  2 15
  3 8
  4 5
  5 7

O valor 0 gera o campo inteiro: 010015008005007. Esta opção é usada somente para comunicação interna. Os valores 1 e 3 produzem somente os seguintes elementos: 010 e 008. Essa saída significa que o campo também pode ser usado para comunicação externa.

Comprimento

O comprimento físico do campo.

Ler próximo registro

Se esta caixa de controle estiver selecionada, um novo registro será lido nesse nível para mensagens de entrada, e um novo registro da tabela pertencente ao campo será lido para mensagens de saída. Se esta caixa de controle estiver limpa, novos registros não serão lidos, mas os registros atuais permanecerão ativos.

Nota

Este campo indica se um novo registro deve ser lido para processar o conteúdo do campo. Dependendo do valor desse campo, é possível determinar quando uma nova linha está pronta para ser lida no mesmo arquivo.

Nível iterativo

O número de sequência que indica para onde o cursor deve se mover após o processamento do campo. Este campo somente será usado se esse registro for para o último campo de um nível iterativo ou para o último campo da configuração de conversão.

Exemplo

Por exemplo: Quando você deseja inserir um texto de campo que contém dados de um arquivo ASCII em um cabeçalho de ordem, isso ocorre iterativamente. Quando o último campo de texto é preenchido, o cursor volta para o campo com número de sequência 3, usando o campo Número de sequência. A chave e três campos de texto são incluídos em cada linha de nível 2.

Campo Nível Número de sequência Nível iterativo
Nº da ordem 1 1  
Referência 1 2  
Campo de texto 2 3  
Campo de texto 2 4  
Campo de texto 2 5 3
A chave não combina

O número de sequência que indica para onde o cursor deve se mover se a chave for inválida ou for alterada. Este campo somente precisará ser preenchido se o registro Novo for Sim.

Exemplo 1 - Processamento iterativo

Após o processamento de todos os campos de texto, o número do cliente será lido. O Nível 2 é iterativo.

Campo Nível Sequência em Voltar Voltar Novo
Iter. Registro da chave        
Nº da ordem 1 1      
Referência 1 2      
Campo de texto 2 3   6 sim
Campo de texto 2 4      
Campo de texto 2 5 3    
Cliente 1 6      

Exemplo 2 - Processamento sequencial

Quando todas as linhas de ordem forem preenchidas (nível 2), uma nova ordem poderá ser introduzida (nível 1).

Campo Nível Sequência em Voltar Voltar Novo
Iter. Registro da chave        
Nº da ordem 1 1     sim
Referência 1 2      
Cliente 1 3      
Item 2 4   1 sim
Quantidade 2 5      
Data de entrega 2 6 4    
Gravar registro

Se esta caixa de controle estiver selecionada, um registro deverá ser adicionado à tabela relevante após o processamento de um campo para uma mensagem de entrada, dependendo do resultado da expressão de saída. O destino do campo (custos gerais, cabeçalho ou linha) determina a tabela onde as mensagens serão salvas.

Exemplo 1

Campo Destino Gravar registro
Nº da ordem cabeçalho  
Referência cabeçalho  
Cliente cabeçalho sim
Item linha  
Quantidade linha  
Data de entrega linha sim

Os campos processados após uma ação de gravação para o mesmo destino não são adicionados à tabela relevante. Não é possível iniciar várias ações de gravação para o mesmo registro (por exemplo, linha de ordem). Devido à hierarquia de destinos, o LN verifica se todos os destinos superiores foram ou não gravados. Se o destino superior não tiver sido gravado, os destinos relevantes serão gravados antes da gravação do destino especificado. A hierarquia é:

  • Agregar custos gerais
  • Cabeçalho
  • Linha

Exemplo 2

Campo Destino Gravar registro
Nº da ordem cabeçalho  
Referência cabeçalho  
Cliente cabeçalho  
Item linha  
Quantidade linha  
Data de entrega linha sim

Uma vez que nenhum cabeçalho foi gravado ainda, o cabeçalho é gravado primeiro, seguido pela linha. Se não houver custos gerais, a linha será gravada antes do cabeçalho.

Avaliação

O código da expressão de avaliação. Esta expressão determina se o campo é ou não incluído na mensagem. A expressão é lógica e resulta em verdadeiro ou falso. O valor padrão deste campo é 1, verdadeiro. A expressão é executada antes de inserir o campo na mensagem. Em outras palavras, as ações associadas de leitura e gravação são sempre executadas. Na verdade, a expressão é uma equação. Por exemplo, para o campo Armazém na ordem de compra, a expressão pode ser: strip((tdpur400.cwar) <> "" Esta expressão será verdadeira se o campo de armazém não estiver preenchido. Em uma expressão, os operadores a seguir podem ser usados:

Veja a seguir a lista de operadores em ordem de prioridade:

  • ()
  • - (sinal de inverso)
  • * / \
  • &
  • + (adição subtração)
  • = > < <> <= >=
  • NÃO
  • E
  • OU
  • ?:

Uma expressão pode ter as seguintes constantes:

IP 3.1415926535.
VERDADEIRO Sempre verdadeiro.
FALSO Sempre falso.

Uma expressão pode ter funções.

Também é possível usar intervalos numéricos: a EM [10,20] é igual a a>=20 E a<=30 a EM [10,20][30,40][50,60] é igual a a>=10 E a<=20 OU a>=30 E a<=40 OU a>=50 E a<=60

Exemplo aritmético

() parênteses (prioridade)  
- sinal de inverso (exige um argumento) a=-b
* multiplicação 3*5=15
/ divisão 6/2=3
\ resto após a divisão 8\3=2
& sequências de caracteres de ligação "A"&"B"="AB"
+ adição 2+3=5
- subtração 3-2=1

Exemplo relacional (para comparação)

= ou EQ é igual a 3=5 é falso
<> ou NE é diferente de 3<>5 é verdadeiro
> ou GT é maior que 3>5 é falso
< ou LT é menor que 3<5 é verdadeiro
>= ou GE é maior ou igual a 3>=5 é falso
<= ou LE é menor ou igual a 3<=5 é verdadeiro

Exemplo lógico

E e (ambos são verdadeiros) a=b E b=c
OU ou (um dos dois é verdadeiro) a=b OU a=c
NÃO não (não é verdadeiro) NÃO (a=b E b=c)

Outros:

condition?true:false se <condition> for verdadeiro, <true> será executado; caso contrário, <false> (sempre insira <condition> entre colchetes, pois tem a menor prioridade)

Funções

abs(N) Produzo o valor absoluto de N
acos(N) Produz um ângulo (em radiais) no qual N é o cosseno.
asc(S) Produz o total dos valores ASCII dos caracteres em S, asc("ABC")=65+66+67=198
asin(N) Produz um ângulo (em radiais) no qual N é o seno.
atan(N) Produz um ângulo (em radiais) no qual N é a tangente.
chr(N) Produz o caractere do qual N é o valor ASCII, chr(65)="A"
cos(N) Produz o cosseno do ângulo N (em radiais).
cosh(N) Produz o cosseno hiperbólico do ângulo N (em radiais).
date() Produz o número do dia atual.
date(J,M,D) Produz o número do dia na data representada por D, M e J.
exp(N) Produz 2,718128. à potência de N.
int(N) Produz o inteiro de N (arredondado para baixo).
len(S) Produz o número de caracteres em S, len("ABC")=3.
log(N) Produz o logaritmo natural de N.
log10(N) Produz o logaritmo 10 de N.
max(N,M) Produz o maior valor de N ou M.
min(N,M) Produz o menor valor de N ou M.
pos(S,T) Produz a primeira posição onde T ocorre em S, pos("ABCDEFEF","EF")=5.
pow(N,M) Produz N à potência de M.
round(N,D,M) Produz o valor de N arredondado para decimais D. Se M=0, N será arredondado para baixo, round(1.99,2,0)=1.00. Se M=1, N será arredondado normalmente, round(1.49,2,1)=1.00 e round(1.50,2,1)=2.00. Se M=2, N será arredondado para cima, round(1.01,2,2)=2.00.
rpos(S,T) Produz a última posição onde T ocorre em S, rpos("ABCDEFEF,"EF")=7.
sin(N) Produz o seno do ângulo N (em radiais).
sinh(N) Produz o seno hiperbólico do ângulo N (em radiais).
sqrt(N) Produz a raiz quadrada não negativa de N.
str(N) Cria uma sequência de caracteres de N, str(1.04)="1.04"
strip(S) Retorna S sem espaços ao final.
tan(N) Produz a tangente do ângulo N (em radiais).
tanh(N) Produz a tangente hiperbólica do ângulo N (em radiais).
time() Produz a hora atual no formato UUMM.
val(S) Produz o valor numérico de S, val("1.04")=1.04.
Atribuição

O código da expressão da atribuição. O resultado da expressão é gravado no arquivo ASCII (mensagens de saída), que é atualizado no aplicativo LN (mensagens de entrada). Por exemplo, se você desejar estabelecer a Data de entrega planejada como um valor dois dias antes da Data de recebimento planejado, será possível designar a seguinte expressão da atribuição ao campo Data de entrega planejada: tdsls400.prdt - 172800.

Nota
  • Os dias devem ser representados em segundos, pois as datas são internamente geridas como datas UTC. Portanto, 172800 representa dois dias.
  • Todos os campos da tabela referenciados em uma expressão da atribuição devem ser processados antes do campo ao qual essa expressão está designada. O campo referenciado na expressão da atribuição deve ter uma sequência de processamento inferior, conforme definido na configuração de conversão. No exemplo anterior, o campo tdsls400.prdt deve ter uma sequência de processamento inferior ao do campo tdsls400.ddat, conforme definido na configuração de conversão.
Converter campo

Se esta caixa de controle estiver selecionada, a tabela de conversão relevante será usada para converter o campo. Se esta caixa de controle estiver limpa, o código corresponderá ao respectivo código no LN e não precisará ser convertido.

Nota

Qualquer campo que possa ser incluído em uma mensagem de entrada pode ser convertido. Se esta caixa de seleção estiver desmarcada, o código na mensagem corresponderá ao código no LN e não precisará ser convertido.

Ação em erro na conversão

A ação a ser executada caso ocorra um erro durante a conversão das mensagens de entrada.

Nota

O valor selecionado deve ser suportado pelas sessões de processamento.

Tabela de códigos

O código que você deseja incluir na mensagem. Por exemplo, você deseja inserir um código em um campo de texto. Essa tabela contém o código A e a descrição Sobretaxa. O campo de texto terá "Descrição: sobretaxa". Se o código não for encontrado, o campo de texto terá o código no lugar da descrição.

Nota

Esse campo ficará disponível somente se o registro for relativo a um campo de texto.

Descrição de campo

Se o campo for um campo de texto, insira a sequência de caracteres de texto que você deseja exibir antes do conteúdo real do campo no campo de texto. Por exemplo, se você inserir Descrição nesse campo e o conteúdo do campo de texto for Válvula de motor a diesel, o campo de texto resultante será "Descrição: Válvula de motor a diesel".

Ação do campo

O modo como os campos de mensagem de entrada serão processados.

Valor se o campo estiver vazio

O valor que será usado para substituir campos vazios na mensagem EDI.

Qualificador da posição inicial

A posição inicial do primeiro qualificador. Algumas conversões de código no EDI ERP exigem um ID de código. IDs de código são qualificadores usados em conversões de código que permitem converter especificações de dados adicionais e são transferidos na posição do primeiro qualificador das definições de configuração de conversão.

Nota

Se o campo Tipo de campo na sessão Redes (ecedi0120s000) for Comprimento fixo, será necessário inserir a posição inicial física do campo. Se o campo Tipo de campo na sessão Redes (ecedi0120s000) for Delimitado, será necessário inserir o número do campo, a partir do número 1.

Comprimento do qualificador

O comprimento físico do qualificador.

Nota

Esse valor somente poderá ser inserido se o tipo de campo for Comprimento fixo, conforme definido na sessão Redes (ecedi0520m000).

Não converter o qualificador

O valor do qualificador que não resultará em qualquer conversão. Por exemplo, suponha que o valor SC seja especificado aqui. Se uma mensagem tiver o valor de qualificador SC, nenhuma conversão será executada; se a mensagem tiver qualquer outro valor, o valor será convertido.

Nota

Se o valor de leitura for igual ao valor do qualificador, não será aplicada uma tabela de conversão; será usado o valor de leitura. Essa situação poderá ocorrer se ambas as partes estiverem usando códigos de item EAN.

Qualificador padrão

O valor a ser usado se nenhum qualificador for recebido na mensagem.

Campo

As informações de mapeamento para esse campo descritivo e o elemento de dados correspondente na mensagem EDI. Esse campo descritivo é usado somente para fins informativos e de geração de relatório.

Qualificador 1

As informações de mapeamento para o primeiro qualificador e o elemento de dados correspondente na mensagem EDI.

Qualificador 2

As informações de mapeamento para o segundo qualificador e o elemento de dados correspondente na mensagem EDI.