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

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

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.

Descrição

A descrição ou o nome do código.

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.

Descrição

A descrição ou o nome do código.

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.

Descrição

A descrição ou o nome do código.

Destino

A origem do campo na mensagem de saída, conforme definido na sessão Configurações de conversão (relacionamentos) (ecedi5112m000).

Campo

O nome do campo, por exemplo, tdsls400.ofbp. Para configurações de conversão de saída, você também pode usar constantes. Constantes devem começar com aspas duplas ("). Todo o texto entre as aspas é posicionado na mensagem.

Nota

Se você desejar usar aspas duplas dentro da sequência de caracteres de texto, será necessário inserir aspas adicionais. Por exemplo, a saída de ""ABC"" é "ABC".

Campo

A descrição ou o nome do código.

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).

Descrição

A descrição ou o nome do código.

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.

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.
Descrição

A descrição ou o nome do código.

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 - 2.

Nota

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.

Tabela de conversão

A tabela de conversão usada para converter o campo.

Ação ao converter a tabela não foi encontrada

A ação a ser executada caso ocorra um erro durante a conversão das mensagens de saída. Pode ocorrer um erro porque o campo não foi encontrado na tabela de conversão.

Nota

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

Segmento de texto

Número máximo de segmentos de texto em um campo de texto.

Nota

Os textos em uma mensagem têm uma estrutura especial que exige processamento separado, pois cada texto consiste em alguns segmentos, cada um deles sendo composto por alguns campos.

Número máximo de campos do texto por segmento de texto

Número máximo de campos em um segmento de texto.

Nota

Os textos em uma mensagem têm uma estrutura especial que exige processamento separado, pois cada texto consiste em alguns segmentos, cada um deles sendo composto por alguns campos.

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 Parâmetros EDI (ecedi0100s000).

Qualificador padrão

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

Nota

Se você optar por converter itens de saída com a tabela Códigos de item por sistema de codificação de item, o valor do campo Sistema de codificação de itens poderá ser inserido aqui. Você pode usar a tabela IDs do código do item para converter o valor desse qualificador para o valor usado na mensagem. O valor inserido aqui pode ser ignorado preenchendo-se o campo Sistema de codificação de itens na sessão Mensagens EDI suportadas pelo parceiro de negócios (ecedi0111s000).

Tabela de conversão

A tabela de conversão usada para converter o qualificador.

Ação ao converter a tabela não foi encontrada

A ação a ser executada caso ocorra um erro durante a conversão das mensagens de saída. Pode ocorrer um erro porque o qualificador não foi encontrado na tabela de conversão.

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.