-
Hallo Steven,
es gibt mehrere Arten mit einer Lese-Schleife zu arbeiten.
Welches die Beste ist, darüber streiten sich die Geister:
1. Möglichkeit:
Setll
Do *Hival
Read File
If %EOF
leave
endif
Verarbeitung
Enddo
2. Möglichkeit
setll
read File
Dow Not %EOF
Verarbeitung
read File
enddo
2a. Statt SETLL und read einen CHAIN benutzen.
Ich persönlich bin für die 1. Möglichkeit, da bei zukünftigen Änderungen, z.B. bestimmte Sätze müssen überlesen werden, das Programm leicht durch eine zusätzliche ITER-Bedingung geändert werden kann.
M.E. ist die Struktur bei Variante 1 leichter zu erfassen.
Viele Programmierer ziehen die zweite Variante vor, weil man gelernt hat, dass GOTO zu vermeiden ist. Für viele sind LEAVE und ITER Statements verkappte GOTOs, die umgangen werden müssen.
Der Nachteil bei Variante 2 ist, dass, bei Programm-Änderungen immer in die Tiefe geschachtelt werden muss und spätestens beim 3. If wird es unübersichtlich.
Aber wie gesagt zu diesem Thema gibt es unterschiedliche Meinungen.
Noch eine Anmerkung:
Wenn Du in RPGIV programmierst, kannst du bei Lese-Operationen (READ/READE/READP/READPE) auf die Gleich- Bezugszahl verzichten und stattdessen %EOF(File) abfragen:
1. Beispiel mit Gleich-Bezugszahl
Read File 92
If *In92
leave
EndIf
2. Beispiel mit %EOF
Read File
If %EOF(File)
leave
endif
Der Vorteil ist, man kann fremde Programme leicht ändern/erweitern, ohne prüfen zu müssen, ob die Bezugszahl bereits verwendet wird.
Überigens ab Release V5R1M0 kann RPG in Free Format geschrieben werden. Und im Free Format können die Hoch/Nieder/Gleich-Bezugszahlen nicht gesetzt werden!
Birgitta
Similar Threads
-
By Flappes in forum IBM i Hauptforum
Antworten: 23
Letzter Beitrag: 14-02-06, 16:24
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