-
RPGLE SETLL READE auf Null-Values
Hallo zusammen,
ich bräuchte mal wieder Eure Hilfe.
Ich habe eine Datei mit CREATE TABLE erzeugt. Darin befindet sich ein Datumsfeld bei dem NULL-Values erlaubt sind.
1. Ich war etwas überrascht dass diese bei der Sortierung am Ende stehen. Aber das scheint ja so zu sein.
Jetzt wollte ich auf meinen Index (Status DECIMAL 2,0 und eben das Datum) ein SETLL und READE machen damit ich alle bekomme die NULL sind
ist ILE-RPG nicht free
Schlüsselliste (Schlüsselfelder sind auch die Dateifelder)
K2MAIN_S_WD klist
kfld Status
kfld Datum
eval Status = 13
eval Datum = *loval
K2MAIN_S_WD setll MAIN_S_WD
do *hival
K2MAIN_S_WD reade MAIN_S_WD
if %eof
leave
endif
enddo
Bekommt er sofort EOF obwohl dass es den Wert gibt und der ist auch NULL das sehe ich über UPDDTA
Wie muss ich lesen damit ich all Sätze die in Datum NULL haben bekomme?
Selbst als ich vorher folgendes gemacht habe
eval Status = 13
Status setgt MAIN_S_WD
Status readpe MAIN_S_WD
if %eof
goto EndPgm
endif
K2Main_S_WD setll Main_S_WD
do *hival
K2MAIN_S_WD reade MAIN_S_WD
if %eof
leave
endif
enddo
endpgm tag
eval *inlr = *on
Bekommt er innerhalb der Schleife sofort einen EOF obwohl er die Werte ja oben außerhalb der Schleife selbst gelesen hat
Viele Grüße Harald
-
Hallo Harald,
gibt es mehrere Datensätze mit dem gleichen Schlüssel ?
Versuche mal mit Teilschlüssel (ohne Datum) weiter zu lesen.
LG
HaJo
-
Wenn ich aus dem K2MAIN_S_WD reade einen STATUS reade mache innerhalb der Schleife, dann liest er den ersten Satz aus der Datei mit Status 13. Also er positioniert anscheinend beim SETLL davor K2Main_S_WD auf den ersten Satz und nicht vor die NULL-Values. Kapier ich nicht. Ich habe jetzt auch mal noch einen %nullind(Datum) = *ON vor den SETLL gemacht. Aber gleiches Ergebnis.
In meinem Programm oben habe ich im DEBUG gesehen dass er beim Status SETGT und STATUS READPE auch wirklich im Datum 0001-01-01 stehen hatte und er hat ihn ja auch gelesen, dann kann er doch wenn ich genau mit diesen WErten einen SETLL und READE mache nicht %EOF bringen denn er hat sie ja gerade zuvor gefunden
-
Hallo zusammen,
bitte jetzt nicht missverstehen.
Aber SQL Tabelle mit RPG . ( Geht weiß ich )
Trotzdem
SQL bleibt SQL und so etwas macht man mit SQL und nicht mit RPG .
Gruß
Michael
-
Hallo mk,
mache ich auch überwiegend. Aber ich denke es sollte trotzdem funktionieren.
-
-
Nur mal so eine Frage:
Hast Du Dein Schlüssel-Feld auch mit %NULLIND() auf *NULL gesetzt?
Code:
%NullInd(KeyName) = *ON;
... Mit NULL-Werten zu arbeiten ist sowohl mit SQL als auch RPG aufwändig. Es muss separat geprüft werden, ob eine Spalte einen NULL-Wert enthält oder nicht (%NULLIND, IS NULL, Indikator-Variable).
Birgitta
-
Da NULL's ja am Ende einsortiert wurden kannst du per *HIVAL mit dem Datum aufsetzen und ohne Datum mit READE weiterlesen.
-
@alle
Vielen Dank für die Hilfe. So wie es Fuerchau am Ende geschrieben hat funktionierts.
Viele Grüße Harald
Similar Threads
-
By Ottersberg in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 07-11-19, 09:02
-
By ncc1701e in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 15-05-18, 12:23
-
By harkne in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 13-03-17, 11:53
-
By ASFOURI in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 02-11-16, 11:34
-
By camouflage in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 18-08-15, 14:10
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks