2016-04-18 14 views
0

ich eine Liste der Testergebnisse erhalten, aus einer Tabelle zu lesen, in der folgenden Form:Prozess wiederholt Segmente von Datenbank-Reader Quelle

testid | testname | sampleid 
------------------------------- 
1001 | GLU  | 99889 
1002 | CR  | 99889 
1003 | NU  | 99889 

Und ich brauche eine ASTM/HL7-Nachricht mit dieser Information zu bauen, aber Probleme beim Finden einer Lösung zum Erstellen der sich wiederholenden Segmente der Nachricht.

Ich möchte nur wissen, wie man das anpackt. Ich versuche derzeit, es in der Quelltransformation des Kanals mit dem Datenbankleser zu ändern.

var dbConn; 

     try { 
      dbConn = DatabaseConnectionFactory.createDatabaseConnection('net.sourceforge.jtds.jdbc.Driver','jdbc:jtds:sqlserver://localhost:1433/DB','xxx','xxx'); 

      return result; 
     } finally { 
      if (dbConn) { 
       var sql = "SELECT IDORDEN, FSOLICITUD, NO_EXP, APELL1, APELL2, NOMBRE, FNAC, CAMA, SEXO, IDEXAMEN, PROCESADO FROM ORDENES" 
       var result = dbConn.executeCachedQuery(sql); 

       dbConn.close(); 
       return result; 
      } 
     } 

Bitte um Rat.

Antwort

0

In Destination Transformer des Kanals hinzufügen eine ausgehende Nachricht Vorlage mit allen erforderlichen Feldern einschließlich einer einzelnen Instanz des Segments, das Sie wiederholen müssen. Weisen Sie das zu wiederholende Segment einer Variablen zu und füllen Sie die erforderlichen Felder mit dem ersten Datenbankeintrag. Fügen Sie dieses Segment in die Nachricht ein (Sie können die ursprüngliche Segmentvorlage löschen). Machen Sie dasselbe mit allen anderen Datenbankeinträgen. Am Ende sollten Sie eine gültige Ausgabe mit mehreren Segmenten haben.