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.
Esta sesión está protegida, por lo que no podrá ejecutarse simultáneamente con sesiones que interfieran o puedan interferir con ella.
Información de campo
- Organización
- Mensaje EDI
-
mensajes EDI admitidos
- Dirección
-
La dirección del mensaje EDI.
- Tipo de campo
-
El formato del archivo ASCII.
NotaPuede 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 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 solo 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.
NotaSi 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 Esta salida permite utilizar el campo también para comunicaciones externas.
- Longitud
-
La longitud física del campo.
- Leer próximo registro
-
Si esta casilla de verificación está seleccionada, se leerá un nuevo registro a este nivel para los mensajes entrantes y un nuevo registro de la tabla que pertenece al campo para los mensajes salientes. Si esta casilla de verificación está desmarcada, no se leerán nuevos registros, pero los actuales permanecerán activos.
NotaEste 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úm. 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úm. orden 1 1 Referencia 1 2 Campo de texto 2 3 6 sí Campo de texto 2 4 Campo de texto 2 5 3 Cliente 1 6 Ejemplo 2: procesamiento 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úm. orden 1 1 sí Referencia 1 2 Cliente 1 3 Artículo 2 4 1 sí 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úm. orden cabecera Referencia cabecera Cliente cabecera sí Artículo línea Cantidad línea Fecha de entrega línea sí 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:
- Costos generales
- Cabecera
- Línea
Ejemplo 2
Campo Destino Grabar registro Núm. orden cabecera Referencia cabecera Cliente cabecera Artículo línea Cantidad línea Fecha de entrega línea sí 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
- Y
- O
- ?:
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 de la 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
Y y (ambos son verdaderos) a=b AND b=c O 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) Produce 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 anterior a la Fecha planif. de recepc., puede asignar la siguiente expresión de asignación al campo Fecha planif. de entrega: tdsls400.prdt - 172800.
Nota- 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, la tabla de conversión correspondiente se utiliza para convertir el campo. Si esta casilla de verificación está desmarcada, el código coincide con el código correspondiente en LN y no es necesario convertirlo.
NotaCualquier 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.
NotaLas 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.
NotaSó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.
NotaSi 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) es Delimitado, deberá introducir el número de campo, empezando por el número 1.
- Longitud de calificador
-
La longitud física del calificador.
NotaEste 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á.
NotaSi 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.