Definiciones de configuraciones de conversión (ecedi5111s000)

Utilice esta sesión para registrar los campos, secuencia y opciones para la conversión de mensajes entrantes.

Nota

Esta sesión está protegida, por lo que no podrá ejecutarse simultáneamente con sesiones que interfieran o puedan interferir con ella.

Organización

Un código que representa un conjunto de estándares (como ANSI X12, UN/EDIFACT y VDA) utilizados en la comunicación EDI.

Mensaje EDI

Los mensajes entrantes y/o salientes admitidos por la aplicación. Estos mensajes pueden estar activos (usarse realmente dentro de la compañía) o no.

Dirección

La dirección del mensaje EDI.

Tipo de campo

El formato del archivo ASCII.

Note: 

Puede crearse una configuración de la conversión para archivos en los que los campos estén separados por un separador de campo, o que tengan una longitud fija.

Código de configuración de conversión

El código que identifica la configuración de la conversión.

Destino

El lugar de destino del campo en el mensaje entrante, definido en la sesión Configuraciones de conversión (relaciones) (ecedi5112m000).

Campo

El nombre del campo, por ejemplo, tdsls400.ofbp.

Número de secuencia

El número de secuencia del campo. El mismo campo puede insertarse más de una vez. Si el campo sólo aparece una vez en las configuraciones de conversión, puede establecerlo en 0 o 1. Si el campo aparece repetidas veces en la definición de configuración de conversión, el número de secuencia puede incrementarse de 1 en 1 cada vez que el campo aparezca en la definición de configuración de conversión.

Secuencia de proceso

La secuencia en la que deberá procesarse el campo.

Nivel

El nivel definido en la sesión Configuraciones de conversión (relaciones) (ecedi5112m000).

Posición inicial

La posición del campo en la línea.

Note: 

Si el campo Tipo de campo de la sesión Redes (ecedi0120s000) tiene el valor Longitud fija, deberá especificar la posición inicial física del campo. Si el campo Tipo de campo de la sesión Redes (ecedi0120s000) tiene el valor Delimitado, deberá especificar el número de campo, empezando por el número 1.

Elemento

El elemento de índice de un campo de índice o la posición inicial en una cadena de una variable de cadena.

Ejemplo de campo de índice

En el caso de una variable de cadena, puede especificarse la posición inicial en la cadena. Este campo, junto con el campo Longitud, permite especificar una subcadena (por ejemplo: para la cadena "ABCDEFGHIJKLMNOP", el valor 3 con una longitud de 5 da lugar al siguiente resultado: "CDEFG").

Campo tdsls400.disc (profundidad estándar = 5 niveles)
Nivel 1 10
  2 15
  3 8
  4 5
  5 7

El valor 0 produce todo el campo: 010015008005007. Esta opción se utiliza únicamente para comunicación interna. Los valores 1 y 3 sólo dan lugar a los elementos siguientes: 010 y 008. Este resultado significa que el campo también puede utilizarse para la comunicación externa.

Longitud

La longitud física del campo.

Leer próximo registro

Si esta casilla de verificación está seleccionada, en este nivel se leerá un nuevo registro para los mensajes entrantes, y para los mensajes salientes se leerá un nuevo registro de la tabla perteneciente al campo. Si esta casilla de verificación no está seleccionada, no se leerán los registros nuevos, sino que seguirá activo el registro actual.

Note: 

Este campo indica si debe leerse un registro nuevo para procesar el contenido del campo. Según el valor de este campo, puede determinar cuándo una línea nueva está lista para ser leída desde el mismo archivo.

Nivel iterativo

El número de secuencia que indica a dónde debe desplazarse el cursor tras haber procesado el campo. Este campo sólo se utiliza si el registro pertenece al último campo de un nivel iterativo o al último campo de la configuración de conversión.

Ejemplo

Por ejemplo: Supongamos que desea especificar un campo de texto que contiene datos de un archivo ASCII en una cabecera de orden que se ejecuta iterativamente. Una vez que se haya cumplimentado el último campo de texto, el cursor regresará al campo con el número de secuencia 3, utilizando el campo Número de secuencia. La clave y los tres campos de texto aparecen en cada línea del nivel 2.

Campo Nivel Número de secuencia Nivel iterativo
Número de orden 1 1  
Referencia 1 2  
Campo de texto 2 3  
Campo de texto 2 4  
Campo de texto 2 5 3
Clave no coincide

El número de secuencia indica a dónde se debe desplazar el cursor si la clave no es válida o cambia. Este campo sólo debe cumplimentarse si el registro Nuevo tiene el valor Sí.

Ejemplo 1 - Proceso iterativo

Una vez procesados todos los campos de texto, se lee el número de cliente. El nivel 2 es iterativo.

Campo Nivel Secuencia en Atrás Atrás Nuevo
Iterativo Registro clave        
Número de orden 1 1      
Referencia 1 2      
Campo de texto 2 3   6
Campo de texto 2 4      
Campo de texto 2 5 3    
Cliente 1 6      

Ejemplo 2 - Proceso secuencial

Una vez cumplimentadas todas las líneas de orden (nivel 2), puede especificarse una orden nueva (nivel 1).

Campo Nivel Secuencia en Atrás Atrás Nuevo
Iterativo Registro clave        
Número de orden 1 1    
Referencia 1 2      
Cliente 1 3      
Artículo 2 4   1
Cantidad 2 5      
Fecha de entrega 2 6 4    
Grabar registro

Si esta casilla de verificación está seleccionada, debe añadirse un registro a la tabla pertinente después de que se haya procesado un campo para un mensaje entrante, en función del resultado de la expresión de salida. El destino del campo (datos generales, cabecera o línea) determina la tabla en la que se guardarán los mensajes.

Ejemplo 1

Campo Destino Grabar registro
Número de orden cabecera  
Referencia cabecera  
Cliente cabecera
Artículo línea  
Cantidad línea  
Fecha de entrega línea

Los campos procesados tras una acción de escritura para el mismo destino no se añaden a la tabla pertinente. No puede iniciar varias acciones de escritura para el mismo registro (por ejemplo: línea de orden). Debido a la jerarquía de destinos, LN comprueba si se han escrito o no todos los destinos superiores. Si no se ha escrito el destino superior, los destinos pertinentes se escribirán antes de escribir el destino especificado. La jerarquía es la siguiente:

  • Datos generales
  • Cabecera
  • Línea

Ejemplo 2

Campo Destino Grabar registro
Número de orden cabecera  
Referencia cabecera  
Cliente cabecera  
Artículo línea  
Cantidad línea  
Fecha de entrega línea

Puesto que aún no se ha escrito ninguna cabecera, primero se escribe la cabecera, y luego la línea. Si no hay datos generales, la línea se escribe antes que la cabecera.

Evaluación

El código de la expresión de evaluación. Esta expresión determina si el campo forma parte del mensaje. La expresión es lógica, y el resultado es verdadero o falso. El valor predeterminado de este campo es 1, verdadero. La expresión se ejecuta antes de situar el campo en el mensaje. Dicho de otro modo, siempre se llevan a cabo las acciones asociadas de lectura y escritura. De hecho, la expresión es una ecuación. Por ejemplo, para el campo Almacén de la orden de compra, la expresión puede ser: strip((tdpur400.cwar) <> "" Esta expresión es verdadera si no se ha cumplimentado el campo Almacén. En una expresión pueden utilizarse los siguientes operadores:

A continuación, se listan los operadores en orden de prioridad:

  • ()
  • - (signo de negación)
  • * / \
  • &
  • + - (sumar restar)
  • = > < <> <= >=
  • NOT
  • AND
  • OR
  • ?:

Una expresión puede contener las constantes siguientes:

PI 3.1415926535..
TRUE Siempre verdadero.
FALSE Siempre falso.

Una expresión puede contener también funciones.

También pueden utilizarse rangos numéricos: a IN [10,20] es igual a.a>=20 AND a<=30 a IN [10,20][30,40][50,60] es igual a a>=10 AND a<=20 OR a>=30 AND a<=40 OR a>=50 AND a<=60

Ejemplo aritmético

() paréntesis (prioridad)  
- signo de negación (necesita un argumento) a=-b
* multiplicación 3*5=15
/ división 6/2=3
\ resto tras división 8\3=2
& cadenas vinculantes "A"&"B"="AB"
+ suma 2+3=5
- resta 3-2=1

Ejemplo relacional (para comparaciones)

= o EQ es igual a 3=5 es falso
<> o NE es distinto que 3<>5 es verdadero
> o GT es mayor que 3>5 es falso
< o LT es menor que 3<5 es verdadero
>= o GE es mayor o igual que 3>=5 es falso
<= o LE es menor o igual que 3<=5 es verdadero

Ejemplo lógico

AND y (ambos son verdaderos) a=b AND b=c
OR o (uno de los dos es verdadero) a=b OR a=c
NOT no (no es verdadero) NOT (a=b AND b=c)

Otros:

condition?true:false si <condition> es verdadero, se ejecuta <true>, si no, <false> (coloque siempre paréntesis alrededor de <condition>, porque tiene la prioridad más baja)

Funciones

abs(N) Da como resultado el valor absoluto de N
acos(N) Da como resultado el ángulo (en radiales) del que N es el coseno.
asc(S) Da como resultado el total de los valores ASCII de los caracteres en S, asc("ABC")=65+66+67=198
asin(N) Da como resultado el ángulo (en radiales) del que N es el seno.
atan(N) Da como resultado el ángulo (en radiales) del que N es la tangente.
chr(N) Da como resultado el carácter del que N es el valor ASCII, chr(65)="A"
cos(N) Da como resultado el coseno para el ángulo N (en radiales).
cosh(N) Da como resultado el coseno hiperbólico para el ángulo N (en radiales).
date() Da como resultado el número de día actual.
date(J,M,D) Da como resultado el número de día en la fecha representada por D, M y J
exp(N) Da como resultado 2.718128.. a la potencia de N.
int(N) Da como resultado el entero de N (redondeado a la baja).
len(S) Da como resultado el número de caracteres en S, len("ABC")=3.
log(N) Da como resultado el logaritmo natural de N.
log10(N) Da como resultado el logaritmo-10 de N.
max(N,M) Da como resultado el valor mayor de N o M.
min(N,M) Da como resultado el valor menor de N o M.
pos(S,T) Da como resultado la primera posición en que T ocurre en S, pos("ABCDEFEF","EF")=5.
pow(N,M) Da como resultado N a la potencia de M.
round(N,D,M) Da como resultado el valor de N redondeado a decimales D. Si M=0, N se redondea por defecto, round(1.99,2,0)=1.00. Si M=1, N se redondea normalmente, round(1.49,2,1)=1.00 y round(1.50,2,1)=2.00. Si M=2, N se redondea por exceso, round(1.01,2,2)=2.00.
rpos(S,T) Da como resultado la última posición en que T ocurre en S, rpos("ABCDEFEF,"EF")=7.
sin(N) Da como resultado el seno del ángulo N (en radiales).
sinh(N) Da como resultado el seno hiperbólico del ángulo N (en radiales).
sqrt(N) Da como resultado la raíz cuadrada no negativa de N.
str(N) Crea una cadena de N, str(1.04)="1.04"
strip(S) Devuelve S sin los espacios que le siguen
tan(N) Da como resultado la tangente del ángulo N (en radiales).
tanh(N) Da como resultado la tangente hiperbólica del ángulo N (en radiales).
time() Da como resultado la hora actual en formato UUMM.
val(S) Da como resultado el valor numérico de S, val("1.04")=1.04.
Asignación

El código para la expresión de asignación. El resultado de la expresión se escribe en el archivo ASCII (mensajes salientes), que se actualiza en la aplicación LN (mensajes entrantes). Por ejemplo, si desea establecer la Fecha planif. de entrega en un valor dos días antes que la Fecha planif. de recepc., puede asignar la siguiente expresión de asignación al campo Fecha planif. de entrega: tdsls400.prdt - 172800.

Note: 
  • Los días deben representarse en segundos, porque las fechas se gestionan internamente como fechas UTC. Por lo tanto, 172800 equivale a dos días.
  • Los campos tabla que aparezcan en una expresión de asignación deberán procesarse antes que el campo al que se haya asignado la expresión de asignación en cuestión. El campo que aparece en la expresión de asignación debe tener una secuencia de proceso inferior, según se define en las definiciones de la configuración de la conversión. Así, por ejemplo, en el ejemplo anterior, el campo tdsls400.prdt deberá tener una secuencia de proceso inferior a la del campo tdsls400.ddat, según se define en las definiciones de la configuración de la conversión
Campo de conversión

Si esta casilla de verificación está seleccionada, se utiliza la tabla de conversión pertinente para convertir el campo. Si esta casilla de verificación no está seleccionada, el código coincide con el código correspondiente en LN y no es necesario convertirlo.

Note: 

Cualquier campo que pueda especificarse en un mensaje entrante puede convertirse. Si esta casilla de verificación no está seleccionada, el código en el mensaje coincide con el de LN y no es necesario convertirlo.

Acción si error en conversión

La acción que debe ejecutarse si ocurre un error durante la conversión de mensajes entrantes.

Note: 

Las sesiones de proceso deben admitir el valor seleccionado.

Tabla de códigos

El código que desea especificar en el mensaje. Por ejemplo, supongamos que desea especificar un código en un campo de texto. Esa tabla contendrá un código A y la descripción Recargo. El campo de texto será "Descripción: recargo". Si no se encuentra el código, el campo de texto contendrá el código en lugar de la descripción.

Note: 

Sólo se puede acceder a este campo si el registro corresponde a un campo de texto.

Descripción de campo

Si el campo es un campo de texto, especifique la cadena de texto que desea que aparezca antes del contenido del campo real en el campo de texto. Por ejemplo, si especifica Descripción en este campo y el contenido del campo de texto es Válvula de motor diesel, el campo de texto resultante será "Descripción: válvula de motor diesel".

Acción de campo

Indica cómo se procesan los campos de un mensaje entrante.

Valor si campo vacío

El valor que se utilizará para reemplazar los campos vacíos en el mensaje EDI.

Posición inicial de calificador

La posición inicial del primer calificador. Algunas conversiones de código en EDI de ERP necesitan una ID de código. Las ID de código son calificadores que se utilizan en conversiones de código que permiten convertir especificaciones de datos adicionales y se transfieren en la primera posición de calificador de las definiciones de configuración de conversión.

Note: 

Si el campo Tipo de campo de la sesión Redes (ecedi0120s000) tiene el valor Longitud fija, deberá especificar la posición inicial física del campo. Si el campo Tipo de campo de la sesión Redes (ecedi0120s000) tiene el valor Delimitado, deberá especificar el número de campo, empezando por el número 1.

Longitud de calificador

La longitud física del calificador.

Note: 

Este valor sólo puede especificarse si el tipo de campo es Longitud fija según se ha definido en la sesión Redes (ecedi0520m000).

No convertir calificador

El valor de calificador cuyo resultado consiste en la no realización de la conversión. Por ejemplo, supongamos que se ha especificado el valor SC. Si un mensaje contiene el valor de calificador SC, no se llevará a cabo ninguna conversión; si el mensaje contiene cualquier otro valor, éste se convertirá.

Note: 

Si el valor leído es igual al valor del calificador, no se aplicará ninguna tabla de conversión; se utilizará el archivo leído. Esta situación puede darse si ambas partes utilizan códigos de artículo EAN.

Calificador predeterminado

El valor que deberá utilizarse si no se recibe ningún calificador con el mensaje.

Campo

La información de correlación para este campo descriptivo y para el elemento de datos correspondiente en el mensaje EDI. Este campo descriptivo se utiliza con fines informativos y de comunicación.

Calificador 1

La información de correlación para el primer calificador y el elemento de datos correspondiente en el mensaje EDI.

Calificador 2

La información de correlación para el segundo calificador y el elemento de datos correspondiente en el mensaje EDI.