LoCal Geschrieben 19. August 2002 Geschrieben 19. August 2002 Hei, isch hab da en prob. Ich soll hier was in RPG proggen. Und zwar lese ich hier zwei FILEs aus und der key is KDNR und REL. Also die beiden sachen gibbet in beiden FILEs. In SQL würde ich einen join machen und die tabelle sieht hübsch aus.... aba in RPG??? wenn ich meinen write mache, dann schreib dat imma erst das aus FILE 1 und dann dat aus FILE 2 .... und der letzte satz aus FILE 2 steht dann noch im SPeicher und dadurch kommt ja alles falsch... kann mia jemand helfen??? Big thx Zitieren
Bobafat Geschrieben 20. August 2002 Geschrieben 20. August 2002 Hy LoCal, wie wärs hiermit: Datei1: xx1 xx2 xx3 xx4 Datei2: xx5 xx6 xx7 xx8 xx ist der Key KLIST Feld 1 *loval Feld 2 *loval Positionieren Tab1 SETLL(Klist) READE Tab1(Klist) merken(XX) Do not EOF(Tab1) Lesen Tab2(mit Key xx von Tab1) Verarbeiten Satz(da zu diesem Zeitpunkt nur zwei übereinstimmende Sätze möglich sein können.) READE Tab1 Enddo Welch Datei sich für Datei 1 oder 2 handelt musst du selbst herausfinden. Im allgemeinen lassen sich solchen Probleme mit Hilfsfeldern bewältigen. Probiers mal Viel Glück!!! Zitieren
beebof Geschrieben 20. August 2002 Geschrieben 20. August 2002 was macht denn "SQL-join"? :confused: Zitieren
Bobafat Geschrieben 20. August 2002 Geschrieben 20. August 2002 dies Beispiel ist nur ein Grundgestell. Wenn du Satzduplikate in einer der Dateien hast(weswegen auch immer) musst du natürlich den Algorythmus dementsprechend ändern. Have fun. Zitieren
Bobafat Geschrieben 20. August 2002 Geschrieben 20. August 2002 ein Join ist eine verbindung zweier Dateien mit gleichem Schlüssel(Schlüsselfeldern). z.b.: Datei1 Key=PNR, Feld=Adresse,PLZ Datei2 Key=PNR, Feld=Name,Telefonnummer Datei1 --JOIN-- Datei2 JoinDatei = PNR, Adresse,PLZ,Name,Telefonnummer Man kann auch andere Varianten verwirklichen (NON-EQUI-JOIN, Outer-Join, Inner Join) Übrigens dies hier im Beispiel ist ein Equi-Join(Gleiches zusammen) anders ist der NON-Equi-Join(Ungleich). Zitieren
beebof Geschrieben 20. August 2002 Geschrieben 20. August 2002 ach sowas... das macht man auf der AS/400 mit logischen Dateien... Funktion JFILE (weitere infos hier) Zitieren
LoCal Geschrieben 20. August 2002 Autor Geschrieben 20. August 2002 Ich kann das aba nicht mit ner logischen machen... ich muß die beiden Dateien in RPG verbinden ICH WILL ENDLICH JAVA AUF DIESER SCHWARZEN KISTE LoCal Zitieren
beebof Geschrieben 20. August 2002 Geschrieben 20. August 2002 Original geschrieben von LoCal Ich kann das aba nicht mit ner logischen machen... ich muß die beiden Dateien in RPG verbinden ICH WILL ENDLICH JAVA AUF DIESER SCHWARZEN KISTE LoCal hä? WAS genau willst du denn nun machen? Zwei Dateien in einem RPG-Programm zu nutzen, ist doch gar nicht so schwer?!? oder haben die beiden Dateien die gleichen Variablen bzw. Variablennamen? Zitieren
LoCal Geschrieben 20. August 2002 Autor Geschrieben 20. August 2002 Original geschrieben von beebof hä? WAS genau willst du denn nun machen? Zwei Dateien in einem RPG-Programm zu nutzen, ist doch gar nicht so schwer?!? oder haben die beiden Dateien die gleichen Variablen bzw. Variablennamen? Mein Problem is, das die Ausgabe dann völlig falsch is: Alzo, ich mach ma einen bleistiel die datei 1 enthält a1 und a2 und dabei 2 enthält b1 .. der key is kdnr der erscheint aba nciht in der outfile. a1 enthält: aaa, bbb, ccc, ddd a2 enthält: zzz, yyy, xxx, www und b1 enthält: 111, 222,333,444 aussehen soll die ausgabe so: aaa, zzz, 111 bbb, yyy, 222 ccc, xxx, 333 ddd, www, 444 ich erhalte aba folgendes: aaa, zzz bbb, yyy ccc, xxx ddd, www, ddd, www, 111 ddd, www, 222 ddd, www, 333 ddd, www, 444 und dat nervt mich Peace, Zitieren
beebof Geschrieben 20. August 2002 Geschrieben 20. August 2002 und wie machst du deine ausgabe? mit nem EXCPT? oder wie? (poste doch mal deinen quelltext) meine idee: read datei1 99 *in99 cabeq'1' ende kdnr chain datei2 so würd ich es machen... er liest also zeilenweise aus datei1 (die schleife musst da natürlich noch einbauen...) und dann mit KDNR aus datei1 mit hilfe von CHAIN die daten aus der zweiten datei dazu einlesen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.