| # 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. Temas relacionados Uso de configuraciones de conversión (definiciones) 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. Temas relacionados Uso de mensajes EDI admitidos Dirección La dirección del mensaje EDI. Tipo de campo El formato del archivo ASCII. Nota 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. Nota 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. Nota 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 | sí
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 |  |  | 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úmero de 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: 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 | 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 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 planificada de entrega en un valor dos días antes que la Fecha planificada de recepción, puede asignar la siguiente expresión de asignación al campo Fecha planificada 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, 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. Nota 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. Nota 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. Nota 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. Nota 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. Nota 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á. Nota 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. |