harl3kin@buhaboard.de
1.)
Das RPG Datenformat:
Datei
{ 01
01 123 TEST
<- Satz
\
\
/
/
Felder
2.)
RPG-Bestimmungen
H = besondere Programmattribute
F = Definition der angesprochenen Dateien
I = Definition der Eingabeinformationen
C = Operationen zur Dateienmanipulation
O = Identifikation und Formatierung der ausgegebenen
Informationen
·
Die
5 wesentlichen RPG-Bestimmungsarten sind Steuer-, Datei-, Eingabe-, Rechen-
und Ausgabebestimmungen.
·
Jede
in einem Programm benutzte Datei muss durch eine Datei- oder
F-Bestimmung definiert werden.
·
Die
Angabe der „Dateiart“ in einer F-Bestimmung spezifiziert, ob eine Datei für
die Eingabe oder Ausgabe verwendet wird.
·
Die
Ein-/Ausgabebestimmungen bestehen aus zwei unterschiedlichen Formaten: den Beschreibungen
auf Satzebene und den Beschreibungen auf Feldebene.
·
Der
Name und die Länge von Eingabefeldern werden in den Eingabebestimmungen des
Programms festgelegt.
3.) Quelleneingabedienstprogramm (SEU)
SEU-Zeilenbefehle:
Steuerbestimmung
->
IPH
Dateibestimmung
->
IPF
Eingabebestimmung (Satzebene)
->
IPI
Eingabebestimmung (Feldebene)
->
IPJ
Ausgabebestimmung (Satzebene)
->
IPO
Ausgabebestimmung (Feldebene)
->
IPP
4.) Umwandlung eines Programms:
·
Bei einem Compiler handelt es sich um ein Systemprogramm, das
RPG-Quellenanweisungen in ein Objektprogramm „übersetzt“.
·
Die Eintragung in dem Feld „Art“ in der Anzeige „Mit Teildateien
arbeiten“ wird in Verbindung mit der Auswahl 14 benutzt, um den richtigen CL-Befehl
für die Umwandlung auszuwählen.
·
Die Befehlseingabezeile in der Anzeige „Mit Teildateien arbeiten“
kann auch für den Aufruf von Programmen benutzt werden.
·
Umwandlungslisten enthalten sog. „Querverweise“, die die Anweisungsnummern
aufführen, in denen Dateien, Felder und Bezugszahlen verwendet werden.
· In dem Bereich „Nachrichtenzusammenfassung“ einer Umwandlungsliste wird die Summe der auf eine einzelne Bewertungsziffer entfallenden Fehlermeldungen aufgeführt.
5.) Erzeugung von Listenüberschriften:
6.) Rechenbestimmungen:
Rechenoperationen:
7.) Gruppenwechsel:
8.) Zwischen-
und Endsummen in einer Liste:
9.) Verarbeitung mehrerer Satzarten:
10.) Extern beschriebene Dateien:
Befehl:
dspfd
atsgrg1/pepffm1
(display
file description) Bilbliothek
Quellenteildatei
Befehl:
fromfile(atsgrg1/perstamm tofile(atsgrg1/pepffm1) mbropt(*replace)
11. Benutzung einer extern beschriebenen
Datei:
·
Die SEU-Unterstützungsfunktion
Ansehen/Kopieren kann dazu benutzt werden, um Anweisungen aus einer anderen
Quellendatei in die gerade bearbeitete Quellenteildatei zu kopieren.
·
Mit der SEU-Unterstützungsfunktion
Ansehen/Kopieren kann man sich zwei verschiedene Quellenteildateien gleichzeitig
am Bildschirm anzeigen lassen.
·
Die Feldbeschreibungen einer
extern beschriebenen Datei werden für eine Programmumwandlung abgerufen und
in der Umwandlungsliste mit ausgegeben.
·
Mit dem Zeilenbefehl zum Kopieren
von Anweisungen kann auch eine Gruppe von Anweisungen in einem Vorgang an eine
andere Stelle kopiert werden.
·
Die Dateibestimmung einer extern
beschriebenen Datei erfordert weniger Angaben, da bestimmte Definitionen, die
notwendig sind, aus der Dateibeschreibung übernommen werden.
12. Datenstrukturen:
Erstellung der Datenstruktur:
Durch Eingabe eines Leerzeichens kann der Datenstruktur-Name ggf. „leer“
bleiben.
Danach werden wie mit Hilfe der Bedienerführung (F23, J) die Eingaben
vorgenommen.
13.) Tabellenverarbeitung:
Mit dem Zeilenbefehl IP** können Werte ohne ein bestimmtes Format eingegeben werden.
·
Eine Tabelle kann einfach als eine Gruppe von gleichartigen
Daten verstanden werden.
14.) Feldgruppenverarbeitung:
LOKUP-Operation
durchsucht werden.
15.) Arithmetische Operationen mit Feldgruppen:
·
Mit der XFOOT-Operation kann
die Summe aller werte einer numerischen Feldgruppe ermittelt werden.
·
Wurden die Elemente einer Feldgruppe
numerisch definiert, können Sie in RPG in einer einzigen Operation eine Rechenoperation
mit allen Elementen ausführen.
·
Die einzelnen Elemente einer
numerischen Ausführungszeitfeldgruppe werden standardmäßig mit Nullen vorbesetzt.
·
Berechnungen mit numerischen
Feldgruppen können die Anzahl der in einem Programm erforderlichen Anweisungen
beträchtlich reduzieren.
·
Eine schnelle und einfache Möglichkeit,
die Elemente einer Feldgruppe zu laden, besteht darin, diese als Unterfelder
einer Datenstruktur zu definieren.
16.) Parameter und externe Schalter:
·
Bei externen Schaltern handelt
es sich um Bezugszahlen, die „außerhalb“ des Programms an- oder ausgesetzt werden,
im Programm selbst aber abgefragt werden können.
·
Externe Schalter werden durch
den CL-Befehl CHGJOB über den Parameter SWS an- und ausgesetzt.
·
Parameter sind externe Variablen,
die an ein Programm bei dessen Ausführung übergeben werden.
·
Als Eingabeparameter verwendete
Programmvariablen können nicht als Unterfelder eines Datenstruktur definiert
werden.
·
Mit dem Operationscode PARM werden
Parameter für ein RPG-Programm definiert.
17.) Konzepte und Methoden der Dateiverarbeitung:
·
Extern beschriebene Dateien bestehen
aus einer Dateibeschreibung und einer oder mehreren Teildateien.
·
Zugriffspfade beschreiben die
Reihenfolge, in der Sätze aus einer Datei einem Programm zur Verfügung gestellt
werden.
·
Wurden keine Schlüsselfelder
für eine physische Datei definiert, bedeutet das, dass auf die Sätze in Eingangsfolge
zugegriffen wird.
·
Die relative Satznummer bezieht
sich auf die Position eines Satzes in einer Datei.
18.) Logische Dateien:
·
Logische Dateien können selbst
keine physischen Datensätze enthalten
·
Es gibt keinen Unterschied bei
der programminternen Behandlung von physischen und logischen Dateien
·
Logische Dateien erstellen Zugriffspfade,
mit denen auf die Sätze einer physischen Datei zugegriffen werden kann.
·
In den DDS wird das Schüsselwort
PFILE für eine logische Datei definiert, um hiermit den Bezug zu einer physischen
Datei herzustellen.
·
Ein in eine logische Datei ausgegebener
Satz wird tatsächlich in einer Teildatei der physischen Datei gespeichert, auf
die sich eine logische Datei bezieht.
·
Eine logische Datei kann so definiert
werden, dass sich ihr Zugriffspfad auf die Sätze mehrerer physischer Dateien
bezieht.
·
Logische Dateien ermöglichen
verschiedene logische Sichten auf Daten, die in physischen Dateien gespeichert
sind.
19.) Wahlfreie Dateiverarbeitung:
·
Bei wahlfreier Verarbeitung können
Sie einen bestimmten ausgewählten Satz aus einer Datei lesen.
·
Sätze können sowohl bei einem
Zugriffspfad in Schlüsselfolge als auch bei einem Zugriffspfad in Eingangsfolge
wahlfrei gelesen werden.
·
Ein „K“ in Spalte 31 einer Dateibestimmung
bedeutet, dass das >Programm die Sätze dieser Datei in Schlüsselfolge verarbeiten
soll.
·
Vollprozedurale Dateien erfordern
die explizite Kodierung der Ein- und Ausgabeoperationen in einem Programm.
·
Die Ergebniszahl für eine CHAIN-Operation
wird in den Spalten 54+55 angegeben.
·
Das Suchargument für eine CHAIN-Operation
muss dieselben Attribute wie der entsprechende Schlüssel der Datei aufweisen.
·
Bei jeder erfolgreichen CHAIN-Operation
wird nur ein Satz gelesen.
20.) Sequentielle Datenverarbeitung
in Grenzen:
·
Die Dateiposition, bei der eine
SETLL-Operation aufsetzt, wird durch einen sog. Dateizeiger oder Pointer markiert.
·
Eine READ-Operation liest den
nächsten Satz einer Datei.
·
Die Ergebnisbezugzahl einer READ-Operation
wird angesetzt, wenn das Dateiende erreicht ist.
·
Der Operationscode EXCPT erlaubt
die Ausgabe von Informationen auf Abruf, unabhängig von den normalen Ausgabeoperationen
im eigentlichen RPG-Zyklus.
·
Die Ausgabe von Sätzen zur Ausnahmezeit
wird durch die Angabe eines „E“ in Spalte 15 der Ausgabebestimmungen auf Satzebene
erreicht.
21.) Operationen zur Dateiverwaltung:
·
Eine UPDAT-Operation setzt voraus,
dass der betreffende Satz vorher gelesen wurde.
·
Die Angabe eines „I“ in Spalte
15 einer Dateibestimmung bedeutet, dass die Sätze der Datei nur gelesen werden
können.
·
Eine Datei, die als Fortschreibungs-Erstdatei
definiert wurde, benutzt den RPG-Zyklus zum Lesen und zur Ausgabe von Sätzen.
·
Bei Unterprogrammen oder Subroutinen
handelt es sich um Gruppen von Anweisungen, die funktional zusammengehörende
Verarbeitungsschritte ausführen sollen.
·
GOTO-Operationen können nicht
außerhalb von Unterprogrammen verwendet werden, um zu einer TAG-Anweisung in
einem Unterprogramm zu springen.
·
Unterprogramme müssen immer als
die letzten Anweisungen in einem Programm definiert werden.
RPG-Operationscodes:
22.)
Programminterne Dokumentation:
·
Erläuterungen zu einzelnen Programmoperationen
können in einem Quellenprogramm in Form von nicht-ausführbaren Kommentarzeilen
kodiert werden.
·
/SPACE veranlasst den Compiler,
eine bestimmte Anzahl von Zeilen zu übergehen, bevor die folgenden Programmanweisungen
gedruckt werden.
·
Vor dem eigentlichen Begin eines
Programms sollte generell ein Block mit Kommentarzeilen erfasst werden, aus
dem der Programmname, die zentralen Programmfunktionen und die Verwendung von
Bezugszahlen zu entnehmen sind.
·
Die AS/400 dokumentiert automatisch
einige wichtige Beziehungen zwischen einem Programm und den von diesem benutzten
Daten.
·
Mit dem Cl-Befehl DSPDBR können
die logischen Dateien angezeigt werden, die sich auf eine bestimmte physische
Datei beziehen
·
Mit dem CL-Befehl DSPOBJD kann
der Name der Quellendatei angezeigt werden, auf deren Grundlage das Programm
umgewandelt wurde.
·
Die Textbeschreibung, die eine
Quellenteildatei näher erläutert, kann bei der Umwandlung des Programms übernommen
werden.