PDA

View Full Version : Join-Verknüpfung - "Ausgabe" von NULL-Werten



roman
18-05-04, 15:35
Ich möchte eine Artikelliste mit Angabe der monatlichen Lieferungen (Warenausgänge) erstellen. Nun interessieren aber nicht nur jene Artikel mit Auslieferungen, sondern auch Artikel ohne Bewegungen.
Die JOIN-Definition liefert mir jedoch nur Sätze MIT Warenausgängen.
Wie muss der JOIN definiert werden um die gewünschte Liste zu erhalten.

Besten Dank für hilfreiche Tipps.
Roman

B.Hauser
18-05-04, 15:56
Hi Roman,

wenn Du mit SQL arbeitest, musst Du die beiden Dateien mit LEFT OUTER JOIN verknüpfen. Damit werden alle Sätze der ersten Datei ausgegeben.
Wird keine Verknüpfung gefunden werden für die 2. Datei NULL-Werte ausgegeben.

Beispiel:


Select ArtNr, ArtBez, Menge
from ArtStamm a left outer join WAFile b
on a.Key1 = b.Key1
and a.Key2 = b.Key2
where ....


Birgitta

roman
18-05-04, 16:23
Super! funktioniert bestens.

Vielen Dank für die schnelle Hilfe.

Tobse77
05-09-07, 18:53
Hallo zusammen,

habe bei einem SQLRPG-Programm das Problem, dass ich kein Ergebnis angezeigt bekomme, wenn eine der 5 involvierten Dateien keinen korrespondierenden Eintrag findet. Habe die Verknüpfung in diese Datei mit einem Left Outer Join gemacht, jedoch bekomme ich leider garkeine Daten zurück. :(

Genau die gleiche Abfrage über STRSQL funktioniert tadellos.
Beim Debuggen habe ich bemerkt, dass der Wert SQL00A auf '1' abgefragt wird. Dieser hat während des Programmlaufs allerdings '0' und so werden die übrigen gefundenen Daten nicht in die interne DS fortgeschrieben :(

Gibt es hier irgendwelche Compiler-Optionen, mit denen ich mein PGM "entsensibilisieren" kann ???

B.Hauser
05-09-07, 19:10
Hallo,

welchen Wert haben SQLCOD (SQLCode) oder SQLSTT (SQLStatus) in der SQLCA (SQL Communications Area) nach dem Fetch-Statement?

Wenn das Ganze interaktiv funktionniert und nicht im Programm, stimmt die Bibliotheksliste?

Arbeitest Du mit dem Standard-Debug (STRDBG)?
Wenn ja kannst Du mal folgendes versuchen:
Setze den 1. Break Point
Wenn dieser erreicht ist, drücke F15 und ändere die Ansicht auf ILE RPG Root Source View (sorry ich habe gerade nur Zugriff auf ein englisches System).

Birgitta

Fuerchau
07-09-07, 10:05
Wenn man NULL-Daten erwartet muss für jede Variable, die NULL sein könnte ein Anzeiger definiert werden:

Einzelfelder
d anz1 s 5I 0
d anz2 s 5I 0
fetch ... into :VAR1 :ANZ1, :VAR2 :ANZ2, ...

Struktur
d myanz s 5i 0 dim(nn)
fetch ... into :MYSTRU :MYANZ