-
Hallo LoCal,
Beim READ werden ALLE Daten-Sätze der Reihe nach (also entsprechend der Schlüsselung) abgearbeitet.
Es ist nicht möglich bei READ eine Schlüssel zu verwenden.
Nicht benötigte Sätze können nur überlesen werden (z.B. durch eine ITER-Anweisung)
Werden aus einer Datei mit mehreren 100.000 Sätzen nur eine handvoll benötigt, ist es wenig sinnvoll (Laufzeit-Probleme) die komplette Datei abzuarbeiten.
Bei geschlüsselten Dateien ist es möglich, über einen einzelnen Schlüssel oder, wenn sich der benötigte Schlüssel aus mehreren Felder zusammensetzt über eine Schlüssel-Liste eine Auswahl von Sätze zu bearbeiten.
Dazu muss zunächst über einen SETLL-Befehl der Pointer an den Anfang der Auswahl gestellt werden.
Der Pointer wird auf den 1. Satz der Auswahl oder, wenn keine genaue Übereinstimmung gefunden wurde vor den Satz mit dem nächt höheren Schlüssel positioniert.
Über die GLEICH-Bezugszahl (sollte in RPGIV vermieden werden) oder die Built-in-Function %Equal, kann geprüft werden ob ein Satz mit der genauen Übereinstimmung gefunden wurde.
Die Built-In-Function %Found wird auf *On gesetzt, wenn ein Satz mit dem gleichen oder einem höheren Schlüssel vorhanden ist.
Über READE werden nur die der Auswahl entsprechenden Sätze eingelesen.
Die GLEICH-Bezugzahl (sollte in RPGIV vermieden werden) oder die Built-in-Function %EOF werden auf *ON gesetzt, wenn der letzte der Auswahl entsprechende Satz verarbeitet wurde.
Wird CHAIN verwenden, wird der erste Satz mit der genauen Übereinstimmung eingelesen.
(Also SETLL und READE in einem)
Mit der HOCH-Bezugszahl (sollte in RPGIV vermieden werden) oder der Built-in-Function %Found, kann geprüft werden, ob ein Satz eingelesen wurde.
Achtung: Dich HOCH-Bezugszahl geht an, wenn KEIN SATZ gefunden wurde.
%Found wird auf *ON gesetzt, wenn ein Satz eingelesen wurde.
Ansonsten würde ich Dir mal die RPG-Referenz ans Herz legen. http://as400bks.rochester.ibm.com/pu.../onlinelib.htm
Ich habe mir gerade Deine Quelle nochmal angeschaut. Du programmierst ja noch in RPGIII (auch RPG/400 genannt). Wenn es möglich ist, versuche Dir RPGIV (auch ILERPG genannt) anzueignen, da RGPIII nicht mehr weiter entwickelt wird.
In RPGIV hast Du viel mehr Möglichkeiten und es fällt jemand, der von C++ oder JAVA kommt viel leichter.
Und noch etwas, versuche nicht soviel IFs und DOs ineinander zuschachteln, lieber eine Subroutine mehr.
Ich hoffe ich konnte Dir ein bisschend weiterhelfen.
Birgitta
Similar Threads
-
By homue in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-07-07, 16:47
-
By Phuntomias in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 27-06-06, 09:21
-
By programmer in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 22-09-04, 09:20
-
By peter.kinne in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 12-05-04, 08:12
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