[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2003
    Beiträge
    331

    Cool RPG mit Embedded SQL, JOIN ..

    Hallo,

    in einem RPG-Programm mit embedded SQL möchte ich 2 Dateien mit identischem Suchbegriff bearbeiten (Dateien sind per DDS erstellt worden)

    Leider ist der Suchbegriff in Datei A folgendermassen definiert:
    8-st alphan., ist immer gefüllt mit einer Zahl
    von 00001 bis bis 99999, die 3 führenden Stellen sind immer = ´000´.

    Der Suchbegriff in Datei B ist 5-stellig numerisch (5S 0).

    Können diese unterschiedlich defiierten Begriffe verbunden werden ?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Hallo,

    das müsste funktionieren, Du musst lediglich die Join-Felder entsprechend aufbereiten.
    PHP-Code:
    C/EXEC SQL 
    C
    + Declare MyCsr ...
    C+    SELECT Fld1Fld2Fld3                                            
    C
    +      from MyFileA join MyFileB on Substr(KeyA45) = Digits(KeyB)
    C+      Where ...
    C/End-Exec 
    oder

    PHP-Code:
    C/EXEC SQL 
    C
    + Declare MyCsr ...
    C+    SELECT Fld1Fld2Fld3                                            
    C
    +      from MyFileA join MyFileB on Cast(KeyA as Dec(50)) = KeyB
    C
    +      Where ...
    C/End-Exec 
    Soweit ich weiß, können sogar ab Release V5R3M0 numerische Felder direkt mit alphanumerischen Feldern, die nur Ziffern enthalten verknüpft werden (d.h. eine Aufbereitung ist nicht notwendig!)

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Hallo,

    läuft aber nicht so dolle, bei großen Datenbeständen könnte da eine zusätzliche Tabelle, mit zwei Feldern, in einem das Huddelfeld, in dem anderen das numerische und zwei Indexe dem auf die Sprünge helfen. Oder man macht es ordentlich und nimmt in die Datei mit dem Huddelfeld einen ordentlichen (foreign) key mit auf.

    mfg

    Dieter Bender


    Zitat Zitat von B.Hauser
    Hallo,

    das müsste funktionieren, Du musst lediglich die Join-Felder entsprechend aufbereiten.
    PHP-Code:
    C/EXEC SQL 
    C
    + Declare MyCsr ...
    C+    SELECT Fld1Fld2Fld3                                            
    C
    +      from MyFileA join MyFileB on Substr(KeyA45) = Digits(KeyB)
    C+      Where ...
    C/End-Exec 
    oder

    PHP-Code:
    C/EXEC SQL 
    C
    + Declare MyCsr ...
    C+    SELECT Fld1Fld2Fld3                                            
    C
    +      from MyFileA join MyFileB on Cast(KeyA as Dec(50)) = KeyB
    C
    +      Where ...
    C/End-Exec 
    Soweit ich weiß, können sogar ab Release V5R3M0 numerische Felder direkt mit alphanumerischen Feldern, die nur Ziffern enthalten verknüpft werden (d.h. eine Aufbereitung ist nicht notwendig!)

    Birgitta
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Jul 2003
    Beiträge
    331

    Cool

    Danke für die Antworten.

    Ich habe festgestellt, dass in den beiden Dateien noch weitere Kriterien auf Übereinstimmung geprüft werden müssen.

    Unter anderem gibt es ein Datum, in Datei A: 4 x 2,0 definiert, in der anderen Datei richtig als Datums-Feld angegeben.

    Ich löse die Sache jetzt folgendermassen:
    mit SQL die Haupt-Datei lesen (mit entspr. Filter), dazu mit RPG-Anweisung den jeweils in der anderen Datei benötigten Satz dazu lesen.

    Die Unterschiede in der Definition kommen daher, dass die Dateien aus verschiedenen Anwendungs-Bereichen von unterschiedlichen Entwicklern zu unterschiedlichen Zeiten erstellt wurden.

    mfg Ludger

Similar Threads

  1. embedded SQL in RPG
    By muadeep in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 03-08-06, 14:25
  2. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 10:43
  3. Embedded SQL in RPG
    By lossin in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 23-08-05, 13:00
  4. embedded SQL in ILE RPG, UPDATE
    By Zupfl50 in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 06-10-04, 22:04
  5. EMBEDDED SQL in RPG
    By Ludger Muhmann in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-07-02, 10:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •