Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2023
Badillo Badillo is offline
Miembro
 
Registrado: jun 2021
Posts: 33
Poder: 0
Badillo Va por buen camino
Necesito leer ficheros de tipo X12

Saludos, Necesito ayuda para leer el contenido de los ficheros de tipo X12 837 para guardarlo en Sql server.

Nota: El 837 tiene que ver con la salud.

Adjunto:
Fichero fuente: source.x12
Fichero basicmssql.dbs que utilizan para generar la tabla en la BD
Fichero qadbt2a.cfg que imagino que sea para hacer parser

Si conocen alguna función o biblioteca que al menos permita parsearlo, les agradecería

Como siempre muchas gracias de antemano.
Archivos Adjuntos
Tipo de Archivo: zip basicmssql.zip (7,2 KB, 16 visitas)
Responder Con Cita
  #2  
Antiguo 23-06-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Parece un simple "csv" separados por asteriscos.
De todas formas se supone que debes tener por algún sitio la estructura de la cabecera y las líneas para saber a qué corresponde cada dato.
Responder Con Cita
  #3  
Antiguo 23-06-2023
Badillo Badillo is offline
Miembro
 
Registrado: jun 2021
Posts: 33
Poder: 0
Badillo Va por buen camino
Saludos

Uno de los problemas es que no encuentro sitio que me explique o detalle como está conformada la estructura de este tipo de archivos, lo publiqué por si alguien del grupo había visto algo como esto antes.

Gracias
Responder Con Cita
  #4  
Antiguo 23-06-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Se supone que si te han pedido que hagas algo con eso entonces te deberían facilitar la estructura y demás, porque no puedes adivinarlo.
¿No sabes si pertenece a algún intercambio de datos, o es una máquina, o son de otro programa, o a qué pertenece?
Responder Con Cita
  #5  
Antiguo 26-06-2023
Badillo Badillo is offline
Miembro
 
Registrado: jun 2021
Posts: 33
Poder: 0
Badillo Va por buen camino
Question Buenos días

Estoy en la busqueda de información sobre este tipo de fichero de intercambio, por el momento esto es lo que interpreto:

X12 es un estándar de formato de mensajes que se utiliza con documentos de intercambio electrónico de datos (EDI) para que los socios comerciales compartan documentos comerciales electrónicos en un formato estándar y acordado . Es el estándar EDI más común utilizado en los Estados Unidos.

Saludos
Responder Con Cita
  #6  
Antiguo 26-06-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Parece un mensaje EDI y luego el mapeo de campos EDI a campos de una base de datos.

Ten en cuenta que EDI tiene muchos tipos de mensaje (pedido, albaran, factura, reportes, etc.)
Las primeras dos o tres letras identifican al tipo de registro y luego están los datos.
Dependiendo del registro los campos representan un dato u otro.

Mira el ejemplo de factura:
http://smartcustomblocks.com/edi-edi...o-edifact.html

Esto se parece bastante a lo que envías como ejemplo:
https://x12.org/examples/005010x279/...er-eligibility

Cita:
Transmission Explanation
ST*270*1234*005010X279A1~
Transaction Set ID Code = 270 (Eligibility, Coverage or Benefit Inquiry)
Transaction Set Control Number = 1234
Implementation Convention Reference = 005010X279A1
BHT*0022*13*10001234*20060501*1319~
Hierarchical Structure Code = 0022 (Information Source, Information Receiver, Subscriber, Dependent)
Transaction Set Purpose Code = 13 (Request) Identification
Reference Identification = 10001234
Date = 20060501 (May 1, 2006)
Time = 1:19 PM
HL*1**20*1~
Hierarchical ID Number = 1
Hierarchical Parent ID Number = * not used
Hierarchical Level Code = 20 (Information Source)
Hierarchical Child Code = 1
Responder Con Cita
  #7  
Antiguo 26-06-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Mira esto de la página 13 en adelante:
https://www.cgsmedicare.com/pdf/edi/837p_compguide.pdf

Después de ver que se trataba de EDI he buscado
"EDI 837 standards" en Google.



De aquí me enteré que cada aplicación tiene su tipo de mensaje.
https://www.seeburger.com/info/what-is-ansi-x12/
Cita:
ANSI X12 Message Type

The following Figure 2 provides an overview of the main ANSI X12 messages.
Each Message type is identified by a 3 digits code number:
Figure 2: ANSI X12 Message TypesEDI 810 Invoice What is an ANSI X12 EDI 810 Message?
EDI 820 Payment order (EFT) What is an ANSI X12 EDI 820 Message?
EDI 830 Delivery forecast What is an ANSI X12 EDI 830 Message?
EDI 832 Price/sales catalogue What is an ANSI X12 EDI 832 Message?
EDI 846 Inventory Inquiry/Advice What is an ANSI X12 EDI 846 Message?
EDI 850 Purchase order What is an ANSI X12 EDI 850 Message?
EDI 855 Purchase order acknowledgement What is an ANSI X12 EDI 855 Message?
EDI 856 Ship Notice/manifest (ASN) What is an ANSI X12 EDI 856 Message?
EDI 860 Purchase order change What is an ANSI X12 EDI 860 Message?
EDI 862 Delivery Just-in-Time What is an ANSI X12 EDI 862 Message?
EDI 997 Functional Acknowledgement What is an ANSI X12 EDI 997 Message?
Responder Con Cita
  #8  
Antiguo 27-06-2023
Badillo Badillo is offline
Miembro
 
Registrado: jun 2021
Posts: 33
Poder: 0
Badillo Va por buen camino
Thumbs up Muchísimas gracias

La información está muy buena, con esto puedo preparar un parseo e incluso profundizar un poco más y el resultado lo comparto acá.

Muchísimas gracias.
Responder Con Cita
  #9  
Antiguo 25-09-2023
Badillo Badillo is offline
Miembro
 
Registrado: jun 2021
Posts: 33
Poder: 0
Badillo Va por buen camino
Les comparto los resultados del parse para ficheros X12 835 File

Saludos,

Les adjuntaré lo que ya logré con el parser de los ficheros X12 para el tipo de archivo 835. Cualquier comentario o mejora que me recomienden será como siempre acaptada.

Ejemplo:

Código Delphi [-]
procedure TForm1.ProcessFile;
begin
  if FileExists(FFileName) then
  begin
    scMemoSource.Lines.LoadFromFile(FFileName);

    F835File := T835File.Create(FFileName);
    F835File.Parse;

    LabelLoop0000.Caption := IntToStr(F835File.Loop0000MaxId);
    LabelLoop1000.Caption := IntToStr(F835File.Loop1000MaxId);
    LabelLoop2000.Caption := IntToStr(F835File.Loop2000MaxId);
    LabelLoop2100.Caption := IntToStr(F835File.Loop2100MaxId);
    LabelLoop2105.Caption := IntToStr(F835File.Loop2105MaxId);
    LabelLoop2110.Caption := IntToStr(F835File.Loop2110MaxId);

    if F835File <> nil then
    begin
      scMemoSchema.Lines.AddStrings(F835File.getSqlSchema);
      scMemoDelete.Lines.AddStrings(F835File.getSqlDelete);
      scMemoInsert.Lines.AddStrings(F835File.SqlData);
      scMemoFileParser.Lines.AddStrings(F835File.ParsedFile);
      scMemoLogError.Lines.AddStrings(F835File.LogError);
    end;

  end;
end;

Gracias a todos.
Archivos Adjuntos
Tipo de Archivo: rar UX12Elements.rar (18,4 KB, 1 visitas)
Responder Con Cita
  #10  
Antiguo 25-09-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Leer todos los ficheros de una carpeta VRO Varios 9 14-12-2021 11:26:27
leer palabras de ficheros de texto alba13 OOP 10 21-10-2007 16:15:15
Leer ficheros Mac en Delphi thagson Varios 6 23-08-2006 14:12:08
Ayuda....Necesito abrir ficheros .swf en delphi ormcra Varios 4 01-09-2005 09:43:34
Leer enteros de 32-bits en ficheros binarios elcaracas C++ Builder 2 08-04-2005 21:46:54


La franja horaria es GMT +2. Ahora son las 20:13:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi