el tipo de transacción de edi realmente no importa (850 = orden, 875 = abarrotes po). Después de haber escrito algunos analizadores edi, aquí hay algunas cosas que he encontrado:
debe poder contar con el ISA (y el ISA solamente) de ancho fijo (105 caracteres si la memoria sirve). quita los primeros 105 caracteres. todo después de eso y antes de la primera aparición de "GS" es su terminador de línea (esto puede ser cualquier cosa, incluya un 0x07 - el pitido) así que tenga cuidado si está produciendo stdout para la depuración o puede tener un montón de pitidos fuera del altavoz). normalmente esto es 1 o 2 caracteres, a veces puede ser más (si la persona que le envía los datos agrega un terminador adicional por alguna razón). una vez que tenga el terminador de línea, puede obtener el delimitador de segmento (campo). normalmente saco los 3 caracteres de la línea GS y los uso, aunque el 4º personaje de la línea ISA debería funcionar también.
también tenga en cuenta que puede obtener un archivo con múltiples ISA. en ese caso, no puede contar con que los separadores de línea o campo son los mismos dentro de cada ISA.
otra cosa ... también es posible (nuevamente, no estoy seguro de si es la especificación) que un archivo edi tenga un ISA de longitud variable. esto es muy raro, pero tuve que acomodarlo. si eso sucede, debes analizar la línea en sus campos. el último campo en el ISA es solo un carácter largo, por lo que puede determinar la longitud real del ISA a partir de él. si fuera yo, no me preocuparía a menos que veas un archivo como este. es una rara ocurrencia.
Lo que he dicho anteriormente puede no corresponder a la letra de la "especificación" ... es decir, no estoy seguro de que sea legal tener diferentes separadores de línea en el mismo archivo, pero en diferentes ISA, pero es técnicamente posible y lo acomodo porque tengo que procesar los archivos que vienen de esa manera. el procesador edi utilizo procesos de más de 5000 archivos al día con más de 3000 posibles fuentes de datos (por lo que veo muchas cosas raras).
mejores cordiales, don
EDI en 2010? Pensé que XML es un poco más fácil de trabajar con –
El 90% de los ingresos provienen de EDI. Walmart, Target, Toys R Us y otros grandes minoristas representan el 50% de eso. No usamos EDI porque nos gusta, lo usamos porque nuestros clientes sí lo hacen. No vale la pena el tiempo/dinero para que cualquiera de estos grandes minoristas cambie a otro formato, porque funciona. – Brandon
Cuando digo el 90% de los ingresos, espero que se haya entendido que me refería al 90% de los ingresos de mi empresa. – Brandon