VEB Robotron-Projekt Dresden - DOS

Werbung
ANWENDERDOKUMENTATION
10/89
Anleitung für den
Programmierer
PL1 -Optimierungscompiler
Benutzungshinweise
PL1 -Optimierungscompiler
Benutzungshinweise
D0S-4/ES
VEB Robotron-Projekt Dresden
C3704-0149-2 E0030
MOS
D0S-4/ES
PL1-0C Benutzungshinweise
10/89
Die vorliegende Anwenderdokumentation wurde
von einem Kollektiv
des VEB RobotronProjekt Dresden ausgearbeitet«
Sie entspricht dem Stand von 10/89.
Nachdruck> jegliche Vervielfältigung
Auszüge daraus sind unzulässig.
Herausgeber:
VEB Robotron-Projekt Dresden
Leningrader Straße 9
Dresden
8010
oder
D0S-4/ES
Kurzreferat
Dieses Handbuch enthält die für die Arbeit
mit dem
PL1-Optimierungscompiler (PL1-0C)
erforderlichen Informationen.
Es ist abgestimmt auf die Version 3.0 des
PL1-OC und zugeschnitten auf das Betriebssystem D0S-4/ES, Modifikation 41.10.
Das Handbuch ist für Programmierer bestimmt» die PL1 in dem Umfang nutzen wollen» wie die Programmiersprache in der Dokumentation
C 3706-0148 PL1-Sprachbeschreibung
dargestellt wird. Es handelt sich dabei um
eine Implementierung der "vollen Sprache"
einschließlich der PL1-Makrospräche.
Der implementierte Sprachumfang stimmt im
wesentlichen mit dem des PL1-OC im OS/ES
überein.
Nicht verfügbar sind u.a. folgende Sprachelemente :
SELECT-Gruppe>
DO UNTIL-Klausel,
DO REPEAT-Klausel und
LEAVE-Anweisung.
Theoretische und praktische Kenntnisse über
das D0S-4/ES werden als bekannt vorausgesetzt.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Inhaltsverzeichnis
PL1 im Betriebssystem D0S-4/ES
.1.
PL1 im D0S-4/ES
.2.
Arbeitsweise des PL1-Compilers
.2.1. Prinzipielles zur Arbeitsweise
.Z.Z, System- und Programmlogische Geräte
.2.3. Steuerung des PL1-Optimierungscompilers bei der Übersetzung
.3.
Übersetzen von PL1-Quelltexten
.3.1. Formen von Übersetzungsaufträgen
.3.2. Aufbau eines Objektmoduls
.3.3. Nachrichten über die Programmübersetzung
.3.4. Resultatcode
.4.
Programmverbinder CLNKEDT)
.5.
Programmausführung
.5.1. Jobsteueranweisungen für die Programmausführung
.5.2. Steuerung des PL1-Optimierungscompilers bei der Programmausführung
.5.3. Speicherplatzverwendung
.5.4. Nachrichten über die Programmausführung
.5.5. Resultatcode
5
5
5
5
5
6
10
11
13
13
14
14
15
15
17
17
18
18
2.
2.1.
2.2.
2.3.
Arbeit mit Bibliotheken
Katalogisieren von Quelltexten
Katalogisieren von Objektmoduln
Katalogisieren von Phasen
19
19
20
20
3.
Auflistungen
21
4.
4.1.
4.2.
4.3.
4.3.1.
4.3.2.
4.4.
4.5.
4.5.1.
4.5.2.
4.5.3.
4.5.4.
Dateien
Dateibeschreibung
Angabe der Geräte- und Speicherplatzanforderungen
Eröffnen und Schließen von Dateien
Eröffnen einer Datei
Schließen einer Datei
Pufferung
Dateiorganisationsformen in PL1
Sequentielle Dateien
Regional organisierte Dateien (REGIONAL-Dateien)
Indexsequentielle Dateien
Nutzung der Fernverarbeitungsmethode TAN in PL1-Programmen
25
25
26
26
26
26
26
26
26
29
34
39
5.
5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.
Verbindung zwischen PL1-Prozeduren und Assembler-Routinen
PL1-Umgebung
Ablaufsteuerung bei Aufruf eines PL1-Programms
Programmabschnitt PLISTART
Dynamischer Speicherbereich
Aufruf von Assembler-Routinen durch PL1-Prozeduren
Aufruf von PL1-Prozeduren durch Assembler-Routinen
Argumente und Parameter
40
40
40
41
41
42
44
49
6.
6.1.
6.2.
6.3.
Optimierung und effektive Programmierung
Hinweise für die Gestaltung effektiver Programme
Vom PL1-Optimierungscompiler durchgeführte Optimierungen
Effektivitätserhöhung von PL1-Programmen
50
50
50
55
7.
7.1.
7.2,
7.2, 1.
7.2. 2.
7.3.
7.4.
Sortierprogrammgenerator CSORT) und PL1-Programme
Allgemeines
Aufruf des Programms SORT durch eine PL1-Prozedur
Aufrufarten des Programms SORT
AufrufParameter des Programms SORT
Benutzerroutinenanschluß an die Ausgänge E15 und E35
Beispiel für den Aufruf des Programms SORT
58
58
58
58
58
60
60
8.
Speicherabzug und Wiederanlauf
63
9.
9.1.
9.2.
9.3.
Speicherausdrucke
Erzeugung eines PL1-Speicherausdruckes
Inhalt der Auflistungen eines Aufrufs von PLIDUMP
Lokalisierung von Variablen
64
64
64
65
Anhang 1 Moduln der PL1-Bibliothek
66
Anhang 2 Nachrichten des PL1-Optimierungscompilers (Übersetzung)
77
Anhang 3 Nachrichten des PL1-Optimierungscompilers (Ausführung)
122
Sachwortverzeichnis
129
Literaturverzeichnis
130
PL1-0C Benutzungshinweise
JL
PL1 im Betriebssystem DQS-4/ES
1.1,
PL1 im D0S-4/ES
10/89
D0S-4/ES
Im D0S-4/ES stehen zwei Compiler für PL1 zur Verfügung: der PL/I-Subset-Compiler und der
PL1-Optimierungscompiler.
Der PL1-Optimierungscompiler ist einzusetzen» wenn im PL1-Programm Sprachelemente der
PL1-Makrosprache enthalten sind und solche PL1-Objekte sowie' Anweisungen vorkommen> die beim
PL/I-Subset-Compiler nicht implementiert sind, wie beispielsweise DEFAULT-Anweisung» Felder»
deren Elemente strukturiert sind> rekursive Prozeduren» Attribut VARYING für Kettenvariable»
bestimmte Standardfunktionen» Speicherklassenattribut CONTROLLED» DATA-gesteuerte Ein- und
Ausgabe.
1.2*
Arbeitsweise des PLl-Compilers
1.2.1. Prinzipielles zur Arbeitsweise
Der PL1-Optimierungscompiler besteht aus 53 Phasen. Das Laden und Ausführen der Compilerphasen wird durch eine Steuerphase realisiert» die die ganze Zeit im Hauptspeicher verbleibt.
Kopien der geforderten Compilerphasen befinden sich nur für die Zeit ihrer Abarbeitung im
Hauptspeicher. Eine Ausnahme bildet die Testphase» welche (falls sie verwendet wird) nach
der Abarbeitung der Compilerphasen ausgewählte Informationen auf SYSLST ausgibt. Diese Phase
verbleibt daher während der gesamten Übersetzungzeit im Hauptspeicher. Der PL1-Optimierungscompiler liest den Quelltext eines Programms und übersetzt ihn in ein äquivalentes Objektprogramm. Der Compiler arbeitet voll in virtueller Umgebung» er benötigt also für seine Arbeit keine eigenen Arbeitsdateien auf externen Speichern. Der interne Seitenwechselalgorithmus ermöglicht ihm» Verzeichnisse» Tabellen und den zu verarbeitenden Text im Programmbereich zu speichern. Das beschleunigt die Obersetzung erheblich» außerdem braucht der Anwender keine Arbeitsdateien zuzuweisen oder anzulegen.
Der Compiler arbeitet ausschließlich mit Systemdateien. Den Quelltext liest er von SYSIPT»
den Objektmodul speichert er gewöhnlich in dem Systembereich SYSLNK oder gibt ihn auf dem
logischen Gerät SYSPCH aus. Das Übersetzungsprotokoll wird auf SYSLST ausgegeben. Informationen über die standardmäßigen Zuweisungen der Systemdateien sowie über die möglichen expliziten Zuweisungen durch den Anwender sind in El] enthalten. Das im D0S-4/ES integrierte
System der indirekten Ein- und Ausgabe (POWER) bietet dem Anwender zusätzliche Möglichkeiten» z.B. mehrfache Ausgabe der Drucklisten» Korrektur von Texten durch den Editor.
Die Übersetzung eines Quellprogramms erfolgt stets schrittweise» wesentliche Übersetzungsschritte sind:
-
Organisation der Übersetzung»
syntaktische Analyse und Behandlung von Vereinbarungen»
Auflösung der Programmstruktur und Erzeugung von internen Makroinstruktionen»
Ausgabe von Nachrichten und Auflistungen»
Speicherorganisation» Erzeugung und Ausgabe des Objektmoduls.
Der PL1-Optimierungscompiler generiert während der Übersetzung nicht für alle PL1-Anweisungen äquivalente Maschinenbefehle. Häufig auftretende Funktionen werden durch Bezugnahmen auf
residente Moduln der PL1-Bibliothek ersetzt. Sie werden durch den Programmverbinder automatisch in den Objektmodul eingefügt und bilden mit diesem eine Phase. Die Benutzung schwacher
externer Bezugnahmen (WXTRN) ermöglicht» daß der Programmverbinder nur die wirklich
benötigten residenten Moduln anschließt. Für diese generiert der Compiler weitere externe
Bezugnahmen» die das Verbot des automatischen Anschließens der Moduln für WXTRN-Bezugnahmen
aufheben.
Beim Starten der erzeugten Phase rufen die residenten Moduln weitere PL1-Moduln auf. Diese
Moduln (Transientmoduln) bilden die verschiebliche Transientphase IÜTGTRAN. Die Transientphase wird bei der Initialisierung der PL1-Umgebung auf die erste freie Adresse im Speicher
geladen. Die Verzweigung in die einzelnen Moduln wird über externe Symbole realisiert.
1.2.2. System- und Programmlogische Geräte
Für die Arbeit mit PL1 sind folgende systemlogische Geräte des D0S-4/ES wesentlich:
SYSRES - Systemresidenz» System-Phasenbibliothek
SYSRDR - (beliebiges) Eingabegerät» das zur Eingabe von kleinen Datenmengen dient» gewöhnlich zur Eingabe von Steueranweisungen
SYSIPT - (beliebiges) Eingabegerät» das zur Eingabe von größeren Datenmengen dient» beispielsweise PL1-Quelltext oder zu verarbeitende Daten
SYSPCH - Ausgabegerät» das zur Datenausgabe im Kartenformat verwendet werden kann
SYSLST - Ausgabegerät* das zum Druck des Protokolls dient
SYSLOG - Bedieneinheit oder Drucker zur Protokollierung der Steueranweisungen und zur Ausgabe von Systemnachrichten
SYSSLB - Platte mit der privaten Quelltextbibliothek
SYSRLB - Platte mit der privaten Modulbibliothek
SYSCLB - Platte mit der privaten Phasenbibliothek
SYSPLB - Platte mit der privaten Prozedurbibliothek
PL1-0C Benutzungshinweise
D0S-4/ES
10/89
Die Programmlogischen Geräte des D0S-4/ES werden mit SYS000 bis SYS199 bezeichnet; ihnen
können beliebige physische Geräte zugewiesen werden.
Die Standardzuweisung von physischen zu logischen Geräten ist durch den Inhalt des PARAMSBuches gegeben. Beim Aufstellen eines Auftrages wird ein entsprechendes PARAMS-Buch in der
den Auftrag einleitenden BATCH-Anweisung angegeben.
1.2.3. Steuerung des PL1"Optimierungscompilers bei der Übersetzung
Die Parameter der Jobsteueranweisung OPTION und die Optionen der PL1-spezifischen Steueranweisung * PROCESS werden vom PL1-Compiler ausgewertet und zur Steuerung der Arbeit des Compilers herangezogen.
Die Jobsteueranweisung OPTION hat folgendes Format:
[//]
OPTION Parameter[»parameter ... 1
Folgende Parameter der OPTION-AnWeisung sind für die Arbeit mit PL1 wesentlich:
[NOlSKIP
[Spardruck oder! Normaldruck auf virtuellem Drucker SYSLST
[NO1ALIGN
Die Konstanten beginnen [nicht] an integralen Grenzen.
[N01DECK
Die vom
werden.
[N01SYM
Auf SYSLST sollen [nicht] die Symboltabelle, die Liste der externen Symbole>
die Liste der relativen Adressen und die Blocktabelle ausgegeben werden.
[NO1LIST
Das Obersetzungsprotokoll soll [nicht] auf SYSLST ausgegeben werden.
[NOlXREF
Der Symbolnachweis soll [nicht] ausgegeben werden.
[N01LISTX
Der Objektmodul- soll [nicht] in assemblerähnlicher Form auf SYSLST ausgegeben
werden.
[NO1CRRCT
Bei Verwendung des SOUR-Parameters in der EXEC-Anweisung können von SYSIPT
Korrekturkarten zur temporären Modifizierung des Quelltextes [nicht] eingegeben werden.
[NOIERRS
Nachrichten bezüglich syntaktischer Fehler
über SYSLST ausgegeben werden.
[NO1LINK
Der vom PL1-Compiler erzeugte Modul soll [nicht] in den
den Programmverbinder CSYSLNK) ausgegeben werden.
[NOlCATAL
Die vom Programmverbinder
CATAL schließt LINK ein.
NODUMP
Es soll kein Protokoll des Hauptspeicherinhaltes ausgegeben werden.
DUMP
Nach Programmbeendigung auf Grund eines Fehlers soll ein erweitertes Protokoll des momentanen HauptspeicherInhaltes auf SYSLST ausgegeben werden.
[NOILOG
Steueranweisungen von Systemprogrammen sowie Informationen über Aktionen der
Jobsteuerung sollen [nicht] auf SYSLOG protokolliert werden.
SUBLIB=x
Festlegen der
dard: x=A)
PL1-Compiler erzeugten Moduln
sollen [nicht] auf
SYSPCH ausgegeben
im PLl-Quelltext
sollen [nicht]
Arbeitsbereich für
erzeugte Phase soll [nicht] katalogisiert werden.
Teilbibliothek der
Quelltextbibliothek (Stan-
SYSPARM=zeichenkette - Eine "zeichenkette11, bestehend aus 0-16
führende Programm zu übermitteln ist.
Zeichen» die an das auszu-
48C, 60C
zu benutzenden
Der PLl-Quelltext wurde im 48-/60-Zeichensatz formuliert
Die PL1-spezifische Steueranweisung hat folgendes Format:
* PROCESS [op-bionC ,Option]... U
Das Sternzeichen muß in Spalte 1 stehen.
Die Liste der Optionen kann bis einschließlich Spalte 71 reichen.
Für eine externe Prozedur können mehrere PROCESS-SteueranWeisungen angegeben werden.
Für alle Optionen sind bestimmte Standards durch die Implementierung des PL1-Compilers festgelegt.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Folgende Optionen können zur Steuerung des PL1-Optimierungscompilers verwendet werden:
Option
Abkürzung
Standardannahme
COMPILE|NOCOMPILE[(<W|EIS>)3
CQNTROLC'kennwort1)
COUhTTlNOCOUNT
INCLUDEINOINCLUDE
CATALC'name')
OPTC<0|2>)|NOOPT|OPTCTIME)
SIZEC{nl|n2KI-n3|-n4K|MAX>)
SYNTAX 1NOSYNTAXCC<WIE1S>)I
CINC
NOCOMPILECS)
SZ
SYNINSYN
OPTCO)
SIZE(MAX)
NOSYNTAXCS)
für den
Makrointerpreter
MACROINOMACRO
MACDCKINOMACDCK
MINM
MDINMD
NOMACRO
NOMACDCK
für die
Eingabe
CHARSETC[48160 3)E,1CDK0I|BCD3) es
SEQUENCE(n1,n 2)|NOSEQUENCE
SEQINSEQ
für die
Steuerung
-
CTINCT
INC ININC
N
NOCOUNT
NOINCLUDE
1
CHARSETC60,DKOI)
F-Format: SEQUENCE(73,80)
V/U-Format: SEQUENCE C1,8)
F-Format: SORMGINC2,72,1)
V/U-Format: SORMGINC10,100,0)
SORMGINCnl,n2[,n3 3)
SM
für die
Ausgabe
DECKINODECK
LOAOINOLOAD
DIND
LDINLD
NODECK
LOAD
für
AGGREGATE 1NOAGGREGATE
ATRINOATR
CLINE1NOCLINE
CSTMTINOCSTMT
EXTREFINOEXTREF
FLAG[C<I|W|E|S>)3
FLOWlCnl,n2)3|NOFLOW
LINEINOLINE
LINECNTCn)
LISTECnlC,n23)3!NOLIST
LMESSAGE|SMESSAGE
MAPINOMAP
MARGINIC'z']|NOMARGINI
NESTINONEST
OFFSETINOOFFSET
OPLISTINOOPLIST
SOURCEINOSOURCE
S0URCE2IN0S0URCE2
STMTINOSTMT
STORAGE)NOSTORAGE
XREFINOXREF
AG 1NAG
AiNA
AGGREGATE
-
NOCLINE
Auflistung
EINE
F
LC
LINL
. LMSGISMSG
MI NMI
NT NNT
OF NOF
OLINOL
SINS
S2INS2
-
STGENSTG
XiNX
ATR
csnfr
NOEXTREF
FLAGCI)
FLOWC25,10)
NOLINE
LINECNT(60)
NOLIST
LMESSAGE
NOMAP
NOMARGINI
NEST
OFFSET
OPLIST
SOURCE
SOURCE2
NOSTMT
NOSTORAGE
XREF
1
EGATE I NOAGGREGATE
H e Option AGGREGATE bewirkt, daß für alle Felder und Strukturen unter der Überschrift
AGGREGATE MAP das Niveau der Strukturbezeichnungen, die Dimensionsanzahl der Felder, die
relativen Adressen der Unterstrukturen und Strukturelemente, die Längen der Elemente sowie
die Gesamtlängen in Bytes ausgegeben werden.
ATR I NOATR
Die Option ATR bewirkt, daß
unter der Überschrift ATTRIBUTE TABLE ein Symbolverzeichnis
ausgegeben wird. Es enthält alle im Quellprogramm vereinbarten Bezeichnungen mit den zugehörigen Attributen.
Bei Angabe von ATR und XREF werden Symbolverzeichnis und Symbolnachweistabelle kombiniert.
CATALC'name1)
Die Option CATAL bewirkt, daß unmittelbar vor den Objektmodul eine CATALR-Anweisung geschrieben wird.
Das Programm CATMOD gestattet den so vorbereiteten Objektmodul unter dem in der Option angegebenen Namen in eine Objektmodulbibliothek zu katalogisieren.
CHARSETC[481603[,3EDK0I1BCD3)
Mit Hilfe der Option CHARSET gibt man Zeichensatz und Daten-Code an, die beim Aufstellen des
Quellprogramms benutzt wurden. Wenn CHARSETC60) wirksam ist, muß das Quellprogramm im
60-Zeichensatz geschrieben sein. Wenn CHARSET(48) wirksam ist, kann das Programm sowohl im
48-Zeichensatz als auch im 60-Zeichensatz geschrieben sein.
CLINE I NOCLINE
1. Wirkung für PLl-Quelltext:
Bei Wirksamkeit der Option CLINE werden in den Listen, die sich aus den Optionen SOURCE,
ATR, XREF, AGGREGATE, OFFSET, LIST, FLOW und COUNT ergeben, und in den Fehlernachrichten
zur Übersetzungszeit Zeilennummern zur Identifikation von PL1-Anweisungen oder -Klauseln
verwendet. Ist NOCLINE wirksam, so werden die Nummern der lückenlos numerierten Anweisungen/Klauseln verwendet.
Die Zeilennummern werden aus den Folgenummern abgeleitet. Der Bereich der Quelltextsätze,
der die Folgenumerierung enthält, kann durch die SEQUENCE-Option angegeben werden. Fehlt
diese Option, so werden standardmäßig folgende Annahmen für die Positionen der Folgenumerierung gemacht:
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
- Positionen 73 bis 80 - bei fester Satzlänge
(Man beachte» daß die Makrointerpreterausgabe immer feste Satzlänge hat und SEQUENCEAngaben für die Makrointerpretereingabe immer in SEQUENCE(73»80) für die Ausgabe resultieren. )
- Positionen 1 bis 8 - bei variabler und Undefinierter Satzlänge
Erstreckt sich die Folgenumerierung über mehr als 5 Positionen» so werden nur die rechten
5 Zeichen bei der Berechnung der Zeilennummern berücksichtigt (ansonsten alle angegebenen
Positionen).
Bei aufsteigender Folgenumerierung ergeben sich die Zeilennummern aus den maximal 5 rechten Positionen der Folgenumerierung.
Im anderen Fall garantiert der Compiler eine aufsteigende Numerierung der Zeilen.
Die Zeilennummer kann maximal 8stellig werden. Größere Zeilennummern werden von links her
abgeschnitten.
2. Wirkung für PL1-Makro-Quelltext:
Für die Makrointerpreter-Quelltextauflistung und Nachrichten» die diesen Quelltext betreffen» wird» falls CLINE wirksam ist» die Folgenumerierung als Bezugnahme in anderen
Makrointerpreter-Fehlernachrichten verwendet. Als Bezugnahme auf Quelltextsätze» die nur
Leerzeichen als Folgenummerangabe enthalten» wird in Fehlernachrichten "L zeilennummer"
benutzt. Ist NQCLINE wirksam» so wird die Nummer des Eingabesatzes als Bezugnahme verwendet.
COMPILE I NOCOMPILE U<WlEfS>)3
Von diesen Optionen hängt die Durchführung des Übersetzungslaufes ab. COMPILE bewirkt» daß
die Übersetzung unabhängig von gefundenen Fehlern (außer Abbruchfehlern) durchgeführt wird.
NOCOMPILE ohne Argument bewirkt» daß die Verarbeitung nach der Syntaxanalyse abgebrochen
wird. Die Angabe eines Arguments W» E oder S legt den Fehlergrad fest» ab dem die Übersetzung nicht durchgeführt wird.
CONTRQLC'kennwort')
Bei der Implementierung des Compilers können CompilerOptionen für die Anwendung gesperrt
werden. Mit Hilfe der Option CONTROL ist es möglich» gesperrte Optionen für die Übersetzung
verfügbar zu machen. In der Liste der Optionen ist in diesem Fall CONTROL als erste anzugeben.
Das 'kennwort1 darf maximal 8 Zeichen lang sein und wird bei der Implementierung festgelegt.
Nur einem befugten Personenkreis ist es damit gestattet» eine gesperrte Option wieder
verfügbar zu machen.
COUNT 1 N0C0UNT
Bei Wirksamkeit der Option COUNT erzeugt der Compiler Zähler» mit denen die Häufigkeit der
Ausführung jeder Anweisung/Klausel während der Programmabarbeitung ermittelt wird.
Die Option COUNT impliziert
- die Option STMT» falls CSTMT wirksam ist»
- die Option LINE» falls CLINE wirksam ist.
csmr i NOCSTMT
1. Wirkung für PLl-Quelltext:
Wenn die Option CSTMT wirksam ist» werden die Anweisungen und Klauseln im Quellprogramm
numeriert. Jede Nummer bezieht sich auf den Quelltext bis zum nächsten Semikolon.
Schließt eine END-Klausei mehrere Blöcke/Gruppen ab» so werden die eingefügten END-Klauseln bei der Numerierung berücksichtigt. Diese Nummern werden in den Listen verwendet»
die aufgrund der Optionen AGGREGATE, ATR, LIST, OFFSET, SOURCE, XREF, FLOW und COUNT ausgegeben werden. CSTMT wird durch NOCLINE und STMT impliziert« Wenn NOCSTMT angegeben ist»
werden CLINE und NOSTMT impliziert.
2. Wirkung für PLl-Makro-Quelltext:
Bei Wirksamkeit der Option CSTMT wird für Bezugnahmen in Makrointerpreter-Fehlernachrichten die Nummer des Quelltextes verwendet.
DECK I NODECK
Die Angabe der Option DECK bewirkt» daß der Objektmodul im Format von 80spaltigen Lochkarten
auf SYSPCH ausgegeben wird. Die Spalten 73 bis 76 enthalten die ersten vier Zeichen des ersten Eingangsnamens der externen Prozedur. Die Spalten 77 bis 80 enthalten eine laufende
Nummer.
EXTREF 1 NOEXTREF
Die Option EXTREF bewirkt* daß unter der Überschrift
zeichnis der externen Symbole ausgegeben wird.
EXTERNAL SYMBOL DICTIONARY
ein Ver-
FLAGC(<IIWIEIS>)3
Werden vom Compiler oder Makrointerpreter Fehler entdeckt» so werden diesbezügliche Nachrichten nach ihrer Schwere geordnet ausgegeben. Die Angabe W» E oder S in der Option FLAG
legt den Fehlergrad fest» von dem ab entsprechende Nachrichten ausgegeben werden sollen.
FLAGCD gibt an» daß alle Nachrichten ausgegeben werden.
FLOW[(nl>n2)3 1 NOFLOW
Wenn die Option FLOW wirksam ist» erzeugt der Compiler Code für die Protokollierung von Verzweigungen während der Programmausführung.
nl ist die maximale Anzahl von Eintragungen in der Liste. Übersteigt die Anzahl der zu protokollierenden Sprünge nl» so werden die n? zuletzt ausgeführten Sprünge protokolliert.
Standard für nl ist 25.
n2 ist die maximale Anzahl von Blockübergängen bei der Ausführung der Verzweigungen. Standard für n2 ist 10.
Weder nl noch n2 darf größer als 32767 sein.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
INCLUDE 1 NOINCLUDE
Enthält derQuelltext nur XINCLUDE-Anweisungen und keine Makrointerpreter-Anweisungen» so
kann die Option INCLUDE statt MACRO verwendet werden. Weil dadurch keine Textdurchmusterung
nach anderen Makrointerpreter-Anweisungen erfolgt, ist INCLUDE in diesem Falle gegenüber
MACRO vorzuziehen.
1 NOLINE
ie Option LINE bewirkt» daß in Ausführungszeit-Nachrichten die numerische Kennzeichnung der
Anweisungen im Quelltext eingefügt wird» die aufgrund der Option CLINE gebildet wurde«
Wenn LINE angegeben ist» werden CLINE» NOCSTKT und NOSTMT impliziert.
LINECNTCn)
Mit Hilfe
fe der Option LINECNT gibt man die maximale Anzahl der Zeilen an»
pilerauflistung ausgegeben werden kann» bevor ein Seitenvorschub erfolgt,
n ist die Zeilenanzahl,
n darf nicht größer als 32767 sein.
Kopfzeilen und Leerzeilen sind inbegriffen.
die für jede Com-
LISTECnl_[,n2])l 1 NOLIST
Die Optxion LIST bewirkt» daß der Objektmodul unter der Überschrift OBJECT MODULE LISTING in
einer assemblerähnlichen Form ausgegeben wird.
nl/n2 Nummer der ersten/letzten Quelltextanweisung» für die diese Auflistung erfolgen soll.
Wurde n2 nicht angegeben» so wird nur die Auflistung für die Anweisung nl ausgegeben.
Wenn die Option CLINE wirksam ist» müssen nl und n2 als Folgenummern 9zur Kennzeichnung der
Anweisungen angegeben werden» sofern LIST verwendet wird*
MESSAGE I SMESSAGE
ie Option LMESSAGE/SMESSAGE bewirkt die Ausgabe der Nachrichten in der Langform/Kurzform.
I NOLINK
)ie Option LINK veranlaßt den Compiler» den Objektmodul in der Form in die Datei SYSLNK auszugeben» wie sie zur Verarbeitung vom Programmverbinder verlangt wird.
MACDCK I NOMACDCK
Die Option MACDCK bewirkt» daß der vom PL1-Makrointerpreter erzeugte Quellmodul
kartenformat auf SYSPCH ausgegeben wird.
Bei NOMACRO wird die Option MACDCK ignoriert.
im Loch-
MACRO I NOMACRO
Die Option MACRO ist anzugeben» wenn der PL1-Makrointerpreter benutzt werden soll«
MAP I NOMAP
MAP bewirkt die Ausgabe von Tabellen» die die Speicherorganisation des Objektmoduls betreffen. Sie geben an» wie die Variablen im statischen Speicher und in den dynamischen Speicherbereichen gespeichert werden. Diese Angaben können verwendet werden» um in einem Hauptspeicherausdruck AUTOMATIC» und INTERNAL STATIC-Variablen zu lokalisieren. Ist gleichzeitig
die Option LIST angegeben» so werden neben dem Objektmodul in assemblerähnlicher Form weitere Tabellen ausgegeben» die Steuerblocke» Konstanten und INITIAL-Werte von Variablen enthalten.
MARGINIC'z') I NOMARGINI
Wenn die Option MARGINI wirksam ist» werden die Zeilen des PL1-Quelltextes
(oder die Ausgabe
des Makrointerpreters) links und rechts durch das Zeichen 'z1 begrenzt.
Nur der Text zwischen den beiden Zeichen 'z* wird dem Compiler zur Übersetzung angeboten.
NEST 1 NONEST
Die Option NEST bewirkt» daß in der Liste des Quelltextes für jede Anweisung und Klausel
unter der Überschrift LEV das Blockniveau und unter der Überschrift NT die Schachtelungstiefe von Gruppen ausgegeben wird.
OFFSET I NOOFFSET
Die Option OFFSET veranlaßt, daß für jede Prozedur unter der Überschrift OFFSET LISTING FOR
STATEMENTS eine Tabelle ausgegeben wird» die Hexadezimaladressen des Objektmoduls relativ
zum primären Eintrittspunkt sowie die zugehörigen Anweisungsnummern oder Zeilennummern
enthält.
OPLIST j NOOPLIST
Die Option OPLIST bewirkt» daß unter der Überschrift OPTIONS LISTING eine Liste aller für
die Übersetzung wirksamen CompilerOptionen ausgegeben wird.
OPTC<012>) I NOOPT 1 OPTCTIME)
Die Option OPT gibt die Zielstellung an» nach der die Code-Erzeugung vom Compiler vorzunehmen ist.
OPT(O) oder NOOPT:
Keine besondere Optimierung
OPT(2) oder OPT(TIME): Der erzeugte Code wird bezüglich der Ausführungszeit optimiert. Dabei
kann zusätzlich eine Reduzierung des HauptSpeicherbedarfs auftreten.
Gegenüber der Option OPT(O) kann die Übersetzungzeit anwachsen.
SEQUENCECnl,n2) 1 NOSEQUENCE
Die Option SEQUENCE gibt die Positionen in den Eingabesätzen an» die eine Folgenummer enthalten.
nl/n2
Nummer der ersten/letzten Spalte des Folgenummern-Feldes
Falls die Option CLINE wirksam ist, wird aus diesen Folgenummern die Numerierung des Anweisungen abgeleitet.
Standard für Sätze fester Länge:
SEQUENCE(73,80)
Standard für Sätze variabler oder Undefinierter Länge: SEQUENCE(1,8)
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
SORMGIN(nl,n2[,n5 3)
fe der Option SORMGIN wird der Teil des Eingabesatzes beschrieben» der den PL1-QuellMit Hilfe
text enthält. Außerhalb dieser Begrenzung liegender Text ist in der Auflistung des Quelltextes enthalten» wird vom Compiler aber nicht verarbeitet.
nl/n2 gibt die Nummer des ersten/letzten Bytes des Quelltextes im Eingabesatz an.
Ist n3 -= 0, so gibt dieser Wert die Position im Quelltext an> die ein Drucker-Steuerzeichen
enthält.
Ist n3 = 0» so wird angenommen» daß kein Drucker-Steuerzeichen im Quelltextsatz enthalten
ist.
Wird n3 nicht angegeben» wird das Steuerzeichen in der 1. Position erwartet.
Bedingungen: nl £ n2 £ 100
n3 > nl oder n2 > n3
nZ < 100
Standard für Sätze fester Länge:
SORMGINC2,72,1)
Standard für Sätze variabler und Undefinierter Länge: SORMGINC10,100,0)
Die gültigen Drucker-Steuerzeichen sind:
b
einzeiliger Vorschub vor dem Drucken
0
zweizeiliger Vorschub vor dem Drucken
dreizeiliger Vorschub vor dem Drucken
1
Beginn einer neuen Seite
Mit den PL1-spezifischen Steueranweisungen
XSKIPtm])
und
XPAGE;
können in den Auflistungen des Quelltextes auch Vorschübe erreicht werden.
SOURCE I NOSOURCE
Die Option SOURCE bewirkt, daß der dem Compiler angebotene Quelltext
COMPILER SOURCE LISTING aufgelistet wird.
unter der Oberschrift
SOURCE2 1 NOSOURCE2
Die Option SOURCE2 bewirkt, daß der PLl-Makro-Quelltext unter der Überschrift
PRETER INPUT aufgelistet wird.
Wenn MACRO nicht angegeben ist, wird SOURCE2 ignoriert.
STMT 1 NOSTMT
Die Option
;ion STMT bewirkt, daß
werden.
MACROINTER-
in Ausführungszeit-Nachrichten die Anweisungsnummern eingefügt
STORAGE 1
Aufgrund der Option STORAGE wird unter der Überschrift STORAGE REQUIREMENTS
ausgegeben, die die Speicherplatzanforderungen für den Objektmodul enthält.
eine Tabelle
SYNTAX 1 NOSYNTAXU<W|EIS>)3
Von diesen Optionenist die Durchführung der Syntaxanalyse abhängig. Vor der Syntaxanalyse
erfolgt, falls angefordert» der Makrointerpreterlauf und die Zeichen-Transformation des Textes vom 48-Zeichensatz in den 60-Zeichensatz.
SYNTAX bewirkt, daß die Syntaxanalyse durchgeführt wird, außer wenn beim Makrointerpreterlauf Abbruchfehler (Fehlergrad U) aufgetreten sind.
N0SYNTAX ohne Argument bewirkt» daß die Verarbeitung vor der Syntaxanalyse abgebrochen wird.
Die Angabe eines Argumentes W, E oder S legt den Fehlergrad fest» ab dem die Syntaxanalyse
nicht durchgeführt wird.
XREF I NOXREF
Die Option XREF bewirkt, daß unter der Überschrift CROSS-REFERENCE TABLE eine Symbolnachweistabelle ausgegeben wird.
Sie enthält die im Quellmodul vereinbarten Bezeichnungen und die Nummern der Anweisungen
oder Klauseln bzw. der Zeilen, in denen auf sie Bezug genommen wird.^Bezugnahmen auf Marken
oder ENTRY-Konstanten in END-KlauseIn werden in der Tabelle nicht berücksichtigt.
Bei Angabe von XREF und ATR werden Symbolnachweistabelle und Symbolverzeichnis kombiniert.
1.5.
übersetzen von PL1-Quelltexten
Der PL1-Quelltext wird gewöhnlich zunächst auf spezielle Programmformulare geschrieben.
Bezüglich der Raumaufteilung des PL1-Programmformulars müssen folgende Regeln beachtet werden:
Spalte 1
In dieser Spalte wird eines der vier Zeichen b, 0, - oder 1 als Drucker-Steuerzeichen akzeptiert. Das jeweilige Zeichen wird vom Drucker bei der Ausgabe des Übersetzungsprotokolls
berücksichtigt.
Spalten 2 bis 72
In diesen Spalten wird das PL1-Programm niedergeschrieben und vom PL1-Compiler erwartet.
Spalten 73 bis 80
In diesen Spalten kann eine Numerierung der Zeilen/Sätze des PL1-Quelltextes vorgenommen
werden•
Der PL1-Quelltext» der übersetzt werden soll, ist auf SYSIPT bereitzustellen.
Zur Übersetzung von PL1-Quelltexten wird der PL1-Compiler über den Phasennamen "PLI", der in
einer EXEC-Anweisung anzugeben ist, aufgerufen.
10
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
1.3.1. Formen von übersetzunasaufträaen
Quelltext als Kartenstapel
Wenn auf SYSIPT eine externe Prozedur in Form eines Kartenstapels und die Jobsteueranweisungen auch in Kartenform vorliegen» ferner SYSRDR und SYSIPT dem gleichen (virtuellen) Kartenleser zugeordnet sind» kann zur Übersetzung ein Auftrag nach folgendem Muster gegeben werden:
//
[//
//
//
BATCH auftragsnamet, ... 1
JOB jobnamel
OPTION Parameter
EXEC PLI
* PROCESS Optionen»
pll-quelltext_einer_externen_Prozedur
/*
weitere Jobschritte
/&&
Quelltext als Kartenstapel» enthält mehrere externe Prozeduren
Sollen bei einem Aufruf des PLI-Compilers mehrere externe Prozeduren (ein "Stapel" von externen Prozeduren) übersetzt werden» müssen diese durch mindestens eine PROCESS-Anweisung
voneinander getrennt werden.
Zur Übersetzung kann ein Jobschritt nach folgendem Muster gegeben werden:
// OPTION Parameter
// EXEC PLI
K PROCESS [Optionen];
. pll-quelltext_der_l._externen_prozedur
* PROCESS [Optionen!5
. pll-quelltext_der_2._externen_j>rozedur
* PROCESS [Optionen],
• pll -quelltext__der__3 ,_externen_prozedur
/*
Quelltext in der RDR-Schlange
Wenn der PLI-Quelltext als Datenstapel in der RDR-Schlange bereitsteht» kann zur Übersetzung
ein Auftrag nach folgendem Muster gegeben werden:
//
[//
//
//
//
BATCK auftragsnameE>...3
JOB jobnamel
OPTION Parameter
ASSGN SYSIPT,DATA=name
EXEC PLI
weitere Jobschritte
Quelltext in der Quelltextbibliothek
Wenn der PLI-Quelltext als Buch in einer Quelltextbibliothek vorliegt» kann zur Übersetzung
ein Auftrag nach folgendem Muster gegeben werden:
//
[//
[//
//
//
BATCH auftragsname»[PARAMS=]name
JOB jobnamel
ASSGN SYSSLB,VOL=volser,'dateiname']
OPTION SUBLIB=x
EXEC PLI,[SOUR=]buchname
weitere Jobschritte
11
PL1-0C Benutzungshinweise
10/89
DOS-4/ES
Quelltext in der Quelltextbibliothek und Quelltextmodifizieruna
Wenn der PL1-Quelltext als Buch in einer Quelltextbibliothek vorliegt und vor der Obersetzung temporär modifiziert werden soll» kann zur Übersetzung ein Auftrag nach folgendem Muster gegeben werden:
//
[//
//
//
BATCH auftragsname,[PARAMS=JnameC,...]
ASSGN SYSSLJB,VOL=volser,1dateiname1 3
OPTION CRRCT,SUBLIB=x
EXEC PLI,ISOUR=]buchname
• daten_fiir__die_modif izierung_des_buchs
/*
weitere Jobschritte
/ÄÄ
Bemerkung:
Die Korrektur des im Buch mit dem Namen "buchname" stehenden Quelltextes erfolgt mit Daten,
wie sie für die CRRCT-Anweisungen des Programms LIBR anzugeben sind.
Für folgende Aufgaben der Textänderung stehen Steueranweisungen zur Verfügung:
- Hinzufügen von Quelltextsätzen
) ADD
nr
Es folgen (beispielsweise auf Karte) die
der Identifikation "nr" einzufügen sind.
Quelltextsätze> die nach dem
- Ersetzen von Quelltextsätzen
) REP
nrlC,nr2l
Es folgen (beispielsweise Mauf Karte) die Quelltextsätze»
Grenzen zwischen "nrl" und nr2" ersetzen.
Quelltextsatz mit
die die Quelltextsätze
in den
- Löschen von Quelltextsätzen
) DEL
nrl[fnr2l
Die Quelltextsätze in den Grenzen zwischen "nrl11 und "nr2" werden gelöscht.
- Ersetzen von Anweisungsteilen
) EXC
nr^numlj'text1
Im Quelltextsatz mit der Identifikation "nr" werden die ab Spalte "numl" stehenden Zeichen
in der Länge von "text" durch "text" ersetzt.
oder
) EXC
nr>numl>num2>'text1
Im Quelltextsatz mit der Identifikation "nr" werden die ab Spalte "numl" stehenden Zeichen
in der Länge von "num2" durch "text" ersetzt.
- Hinzufügen oder Ersetzen von Quelltextsätzen
) MIX
Es folgen Quelltextsätze mit Identifikation.
Gemäß der angegebenen Identifikation werden dadurch die im
entweder ersetzt» oder es werden Sätze hinzugefügt.
Quelltextbuch stehenden Sätze
- Ende der Korrektur
) END
Quelltext in Quelltextbibliothek» wird über XINCLUDE-Anweisung bereitgestellt
Die /^INCLUDE-Anweisung hat folgendes Format:
XINCLUDE ... Spezifikation[»Spezifikation! ...3
mit:
Spezifikation ::= teilbibliothek(buchname) I buchname
Wenn der PL1-Quelltext als Buch/Bücher in einer Quelltextbibliothek
Übersetzung ein Auftrag nach folgendem Muster gegeben werden:
// BATCH auftragsname>[PARAMS=lname[,...]
// OPTION SUBLIB=x
// EXEC PLI
* PROCESS INCLUDE,
. pll-quelltext
XINCLUDE buchname_l;
XINCLUDE buchname_2i
XINCLUDE teilbibliothekCbuchname_3)j
/*
weitere Jobschritte
/&&
12
vorliegt» kann
zur
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
1.5.2. Aufbau eines Obiektmoduls
Der PL1-Optimierungscompiler erzeugt aus jeder externen PL1-Prozedur einen Objektmodul» der
auf SYSLNK und/oder SYSPCH ausgegeben wird und durch den Programmverbinder weiterverarbeitet
werden kann.
Objektmoduln sind verschieblich und unterscheiden sich physisch von den ausführbaren Programmen (Phasen)» während sie in ihrer logischen Struktur mit diesen übereinstimmen.
Die Objektmoduln bestehen aus einer Reihe von Sätzen» die im Kartenformat aufgebaut sind und
folgenden Inhalt haben:
-
Verzeichnis der externen Symbole
Text
Verzeichnis der Verschiebungsinformationen
eine Ende-Information
CESD)
(DO 1 )
(RLD)
(END)
Verzeichnis der externen Symbole
Das Verzeichnis der externen Symbole besteht aus einer Folge von Eintragungen» durch welche
die Programmverbindungstechnischen Einheiten eines Objektmoduls beschrieben werden.
Durch Angabe der Compileroption EXTREF erhält der Programmierer eine Auflistung» die das
ESD-Verzeichnis in übersichtlicher Form enthält.
3er Text (TXT) eines Objektmoduls» den der PLl-Optimierungscompiler ausgibt» besteht aus
folgenden Programmabschnitten:
- Befehlsprogrammabschnitt. Er enthält die aus dem PL1-Quellmodul erzeugten ausführbaren
Maschinenbefehle und kann über Option LIST ausgegeben werden.
- STATIC INTERNAL-Programmabschnitt. Er enthält Konstanten» Adressen und STATIC-Variablen
und kann über Option MAP ausgegeben werden.
- Programmabschnitte für Verwaltungsfunktionen:
PLISTART ist der Eingangspunkt für die ausführbare Programmphase und übergibt die Steuerung an die Initialisierungsroutine.
PLU1AIN enthält die Adresse des Eingangspunktes der Hauptprozedur und wird daher nur
für die Prozeduren mit OPTIONS(MAIN) erzeugt.
Das ist die Adresse» zu der die Bibliotheksinitialisierungsroutine verzweigt»
wenn die Initialisierung erfolgt ist. Sie wird in der Objektprogrammauflistung
mit "REAL EHTRY" markiert.
Ist PLIMAIN für zwei Prozeduren angegeben» die zusammen ausgeführt werden sollen» wird die Steuerung der zuerst von Programmverbinder bearbeiteten Prozedur
übergeben (wenn nicht durch Programmverbinderanweisungen anders festgelegt).
PLICOUNT wird erzeugt» wenn COUNT angegeben ist.
PLIFLOW wird erzeugt» wenn FLOH angegeben ist.
- STATIC EXTERNAL-Programmabschnitt. Wird für jede externe Variable» Datei und Prozedur angelegt.
- Programmabschnitte für jede im Programm geschriebene ON-Bedingung und jede vom Compiler
erzeugte Subroutine.
- Pseudoregistervektor. Das ist ein externer Pseudoabschnitt» der zum Adressieren von FILEDaten und CONTROLLED-Variablen benutzt wird.
Arbeitsspeicher und Speicher für AUTOMATIC-Variablen werden während der Ausführung durch den
Prolog» der zu Beginn jedes Blockes ausgeführt wird» bereitgestellt«
Verzeichnis der VerschiebungsinformatJonen
Das Verzeichnis der Verschiebungsinformationen (RLD) enthält die Steuerinformationen zur
ProgrammverSchiebung. Die Steuerinformation gestattet die Bestimmung absoluter Adressen in
der Programmphase und die Festlegung einer Startadresse. Zur Ausführungszeit wird der Speicherplatz im Hauptspeicher wie folgt adressiert:
- Namen» die nur in einem Programmabschnitt verwendet werden» haben Adressen relativ zum
Eingangspunkt des Programmabschnittes.
- Externe Namen haben absolute Adressen» so daß sich jeder Programmabschnitt auf sie beziehen kann.
Ende-Information
Die Ende-Information kennzeichnet das Ende des Objektmoduls» und sie verweist auf den vom
Compiler erzeugten Programmabschnitt PLISTART als den Eingangspunkt für die ausführbare Programmphase.
1.3.3. Nachrichten über die Proarammübersetzuna
Bei der Programmübersetzung können über SYSLST Nachrichten des PL1-Optimierungscompilers
ausgegeben werden. Die Nachrichten weisen darauf hin» daß das PL1-Quellprogramm Verstöße
gegen die Syntax von PL1-Sprachelementen enthält. In Abhängigkeit von der Schwere des Verstoßes werden die Nachrichten in fünf Klassen unterteilt:
- Klasse I (Informationen)
Eine informatorische Nachricht weist in der Regel darauf hin» daß in dem betreffenden
textlichen Zusammenhang die Anwendung bestimmter Sprachelement© uneffektiv ist.»
- Klasse W (Warnungen)
Eine Warnung weist auf einen möglichen Fehler hin» obwohl die betreffende Sprachkonstruktion (Anweisung/Klausel) syntaktisch richtig ist.
- Klasse E (Fehler)
Eine Nachricht der Klasse E weist gewöhnlich darauf hin» daß der Compiler eine fehlerhafte
Anweisung oder Klausel korrigiert oder ignoriert hat.
- Klasse S (schwerer Fehler)
Eine Nachricht der Klasse S weist meist darauf hin» daß die fehlerhafte Anweisung/Klausel
nicht korrigiert werden kann. Dabei übergeht der Compiler die betreffende Sprachkonstruktion» oder er verwendet für die fehlerhaften Teile Standardannahmen•
13
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
- Klasse U (nicht korrigierbarer Fehler)
Eine Nachricht der Klasse U weist auf eine nichtkorrigierbare Anweisung/Klausel oder eine
implementierungsbedingte Einschränkung hin» für die keine Standardannahme getroffen werden
kann. In jedem solchen Fall wird die Übersetzung abgebrochen.
Die Nachrichten haben folgende Form:
IOC nnnnl klasse text
Die Buchstaben "IOC" weisen darauf hin> daß die Nachricht zur Übersetzungszeit vom PL1-Optimierung scompiler ausgegeben wurde.
"nnnn"
gibt die vierstellige Nummer der Nachricht an.
"I"
zeigt an» daß die Nachricht informativen Charakter besitzt.
"klasse" ist einer der fünf Buchstaben I» W» E» S> U und deutet auf die Fehlerschwere hin.
"text"
enthält den Nachrichtentext.
Anhang Z enthält alle Nachrichtentexte.
1,5.4, Resultatcode
Der PL1-Optimierungscompiler erzeugt für jeden Übersetzungsschritt einen Resultatcode» der
dem Betriebssystem und dem Programmierer das Ergebnis der Übersetzung anzeigt. In den Auflistungen wird der Resultatcode nach den Übersetzungsprotokollen in der Jobschrittende-Mitteilung angegeben. In der folgenden Übersicht sind die möglichen Resultatcodes zusammengestellt:
Code
Bedeutung
Hervorgerufen *)
durch Fehler der
Klasse
00
Compiler hat Übersetzung vollständig durchgeführt und keine
Fehler erkannt. Ausfuhrung ist möglich.
04
Compiler hat Übersetzung vollständig durchgeführt» und es
sind möglicherweise Fehler enthalten.
Eine ordnungsgemäße Ausführung ist wahrscheinlich.
W
08
Compiler hat Übersetzung vollständig durchgeführt und Fehler
erkannt. Eine ordnungsgemäße Ausführung ist fraglich.
E
12
Compiler hat bei der Übersetzung schwere Fehler erkannt und
Teile des Quelltextes ignorieren müssen. Das Ergebnis der
Übersetzung ist in der Regel unvollständig i demzufolge ist
die ordnungsgemäße Ausführung nicht möglich.
5
16
Compiler hat nicht analysierbare Fehler erkannt und die
Übersetzung abgebrochen. Eine Ausführung ist nicht möglich.
U
i
keine oder I
*) einschließlich der vom Makrointerpreter analysierten Fehler
1.4.
Proqrammverbinder (LNKEDT)
Der Programmverbinder bereitet die Ausführung eines Programms vor» indem er die Objektmoduln» die bei der Übersetzung des Programms mit dem PL1-Optimierungscompiler (oder auch
mit anderen Sprachübersetzern wie Assembler» COBOL-Compiler usw.) entstehen» zu gewöhnlich
einer Phase verbindet.
Die Objektmoduln erwartet der Programmverbinder
- im SYSLNK-Bereich,
- in der privaten Modulbibliothek SYSRLB» falls zugewiesen»
- in der Standardbibliothek SYSLJB, falls zugewiesen und der Modul in SYSRLB nicht gefunden
wurde oder SYSRLB nicht zugewiesen ist»
- in der System-Modulbibliothek» falls der Modul weder in SYSRLB noch in SYSLIB gefunden
wurde oder wenn diese Bibliotheken nicht zugewiesen sind.
Von SYSLNK erhält der Programmverbinder auch Steueranweisungen» die dort durch die Jobsteuerung gespeichert werden.
Die Programmverbindersteueranweisungen
ACTION - für die Spezifizierung von Anforderungen beim Programmverbinderlauf»
PHASE
- für die Festlegung von Name und Ladeadresse einer Phase»
INCLUDE - für die Bestimmung» welche Objektmoduln in die Phase einzuschließen sind» und
ENTRY
- für die Festlegung der Startadresse
sind in Eil erklärt.
Notwendige Voraussetzungen für einen Programmverbinderlauf ist eine der Optionen LINK oder
CATAL» die für diesen Jobschritt mit der OPTION-Anweisung zu geben ist.
Wenn nur die Option LINK gilt, wird eine temporäre Phase (mit dem Namen PHASE***) in SYSLNK
gebildet» die durch die Jobsteueranweisung EXEC ohne Operand und nur im selben Job zu starten ist.
Wenn die Option CATAL gilt» wird die Phase in eine Phasenbibliothek katalogisiert. Dabei
wird der in der PHASE-Anweisung angegebene Name verwendet. Dieser Name ist beim Aufruf der
Phase in der EXEC-Anweisung anzugeben.
PL1-0C Benutzungshinweise
1.5.
10/89
DQS-4/ES
Proa rammausführuna
1.5.1. Jobsteueranweisungen für die Proqrammausführuna
Ein Auftrag für die Übersetzung mit dem PL1-Optimierungscompiler» der anschließenden Programmverbindung und sofortigen Ausführung der temporär gebildeten Phase (mit dem Namen
PHASE»««) ist nach folgendem Muster zu geben:
//
£//
//
//
BATCH auftragsname,EPARAMS= Inamel,...3
JOB jobname]
OPTION LINK
EXEC PLI
. pll-quelltext
/*
/ / EXEC LNKEDT
. Jobsteueranweisungen für die Ausführung
/ / EXEC
. daten__für_die_ausführung
/*
Folgende Liste gibt einen Überblick über die wichtigsten Jobsteueranweisungen (siehe tll):
ASSGN
BATCH
DATA
DATE
-
DEFD
-
DLBL
-
EXEC
-
EXTENT JOB
-
MGO
MIF
-
MLAB
MOUNT
MSET
MTC
-
NOP
OPTION
PAUSE
PW
-
RESET
RSTRT
RUN
-
SPOOL
STOP
TCC
-
TLBL
-
UPSI
USAREA
/&
/&&
-
*
-
logisches Gerät in einen definierten Zustand bringen.
Kopfanweisung eines Auftrags und Bilden einer Eintragung in der BCH-Schlange.
Kopfanweisung eines Datenstapels und Bilden einer Eintragung in der RDR-Schlange.
Setzen eines Benutzerdatums> Außerkraftsetzen des Systemdatumsy das bei IPL gegeben
wurde.
Ergänzen von einigen Parametern der Dateibeschreibung (DTF). Verwendung für alle
Dateien außer auf Platte> Magnetband und Diskette möglich.
Zuordnung der im Benutzerprogramm gegebenen Dateibeschreibung
"DCL dateiname FILE ..."
zu einer konkreten Datei auf Magnetplatte oder Diskette.
a) Starten eines spezifizierten Programms (Phase)
b) Aufruf einer Prozedur aus einer Prozedurbibliothek
Bereitstellung von Informationen über Größe und Lage der in der vorangegangenen
DLBL-Anweisung spezifizierten Platten- oder Diskettendatei.
erste Anweisung eines Jobs
JOB-Anweisung setzt alle Systemvariablen (Zuweisungen auf Grund von ASSGN-AnWeisungen» Funktionsangaben auf Grund von Optionen der OPTION-AnWeisung> DLBL- und TLBLIInformationen) auf den Ausgangszustand zurück.
Durch die JOB-Anweisung werden die Dateien auf SYSRDR, SYSIPT, SYSLST und SYSPCH,
die zugewiesenen virtuellen Dateien und die Bibliotheksdateien abgeschlossen und
erneut eröffnet.
zum Überspringen nachfolgender Jobanweisungen
bedingtes überspringen nachfolgender Jobsteueranweisungen. Dazu wird der Inhalt der
4 Bytes an der Adresse IQCOMRSC im Verständigungsbereieh (COMREG) mit dem in der
MIF-Anweisung angegebenen Wert verglichen und bei positivem Ausgang des Tests der
Sprung ausgeführt. MIF löscht auch eine eventuelle Abbruchbedingung.
Definition von Marken im Jobstrom für MGO und MIF.
Ausschreiben eines Hinweises zum Montieren eines Datenträgers.
Setzen des Rückkehrcodes
Steuerung von Operationen mit dem Magnetband XBSF, FSF> BSR, FSR, REW, RUN» ERG,
WTM, DSE» EOD)
leere Anweisung
Auswahl von Funktionen zur Steuerung der Systemprogramme
Umschalten der SYSRDR-Systemdatei auf die Konsole
a) Festlegung/Zuordnung eines Kennworts (Password) bei der Erzeugung einer Datei,
b) Prüfen der Berechtigung, ob mit Datei Aktionen erlaubt sind.
Rücksetzen der angegebenen logischen Geräte auf die Standardzuweisungen.
Wiederanlauf eines Programms von einem Speicherabzug aus.
Aufruf einer Prozedur aus einer Prozedurbibliothek mit der Möglichkeit der Substitution beliebiger Zeichenketten.
dient POWER zur Steuerung der Ausgabe auf einen virtuellen Drucker/Kartenstanzer.
stoppt die Arbeit in dem Programmhereich.
Zuordnung der im Benutzerprogramm gegebenen Dateibeschreibung (DTF) zu einem konkreten Terminal.
Zuordnung der im Benutzerprogramm gegebenen Dateibeschreibung
"DCL dateiname FILE ..."
zu einer konkreten Datei auf Magnetband.
Setzen des Programmschalters (UPSI-Byte)
hexadezimale Kette in den Benutzerbereich der COMREG bringen.
Beenden des Jobs
Beenden des Auftrags oder eines Datenstapels) Streichen des zugehörigen Programmbereichs
zur Kommentierung des Jobstromes> wird auf der Konsole ausgeschrieben.
15
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Verwendung von Prozeduren
Durch die Verwendung von Prozeduren wird die Bereitstellung der Jobsteueranweisungen zur
Formulierung eines Jobs wesentlich vereinfacht.
Der Anwender kann mit Hilfe des Systemprogramms LIBR eine Prozedur (beispielsweise unter dem
Namen PLIOCLG) katalogisieren> welche beliebige Schritte zur Verarbeitung eines PL1-Programms realisiert. Beim Aufruf der Prozedur durch die RUN-Anweisung kann diese Prozedur modifiziert werden. Die Jobsteuerung bietet dem Anwender umfangreiche Möglichkeiten zur Modifizierung •
Die Folge der Jobsteueranweisungen
//
//
//
//
OPTION LINK,SUBLIB=T
EXEC PLI,NAME
EXEC LNKEDT
EXEC
wiederholt sich beispielsweise beim Programmtest in einer Vielzahl von Jobs.
Diese Anweisungsfolge sei als Prozedur mit dem Namen
PL1OCLG katalogisiert.
Als variabel sind die Zeichenketten "T" und "NAME11 (T=Teilbibliothek, NAME=Buchname) zu betrachten .
Wenn der PL1-Quelltext in der Teilbibliothek S unter dem Namen QUTEXT gespeichert ist> kann
die Verarbeitung mit folgendem Job durchgeführt werden:
// JOB CLG
// RUN PL1OCLG,T=S,NAME=QUTEXT
/&
Kenn der PL1-Quelltext in der Teilbibliothek T unter dem Namen QU1 gespeichert ist und eine
Phase mit dem Phasennamen PH1 gebildet werden soll» ist folgender Job zu formulieren:
// JOB PHCREATE
// RUN PL10CLG,NAME=QUl,LINK=CATAL,0V
) ADD 10
// PHASE PH1,*
/&
Verwendung der Jobsteueranweisunaen UPSI» USAREA und OPTION
Mit den Steueranweisungen
// UPSr nnnnnnnn
// USAREA=hex_kette
// OPTION SYSPARM=zeichenkette
gibt es im D0S-4/ES drei wirksame Mittel> vor der Ausführung eines Programms Informationen
bereitzustellen> die während des Programmlaufs ausgewertet werden können. In Abhängigkeit
davon lassen sich beispielsweise bestimmte Programmfunktionen auswählen.
Die nachfolgende Programmskizze soll eine Anregung geben» auch in PL1-Programmen mit diesen
Systemmitteln zu arbeiten.
HP:
PROC 0PTI0NSCMAIN)i
DCL PCOM
P0INTTER5
DCL 1 IQCOM
BASEDCPCOM),
2 CHARDAT
CHARC8),
/* IPL-DATUM/DATE-ANW. */
2 FIXDAT
DEC FIXEDC7),
2 USAREA
CHAR(ll), /* USAREA-ANWEISUNG
*/
2 UPSI
BITC8) ALIGNED,
/* UPSI-ANH. */
2 XXA
CHARC68),
2 LSYSPARM
BITC8) ALIGNED,
2 SYSPARM
CHAR(16)> /* OPTION SYSPARM=... */
2 XXB
CHAR(250),
2 XXC
CHAR(250),
2 XXD
CHARC51),
2 RSC
BIN FIXED(31)i
/ * RSC
*/
DCL Pl
POINTER BASEDCP2),
P2
POINTER,
P3
POINTER,
BIT32_P2
BITC32) BASEDCP3)s
P3 = ADDRCP2)}
BIT32.P2 = '00000000000000000000000000010100'B5
/*
0
0
0
0
0
0
1
4
«/
PCCW = P l j
PUT SKIP LISTCCHARDAT, FIXDAT, U P S I , RSC)5
ENDi / * HP * /
16
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
1.5.2. Steuerung des PL1-Optimierungscompilers bei der Programmausführung
Für die Ausführung eines PL1-Programms können Optionen als Zeichenkettenwert von PLIXOPT
angegeben werden, PLIXOPT ist der Name einer Zeichenkettenvariablen» die bereits im Quell™
Programm initialisiert wird und beim Aufruf des Programms nicht mehr geändert werden kann,-.
Sie ist wie folgt zu vereinbaren:
DCL PLIXOPT CHAR(konst) VAR INIT('liste1) STATIC EXTERNALj
"konst" ist eine Konstante* die größer oder gleich der Länge von "liste31 ist.
"liste" ist eine Liste von Optionen» die durch Kommas oder Leerzeichen getrennt sind.
Eine Option» die über die Zeichenkettenvariable PLIXOPT angegeben wurde»
bei der Implementierung festgelegten Standard dieser Option.
COUNT
überschreibt den
i Nocouyr
Bei Wirksamkeit der Option COUNT erhält der Programmierer Informationen darüber» wie oft die
Anweisungen des PL1-Programms ausgeführt wurden. Nenn COUNT zur Obersetzungszeit wirksam
war» ist COUNT zur Ausführungszeit Standard.
Bei Wirksamkeit von FLOW und MOCOUNT zur, Obersetzungszeit muß auch STMT oder LINE wirksam
gewesen sein» um zur Ausführungszeit durch Angabe von COUNT die COUNT-Informationen zu erhalten. Standard ist N0C0UNT.
FLOW[(nl,n2)l I NOFLOW
Bei Wirksamkeit der Option FLOW erhält der Programmierer Informationen darüber» in welcher
Reihenfolge die Anweisungen des PL1-Programms durchlaufen und welche Sprünge ausgeführt wurden.
Wenn nl und n2 zur Ausführungszeit nicht angegeben werden» gelten folgende Werte:
- Wenn FLOW zur Obersetzungszeit wirksam war» werden die Werte von nl und n2 von der Obersetzung übernommen.
- Wenn NOFLOW bei der Obersetzung wirksam war» gilt standardmäßig: nI=25j>n2=10*
Die FLOW-Informationen werden ausgegeben» wenn eine ON-Einheit mit der SNAP-Option ausgeführt wird oder wenn im Programm eine CALL PLIDUMP-AnWeisung enthalten ist» in deren erstem
Argument der Buchstabe T angegeben wurde. Zur Übersetzungszeit muß eine der Optionen FLÖH
oder COUNT wirksam gewesen sein.
Wenn FLOW zur Obersetzungszeit wirksam war» ist FLOW zur Ausführungszeit Standard«
ISASIZE 1 ISA (<n I nK>)
Die Option ISASIZE gibt die Größe Cn) des Anfangsspeicherbereichs (ISA) an** der vom PL1-Programm durch den Makro GETVIS bei der Initialisierung angefordert wird«
Folgende Werte sind zulässig:
n=0
(Standardwert). Es werden 512K Bytes angefordert?
n>0
Der Wert wird auf ein Vielfaches der Seitengröße erhöht» es werden stets nis gan^e
Seiten angefordert.
n<0
Eine Nachricht wird ausgegeben und das Programm abgebrochen«
REPORT 1 R 1 NOREPORT 1 NR
Die Option REPORT erzeugt ein Protokoll
der Programmausführung.
NOREPORT ist Standard.
über die Größe der
Speiaherpiat^anforderungen bei
SPIE I NOSPIE
Bei Wirksamkeit von SPIE (Standard) wird bei Programminitialisierung mit Hilfe des Makros
STXIT PC die PL1-Routine zur Behandlung von Programmunterbrechungen aktiviert.
NOSPIE bewirkt die Behandlung von Programmunterbrechungen direkt durch das Betriebssystem.
STAE I NOSTAE
Die Option STAE (Standard) aktiyiert bei Programminitialisierung mit Hilfe des Makros STXIT
(mit Parameter AB) die PL1-Routine zur Behandlung einer anormalen Programmbeendigung.
Bei Wirksamkeit von NOSTAE wird diese Behandlung vom Betriebssystem ausgeführt.
1.5.3. Speicherplatzverwendung
Zur Ausführungszeit ist das PL1-Programm in drei Hauptspeicherbereichen enthalten. Der erste
Bereich enthält die ausführbare Programmphase. Der zweite Bereich ist der Anfangsspeicherbereich (ISA). Im dritten Bereich ist Speicherplatz für Oberlauf des Anfangsspeicherbereichs
und für E/A-Anforderungen enthalten.
Die Programmphase besteht aus übersetztem Code und vom Programmverbinder hinzugefügten Routinen» das sind residente PL1-Bibliotheksroutinen. Die Initialisierungsroutine (I0TGVUI) und
die Fehlerbehandlungsroutine (IOTGFER) sind in jedem ausführbaren Programm enthalten. Die
anderen Routinen der PL1-Bibliothek werden in Abhängigkeit von dmw Verwendung bestimmter
Sprachelemente in das ausführbare Programm eingefügt.
Eine typische Programmphase besteht aus folgenden Teilen:
- Programmabschnitt» der den übersetzten Code enthält
- Bibliotheksroutinen» die vom Programmverbinder hinzugefügt wurden
- STATIC INTERNAL-Programmabschnitt
Adressen (beispielsweise Adressen von Bibliotheksroutinen$ internen PL1 «-Prozeduren^ Eingang spunkten» LABEL-Konstanten* externen Prozeduren)
zur Ausführungszeit erforderliche Steuerblöcke
Speicherbereiche für Problemdatenkonstanten
Speicherbereiche für STATIC INTERNAL-Variablen
- andere Programmabschnitte
(PLISTART, PLIMAIN» Speicherbereiche für STATIC EXTERNAL-Variablenf» Steuerblöcke und Daten
für externe Dateien)
17
PL1-0C Benutzungshinweise
10/89
DOS-4/ES
Der Anfangsspeicherbereich (ISA) besteht aus der. folgenden drei Bereichen:
- Programmverwaltungsbereich (Aufgabenverständigungsbereich (TCA)» Pseudo-DSA und andere
Verwaltungssteuerblöcke)
- Kellerspeicher für DSA und VDA:
Speicherplatz für AUTOMATIC-Variablen und vom Compiler erzeugte Zwischenspeicherbereiche,
Speicherplatz für block- und prozedurabhängig zugewiesene oder freigegebene Elemente
freier Hauptbereich
- Speicherplatz für CONTROLLED- und BASED-Variablen
Die Größe des Anfangsspeicherbereichs CISA) kann durch Angabe der Option ISASIZE festgelegt
oder standardmäßig angenommen werden. Ist der Anfangsspeicherbereich zu groß? so bleibt ein
Teil ungenutzt» und im dritten Bereich kann es an Speicherplatz fehlen. Ist der Anfangsspei
cherbereich zu klein> so wird Speicherplatz aus dem dritten Bereich angefordert> und die
Ausführungszeit erhöht sich.
Die Länge dos Anfangsspeicherbereiches kann durch Berechnung oder durch Benutzung von REPORT
ermittelt werden. Will man die Option REPORT benutzen*'so gibt man entweder einen sehr kleinen (z.B. 1) oder einen sehr großen Wert für ISA an» je nachdem» ob der Speicherplatz knapp
ist oder reichlich zur Verfügung steht. Durch Angabe von REPORT erhält man dann den optimalen ISA. Für eine optimale Wirkung sollte der ISA alle dynamischen Hauptspeicherplatz-Anforderungen enthalten. Wenn jedoch bestimmte Blöcke nur selten betreten werden oder CONTROLLEDoder BASED-Variablen nur kurz zugeordnet werden» so kann dieser Speicherplatz außerhalb des
ISA bleiben.
Der dritte Bereich enthält Speicherplatz» der als Ergebnis expliziter oder impliziter Speicherplatzanforderungen erhalten wird. Er wird angefordert für transiente Bibliotheksroutinen» durch FETCH-Anweisungen geladene Prozeduren» für Puffer und Datei-Steuerblocke.
1»5.^Nachrichten über die Programmausführung
Bei der Programmausführung können über SYSLST
PL1-Programms ausgegeben werden.
Ursachen für Nachrichten vom PL1-Programm sind;
Nachrichten
des
Betriebssystems i*nd des
- FLOW- und COUNT-Informationen
- Anforderung von PL1-Hauptspeicherausdrucken
- Nachrichten des Sortierprogramms oder anderer Komponenten des Betriebssystems» die
PL1-Programm beteiligt sind
- Auftreten von Ausnahmesituationen (einschließlich Ausnahmesituation CHECK),
In diesem Fall haben die Nachrichten die folgende Form:
am
lOTnnnl 0NC0DE=nnnn C'on-Situation5I CONDITION RAISED text
H
I0TäS
weist darauf hin» daß die Nachricht zur Ausführungszeit eines PL1-Programms ausgegeben wurde.
nnn" gibt die dreistellige Nummer der Nachricht an,
"I1S
zeigt an* daß die Nachricht informativen Charakter besitzt
"nnnn" gibt den ONCODE-Wert an.
"text" enthält den Nachrichtentext und Angaben zur Fehlerlokalisierung (in Abhängigkeit
von der Compileroption STMT).
ls
Anhang 3 enthält alle Nachrichtentexte,
1.5.5. Resultatcode
Es ist möglich» nach euer Ausführung eines PL1-Programms einen Resultatcode zu übergeben» der
einen Hinweis über die Bedingungen enthält» unter denen die Ausführung erfolgt ist«
Analog wie beim Obersetzen und Programmverbinden kann von diesem Resultatcode auch die Verarbeitung weiterer Jobschritte abhängig gemacht werden (MIF-Anweisung )•'
In einem PLl-Programm können Resultatcodes durch Verwendung der CALL PLIRETC-Anweisung gesetzt werden. Durch das Standardunterprogramm PLIRETC wird eine ganze Zahl mit den Attributen BINARY FIXED(31>0) angegeben» die zum aktuellen Wert des PL1-Resultatcodes wird.
Im folgenden werden die
PL1-Programms angegeben:
0
1-99
100
200
£04
Resultatcodes
und deren
Bedeutung
der
Ausführung
eines
Normale Programmbeendigung.
Wird durch die Standardfunktion PLIRETC gesetzt.
Es wurde die Anweisung STOP ausgeführt oder mit der Anweisung CALL PLIDUMP mit Option
S ein formatierter Speicherausdruck aufgerufen.
Es kam zu dem Ausnahmezustand ERROR» und es existiert keine ON-Einheit ERROR oder
FINISH» die eine Sprunganweisung enthält. Das Programm wird beendet.
Es kam zu einem Fehler in einer ON-Einheitc Das Programm wird beendet.
Pseudoregister zu groß.
Das Programm enthält keine Hauptprozedur.
Ein vom Anwender eingesetzter Resultatcode muß im Bereich von
größer» dann wird 99 eingesetzt und eine Nachricht ausgegeben.
18
bei
1 bis
99 liegen.
Ist er
PL1-0C Benutzungshinweise
2.
10/89
D0S-4/ES
Arbeit mit Bibliotheken
Im Betriebssystem D0S-4/ES gibt es einheitlich organisierte
- Systembibliotheken»
- Programmbereichs-Standardbibliotheken und
- Privatbibliotheken.
Hinsichtlich der zu speichernden Objekte unterscheidet man folgende Bibliothekstypen:
- Phasenbibliothek (C) - für Phasen>
- Objektmodulbibliothek (R) - für übersetzte Objektmoduln,
- Quelltextbibliothek (S) - für Programme in Quelltextform und Makros»
- Prozedurbibliothek (P) - für katalogisierte Prozeduren»
- Makrobibliothek (M) - wird vom Anwender nicht benutzt.
Der Arbeit mit den Bibliotheken dienen im D0S-4/ES die folgenden Programme mit den nachstehend angeführten Funktionen:
- LIBR
Katalogisieren» Löschen» Umbenennen» Umnumerieren» Ändern der Versionsangaben und Korrektur von Bibliothekskomponenten»
Ausgabe (Drucken» Stanzen) von Bibliothekskomponenten»
Ausgabe von Bibliotheksverzeichnissen.
- CATMOD
Katalogisieren von Objektmoduln aus dem SYSLNK-Bereich in eine Objektmodulbibliothek.
- LNKEDT
Bilden der Phasen aus Objektmoduln und gegebenenfalls Katalogisieren in eine Phasenbibliothek.
- SYSCOPY
Formatisieren der Bereiche für Bibliotheken und Obertragen von Bibliothekskomponenten zwischen Bibliotheken bzw. von oder auf Magnetband.
- PATCH
Korrektur von Phasen in Phasenbibliotheken. < Dieses Programm hat
geringe oder keine Bedeutung.
Angaben zu den Steueranweisungen der Programme LIBR,
enthalten.
2.1.
für die Arbeit
mit PL1
CATMOD, LNKEDT und SYSCOPY sind in [1]
Katalogisieren von Quelltexten
Der in PL1 geschriebene Quelltext wird gewöhnlich in eine (private) Quelltextbibliothek katalogisiert.
Bei der Übernahme von Quelltext in eine Quelltextbibliothek ist zu entscheiden» ob der gesamte Quelltext einer externen Prozedur als ein Buch katalogisiert wird oder ob der Quelltext entsprechend den logischen/strukturellen Einheiten besser in Form einzelner Bücher katalogisiert wird.
Der PL1-Compiler gestattet die Übernahme von Quellprogrammen aus der Quelltextbibliothek für
eine Übersetzung mit der XINCLUDE-Anweisung.
Das Katalogisieren von Quelltexten kann beispielsweise durch folgende Steueranweisungen angefordert werden:
LIBR
// CATALS teilbibliothek.buchname_l
BKEND
! pll-quelltext (1)
BKEND
// CATALS teilbibliothek.buchname_2
BKEND
! pll-quelltext (2)
BKEND
// END
/*
Bemerkung:
In der CATALS-Steueranweisung» die in [1] beschrieben ist» sind zusätzliche wahlweise Angaben möglich. Solche Angaben betreffen Festlegungen hinsichtlich der Version und Modifikation
des Buches» der Identifikation der Sätze» der Folgeprüfung bei der Eingabe und der Anforderung der Numerierung der Sätze auch mit einer bestimmten Schrittweite.
19
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
Katalogisieren von Obiektmoduln
2.2.
Der durch den PL1-Compiler auf Grund einer erfolgreichen Übersetzung erzeugte Objektmodul
kann in der zugewiesenen Modulbibliothek oder in der System-Modulbibliothek katalogisiert
werden.
Die Vorteile einer Katalogisierung des Objektmoduls ergeben sich beim Testen von Programmen»
die aus mehreren externen Prozeduren bestehen. Die Objektmoduln der externen Prozeduren» die
sich als fehlerfrei erwiesen haben» können katalogisiert werden und brauchen im Verlaufe der
weiteren Testarbeiten nicht erneut übersetzt zu werden.
Wenn die gleiche externe Prozedur in verschiedenen Programmen verwendet wird» sollte deren
Objektmodul unbedingt für die wiederholte Verwendung in den entsprechenden Phasen in eine
Objektmodulbibliothek katalogisiert werden.
Wenn in der Jobsteueranweisung . OPTION der Parameter DECK angegeben ist» wird bei einer erfolgreichen Übersetzung der Objektmodul auf SYSPCH ausgegeben» bei Angabe des Parameters
LINK auf SYSLNK.
Notwendige Voraussetzung für die Katalogisierung eines Objektmoduls ist die Zuordnung eines
Namens zu diesem Modul* Der Name des Objektmoduls kann entweder mit der Option "CATAL(name)"
der PROCESS-Steueranweisung oder mit der CATALR-Jobsteueranweisung festgelegt werden.
Katalogisieren über SYSLNK:
// OPTION LINK
// EXEC PLI
* PROCESS CATALCname)}
Katalogisieren über SYSPCH;
//
//
//
//
SPOOL SYSPCH,NAME=name,DEST=I
OPTION DECK
CATALR
EXEC PLI
. pll-quelltext
. pll-quelltext
/**
//
EXEC CAT710D
/*'
// SPOOL SYSPCH
// ASSGN SYSIPT,DATA=name
// EXEC LJBR
Bemerkung:
Falls nach "// ASSGN SYSIPT,DATA=..." und
"// EXEC ..." noch weitere Jobschritte folgen sollen» muß vorher "// RESET SYSIPT"
oder Jobgrenze gegeben werden.
2.5.
Katalogisieren von Phasen
Der Programmverbinder CLNKEDT) bildet Phasen auf Grund von auf SYSLNK stehenden Objektmoduln» indem er externe Referenzen auflost» die erforderlichen Moduln aus der Bibliothek
für Objektmoduln einfügt und Adreßkönstanten ergänzt.
Bei Wirksamkeit von // OPTION CATAL wird die erzeugte Phase permanent in der zugewiesenen
Phasenbibliothek auf SYSCLB bzw. SYSRES gespeichert.
Der Name der zu bildenden Phase und ihre Ladeadresse ist durch eine PHASE-Anweisung anzugeben .
Bei Wirksamkeit von // OPTION LINK wird eine-Phase erzeugt» die nicht in die Bibliothek» nur
in den SYSLNK-Bereich geschrieben wird und dort nur für den Job zur Verfügung steht» in dem
sie gebildet wurde. Eine solche temporäre Phase wird mit einer EXEC-Anweisung ohne Phasenname gestartet.
Katalogisieren einer Phase wird mit dem Programm LNKEDT beispielsweise durch folgende
Steueranweisungen angefordert:
ausgehend von PLI-Quelltext:
// OPTION CATAL
// PHASE phasenname»«
// EXEC PLI
. pll-quelltext
/*
// EXEC LNKEDT
20
ausgehend von Obiektmoduln
//
//
//
//
OPTION CATAL
PHASE phasenname»»
INCLUDE modulname
EXEC LNKEDT
PL1-0C Benutzungshinweise
3_.
10/89
D0S-4/ES
Auflistungen
Der PL1-Optimierungscompiler kann während der Übersetzung Auflistungen erzeugen» die Informationen über die Übersetzung» über das PL1-Quellprogramm und die Objektmoduln darstellen.
Die Auflistungen werden über SYSL5T ausgegeben. Die folgende Übersicht vermittelt den Zusammenhang zwischen den Auflistungen und den Compileroptionen:
Auflistungen
Erforderliche CompilerOption
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
OPLIST
SOURCE2
FLAGI KIIWIEIS)) 3
SOURCEtNESTl
ATR
XREF
AGGREGATE
STORAGE
EXTREF
11.
12.
13.
14.
15.
Liste der Optionen
Eingabetext für den PL1-Makrointerpreter
Nachrichten des PL1-Makrointerpreters
PL1-Quellmodul
Symbolverzeichnis
Symbolnachweistabelle
Tabelle für Datengruppierungen
Speicherplatzbedarf
Verzeichnis der externen Symbole
Aufbau des statischen Speichers für den Objektmodul
(STATIC INTERNAL STORAGE MAP, STATIC EXTERNAL CSECTS)
Variablenliste
Tabelle der relativen Adressen
Objektmodul
Nachrichten des Compilers
Abschlußnachricht der Übersetzung
MAP
MAP
OFFSET
LIST
FLAG[C<I|W|E|S>)3
Die erste Seite der Auflistungen enthält in der Kopfzeile den Hinweis über die benutzte Compilerversion? das Datum der Übersetzung und die Zeit, zu der die Übersetzung begonnen wurde.
Die Auflistungen des Compilers werden fortlaufend durchnumeriert. Die Seitennummer befindet
sich in der rechten oberen Ecke.
1. Unter der Überschrift OPTIONS LISTING wird eine vollständige Liste aller für den Übersetzungsschritt wirksamen Optionen ausgegeben. Die Ausgabe der Liste kann durch die Option
NOOPLIST unterdrückt werden.
2. Unter der Überschrift MACROINTERPRETER INPUT wird dt^r Eingabetext für den Makrointerpreter aufgelistet. Die Eingabesätze werden mit der Nummer 1 beginnend fortlaufend numeriert. Die Option NOSOURCE2 unterdrückt die Ausgabe dieser Liste.
Wurde vom Makrointerpreter keine Nachricht erzeugt* so wird am Ende der Auflistung des
Makrointerpreters die Nachricht
NO PREPROCESSOR DIAGNOSTIC MESSAGES PRODUCED
ausgegeben.
3* Falls durch den Makrointerpreter im Makrotext Fehler erkannt wurden> werden
Überschrift PREPROCESSOR DIAGNOSTICS diesbezügliche Nachrichten ausgegeben.
unter der
4. Unter der Überschrift COMPILER SOURCE LISTING wird im Falle, daß der Makrointerpreter
vorher benutzt wurde» die Ausgabe des Makrointerpreters aufgelistet, sonst die Eingabesätze des PL1-Quellprogramms. Diese Liste kann durch die Optionen CLINE» CSTMT» MARGINI»
NEST und durch die Steueranweisungen für die Auflistung modifiziert werden*
Steueranweisungen für die Auflistung der Eingabetexte:
Durch Steueranweisungen im Eingabetext (Makrotext> PL1-Quelltext 3 kann dessen Auflistung
beeinflußt werden. Die nachfolgend aufgeführten Steueranweisungen XPAGE» ZSKIP und XNOTE
müssen in einer Eingabezeile bzw. einem Eingabesatz allein stehen und dürfen nicht mit
anderen Anweisungen zusammen angegeben werden.
Die Steueranweisung
/CPAGE,
bewirkt» daß die ihr
wird.
folgende Anweisung auf die erste Zeile
der nächsten Seite gedruckt
Die Steueranweisung
XSKIP£Cn)3,
bewirkt» daß ein Vorschub um die durch n angegebene Anzahl von Zeilen erfolgt, n muß eine
dezimale ganze Zahl im Bereich 1 bis 999 sein. Ist n nicht angegeben, so erfolgt ein Vorschub auf die nächste Zeile. Ist n großer als die Anzahl der restlichen Zeilen auf der
Seite, so wird anstelle der XSKIP-Anweisung eine XPAGE-Anweisung ausgeführt«
XNOTE-Anweisung
Die KNOTE-Anweisung dient bei der Makrointerpretierung zur Ausgabe von Nachrichten» deren
Text vom Programmierer in der Anweisung angegeben wurde. Eine Fehlerschwere kann angegeben werden. Die Ausführung dieser Anweisung bewirkt die Ausgabe der Nachricht.
Format:
IX m_markenpräfixliste3 NOTE
(text_derjnachricht[»m__ausdruck3)i
Regeln:
1. Der lltext__der_nachricht" kann maximal 256 Zeichen lang sein.
2. Der "m_ausdruck" muß einen der folgenden FIXED-Nerte w ergeben und
lerschwere an:
w=0
für die Fehlerschwere I
w=4
für die Fehlerschwere W
w=8
für die Fehlerschwere E
w=12 für die Fehlerschwere S
w=16 für die Fehlerschwere U
gibt die Feh-
21
10/89
PL1-0C Benutzungshinweise
D0S-4/E5
Andernfalls wird eine Nachricht ausgegeben und eine Fehlerschwere wie folgt standardmäßig angenommen!
I für
w<0
W für 0<w<4
E fürC 4<w<8
S für 8<w<12
U für 12<w<16 und w>16
Wird "m^ausdruck"
nicht angegeben» so wird der FIXED-Wert 0 angenommen.
Der Aufbau der Hm_markenpräfixliste" und des Mm_ausdruckn ist in 181 beschrieben.
Eine Verzweigung zu einer Marke einer XNOTE-Anweisung ist möglich.
XNOTE-Anweisungen dürfen nicht in Makroprozeduren angegeben werden.
Die Ausgabe der erzeugten I0T-Nachricht hängt von ihrer Fehlerschwere und der wirksamen FLAG-Option ab.
Wird die Fehlerschwere U in der XNOTE-AnWeisung codiert und die Anweisung wird ausgeführt, so wird die Compiler arbeit sofort beendet. Fehlerschweren W, E und S
können in Abhängigkeit von den Optionen NOSYOTAK und NOCOMPILE zur Beendigung der
Compilerarbeit führen.
Ist der Quellmodul vom Makrointerpreter erzeugt worden» so ist in der Spalte, die mit
REPL überschrieben ist, die maximale Tiefe der Ersetzung für die jeweilige Zeile angegeben. Wurde keine Ersetzung für diese Zeile durchgeführt, so erscheint keine Eintragung. Tritt bei versuchter Ersetzung ein Fehler auf, wird zusätzlich der Buchstabe
E ausgegeben.
Die Option NOSOURCE unterdrückt die Ausgabe der Liste.
5. Unter der Überschrift ATTRIBUTE TABLE wird das Symbolverzeichnis ausgegeben«
6. Unter der Überschrift CROSS-REFERENCE-TABLE wird die Symbolnachweistabelle ausgegeben.
Werden die Listen 5 und 6 gleichzeitig angefordert, so wird eine Kombination beider hergestellt. Die Optionen NOATR und NOXREF unterdrücken die Ausgabe der jeweiligen Liste.
7. Unter der Überschrift AGGREGATE MAP wird für die im Quellprogramm vereinbarten Datengruppierungen eine Tabelle mit statistischen Angaben ausgegeben. Die Option NOAGGREGATE unterdrückt die Ausgabe dieser Tabelle.
8. Unter der Überschrift STORAGE REQUIREMEKTS wird eine Tabelle ausgegeben» die die Hauptspeicherplatz-Anforderungen für den Objektmodul enthält. Außerdem enthält diese Liste
Langenangaben zum statischen Speicher (STATIC CSECT) und zu den dynamischen Speicherbereichen (DSA) von jedem Block. Die Option NQSTORAGE unterdrückt die Ausgabe dieser Liste.
9. Unter der Überschrift EXTERNAL SYMBOL DICTIONARY wird das Verzeichnis der externen Symbole (ESO) ausgegeben. Im ESO befinden sich Eintragungen für den Programm verbindet*, Die
Eintragungen betreffen alle Programmabschnitte des Objektmoduls» die Namen aller Eingang spunkte und die im Objektmodul definierten externen Symbole. Die Typen der ESD-Eintragungen sind folgender Übersicht zu entnehmen:
_p des ESDElementes
SD
LD
ER
22
Bedeutung
Definierende Anweisung
benannter Programmabschnitt
Ist die Option MAIN angegeben» wird der
Programmabschnitt PLIMAIN aufgebaut» der die
Adresse des primären Eingangspunktes enthält.
Der Programmabschnitt PLISTART wird stets automatisch aufgebaut.
- Externe PROCEDURE-Klausel,
- STATIC EXTERNAL oder
EXTERNAL-Vereinbarung mit Anfangswerten»
- EXTERNAL FILE-Konstanten,
- STATIC INTERNAL-Speicherplatz oder
EXTERNAL CONDITION-Name
i externer Eingang
EXTERNAL ENTRY-Präfix, PLICALLA* PLICALLB
externe Bezugnahme
- ElfTRY-Konstanten mit EXTERNAL-Attribut
- Residente PL1-Moduln
CM
gemeinsamer Bereich
STATIC EXTERNAL- (oder EXTERNAL-) Vereinbarung
ohne Anfangswerte
PR
Pseudoreg ister
- CONTROLLED-Variable,
- FETCH- oder RELEASE-Anweisung,
- FILE-Konstantenvereinbarung
WX
schwache externe
Bezugnahme
beispielsweise PUT-Anweisung
für PRINT-Dateibeschreibung
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
10. Unter der Überschrift STATIC INTERNAL STORAGE MAP wird der Programmabschnitt für STATIC
IKTERNAL-Variablen und andere statisch gespeicherte Informationen wiedergegeben.
Er enthält:
- Adreßkonstanten für Eingangspunkte der Prozeduren und für Verzweigungen
- Adreßkonstanten für residente Bibliotheksroutinen
- Adreßkonstanten zur Adressierung des statischen Speichers über 4 K Bytes
- Konstanten> Datenelement-Beschreiber» Zeiger/Beschreiber> Symboltabellen»
DECLARE-Steuerblocke (DCLCB) und andere Steuerblöcke
- Speicherplatz für STATIC INTERNAL-Variable
In der Liste STATIC IKTERNAL STORAGE MAP werden folgende Abkürzungen verwendet:
A..Programmabschnitt
COMPILER LABEL CL.nn
CONDITION CSECT
CONSTANT
CSECT FOR EXTERNAL VARIABLE
D..bezeichnung
DED..bezeichnung
ENVB
DCLCB
FED
KD
LOCATOR..bezeichnung
ONCB
PICTURED DED..bezeichnung
PROGRAM ADCON
RD..
SYMTAB
USER LABEL bezeichnung
Adreßkonstante
vom Compiler erzeugte Marke
Programmabschnitt für eine CONDITION-Bedingung
im Programm benutzte Konstante
Programmabschnitt für eine EXTERNAL-Variable
Beschreiber
Datenelement-Beschreiber
ENVIRONMENT-Steuerblock
DECLARE-Steuerblock
Formatelement-Beschreiber
Schlüssel-Beschreiber
Zeiger
ON-Steuerblock
PICTURE-Beschreiber
Programm-Adreßkonstante
Satz-Beschreiber
Symboltabelle
im Programm vorkommende Marke
Unter der Überschrift STATIC EXTERNAL CSECTS
EXTERNAL-Variablen wiedergegeben.
werden die Programmabschnitte
für STATIC
11. Unter der Überschrift VARIABLE STORAGE MAP werden die Variablen des PLl-Programms aufgelistet. Die Liste enthält das Niveau, die relative Adresse vom Beginn des Speicherbereichs in dezimaler und hexadezimaler Form» die Speicherungsklasse und den Namen des
PL1-Blockes» in welchem die Variable vereinbart wird.
12. Unter der Überschrift OFFSET LISTING FOR STATEMENTS wird eine Tabelle ausgegeben» die
Hexadezimal-Adressen des Objektmoduls relativ zum primären Eintrittspunkt sowie die
zugehörigen Anweisungsnummern enthält. Die Option NOOFFSET unterdrückt die Ausgabe dieser Tabelle.
13. Unter der Überschrift OBJECT MODULE LISTING wird der vom Compiler erzeugte Objektmodul
in assemblerähnlicher Form aufgelistet. Die Liste enthält Kommentare» die die verschiedenen Abschnitte des Objektmoduls identifizieren.
Folgende Kommentare dürfen auftreten:
* PROCEDURE yyy - gibt den Anfang der Prozedur mit dem Eingangsnamen yyy an.
* REAL ENTRY yyy - kennzeichnet den Initialisierungscode für den
Eingangsnamen yyy.
* PROLOGUE BASE - kennzeichnet
dieser Prozedur gilt.
den Initialisierungscode»
* PROCEDURE BASE - gibt die Adresse an» die
den wurde.
Eingangspunkt mit dem
der für
alle Eingangspunkte
für die Prozedur in das Basisregister gela-
* STATEMENT LABEL yyy - gibt an» daß diese Anweisung die Marke yyy enthält.
* PROGRAM ADDRESSABILITY. REGION BASE - kennzeichnet die Adresse, welche als Basisadresse verwendet wird» wenn das Programm länger als 4096 Bytes ist und eine Basisadresse
nicht ausreicht.
* CONTINUATION OF PREVIOUS REGION - kennzeichnet den Punkt» an dem die Adressierung mit
der vorangegangenen Programmbasis wieder aufgenommen wird.
* END OF COMMON CODE - kennzeichnet das Ende von Code» der bei
als einer Anweisung benutzt wird.
der Ausführung von mehr
* END PROCEDURE yyy - gibt das Ende der Prozedur yyy an.
* BEGIN BLOCK yyy - gibt den Anfang des mit yyy markierten BEGIN-Blockes an.
* END BLOCK yyy - gibt das Ende des mit yyy markierten BEGIN-Blockes an«
* BEGIN BLOCK - GENERATED NAME BLOCK.nn - kennzeichnet den Anfang eines unbenannten
BEGIN-Blockes» für den der Compiler den Namen BLOCK.nn erzeugt hat» wobei nn zwei
hexadezimale Ziffern sind.
* END BLOCK.nn - kennzeichnet das Ende des
Namen BLOCK.nn.
BEGIN-Blockes mit dem vom Compiler erzeugten
* STATEMENT NUMBER n - gibt den Anfang des Codes
programms erzeugt wurde.
an» der für die Anweisung n des Quell-
23
PL1-0C Benutzungshinweise
10/89
* INTERLANGUAGE PROCEDURE yyy - kennzeichnet den Beginn des
zusätzlich erzeugten Codes (umfassende "Prozedur").
D0S-4/ES
für die
* END INTERLANGUAGE PROCEDURE yyy - kennzeichnet 11das Ende des für
zusätzlich erzeugten Codes (umfassende "Prozedur ).
Sprachanpassung
die Sprachanpassung
x COMPILER GENERATED SUBROUTINE yyy - kennzeichnet den Beginn der vom Compiler erzeugten
Routine yyy.
* END OF COMPILER GENERATED SUBROUTINE - kennzeichnet
ten Routine yyy.
das Ende der vom Compiler erzeug-
* ON UNIT BLOCK - kennzeichnet den Beginn einer ON-Einheit.
* ON UNIT BLOCK END - kennzeichnet das Ende einer ON-Einheit.
* END fROGRAMM - kennzeichnet das Ende einer externen Prozedur.
* INITIALIZATION CODE FOR OPTIMIZED LOOP FOLLOWS - besagt, daß ein Teil des folgenden
Codes durch den Optimierungsprozeß aus einer Schleife herausgenommen wurde.
* CODE MOVED FROM STATEMENT NUMBER n - kennzeichnet einen Objektcode> der aufgrund des
Optimierungsprozesses an dieser Stelle im Programm übertragen wurde» die Zahl n gibt
die Nummer der Anweisung an, woher der Code stammt.
* CALCULATION OF COMMONED EXPRESSION FOLLOWS - kennzeichnet, daß ein Ausdruck, der mehrmals im Programm auftritt, an dieser Stelle berechnet wird.
* METHOD OR ORDER OF CALCULATING EXPRESSION CHANGED - gibt an, daß die Reihenfolge des
folgenden Codes verändert wurde, um den Objektcode zu optimieren.
Um den Operandentyp in einer Maschinenanweisung zu kennzeichnen, wird, wenn möglich, ein
mnemonisches Präfix verwendet, dem eine Bezeichnung aus dem Quellprogramm folgen kann.
Folgende Präfixe werden verwendet:
A..
ADD..
BASE..
BLOCK.nn
CL.nn
D..
DED..
L..
LOCATOR..
RKD..
VO..
WSP.n
Adreßkonstante
Gruppierungsbeschreiber-Beschreiber
Basisadresse einer Variablen
Marke, die für einen nicht markierten Block erzeugt wird
vom Compiler erzeugte Marke
Beschreiber
Datenelement-Beschreiber
Länge der Variablen
Zeiger
Satz- oder Schlüsselbeschreiber
virtuelle Basisadresse für die Adressierung von Feldelementen
Arbeitsspeicher, gefolgt von der dezimalen Nummer des Blockes für zugewiesenen Arbeitsspeicher
14. Unter der Überschrift COMPILER DIAGNOSTICS werden die Nachrichten des PL1-Optimierungscompilers von der Übersetzung des PL1-Quellprogramms aufgelistet.
Wurden vom Compiler bei der Übersetzung keine Fehler erkannt, so erscheint am Ende der
Auflistungen des Compilers die Nachricht NO MESSAGES PRODUCED FOR THIS COMPILATION.
Falls FLAG(W), FLAG(E) oder FLAG(S) wirksam ist, wird die Ausschrift modifiziert und
enthält eine Angabe über die Anzahl der nicht ausgegebenen Nachrichten.
15. Am Ende der Auflistungen, die während der Übersetzung erzeugt wurden, wird die zur Übersetzung benötigte CPU-Zeit ausgegeben.
In der gleichen Zeile wird außerdem die Anzahl der während der Übersetzung ausgelagerten
Sätze sowie deren Satzlänge ausgegeben.
PL1-0C Benutzungshinweise
4.
10/89
DOS-fr/ES
Dateien
Die grundlegenden Informationen zur Arbeit mit Dateien im DOS-fr/ES sind in der Schrift [fr1
enthalten} hier werden einleitend nur einige Begriffe erläutert.
Eine Datei ist eine benannte und Organisierte Menge von Sätzen mit gleichem Format und gleicher Struktur. Format und Struktur sind im Anwenderprogramm zu berücksichtigen.
Auf einem Datenträger (Magnetband, Magnetplatte» Diskette) können eine oder auch mehrere
Dateien stehen* Andererseits kann sich eine Datei auch über mehrere Datenträger erstrecken.
Ein Datenträger wird durch seinen Datenträger-Kennsatz identifiziert.
Zur Identifikation und Beschreibung der auf dem Datenträger gespeicherten Dateien werden
Datei-Kennsätze verwendet.
Magnetbänder können mit oder ohne Kennsätze benutzt werden.
Magnetplatten und Disketten können nur mit Kennsätzen benutzt werden.
Ein Block ist die Datenmenge» welche mit einer E/A-Operation (mit einem Kanalprogramm-Aufruf) als Ganzes übertragen wird. Jeder Block enthält einen oder mehrere Sätze«
Durch eine PL1-E/A-Anweisung wird jeweils ein Satz der Datei verarbeitet.
Folgende Satzformate sind für die Arbeit mit PL1 zulässig:
F:
Alle Sätze haben die gleiche Länge. Jeder Block enthält genau einen Satz ("ungeblockte
Sätze fester Länge11).
FB: Alle Sätze haben die gleiche Länge. Jeder Block enthält
die gleiche Anzahl von Sätzen»
und zwar mehr als einen ("geblockte Sätze fester Länge11).
V: Die Sätze können unterschiedliche
Länge haben. Jeder Block enthält einen Satz ("ungeblockte Sätze variabler Länge11).
VB: Die Sätze a haben unterschiedliche Länge. Ein Block kann mehrere Sätze enthalten ("geblockte Sätze variabler Länge").
U: Die Sätze haben Undefinierte Länge. Jeder Block enthält einen Satz ("Sätze Undefinierter
Länge").
D: Die Sätze haben variable Länge. Jeder Block enthält einen Satz. Die Daten sind/werden im
ASCII-Code aufgezeichnet.
DB: Die Sätze haben variable Länge. Ein Block kann mehrere Sätze enthalten. Die Daten sind
bzw. werden im ASCII-Code aufgezeichnet.
Sätze variabler Länge haben ein Präfix» in dem eine Information über die Satzlänge enthalten
ist. Nach dem Präfix kann in bestimmten Fällen außerdem ein Steuerzeichen gespeichert sein«
fr.1.
Dateibeschreibunq
Für die Arbeit mit einer Datei
aufzubauen. Die erforderlichen
- aus der Dateivereinbarung im
- aus den Jobsteueranweisungen
- aus dem Dateikennsatz.
ist es erforderlich» eine vollständige Beschreibung der Datei
Informationen gewinnt man
PL1-Programm»
TLBL» DLBL/EXTEKT» DEFD» TCC»
DateibeSchreibung im PL1-Programm
Die Dateibeschreibung kann im PL1-Programm
- durch Angabe der Dateiattribute in einer DCL-Anweisung»
- durch Angabe der Dateiattribute in einer OPEN-Anweisung oder durch das
Dateiattributen beim impliziten Eröffnen der Datei oder
- durch Standardannahmen von Dateiattributen
erfolgen.
Informationen über die Dateibeschreibung enthält die Dokumentation [8],
Implizieren von
Dateibeschreibung durch Jobsteueranweisungen
Durch die Jobsteueranweisungen TLBL» DLBL/EXTENT» DEFD und TCC ist es möglich, bestimmte
Dateiattribute erst beim Aufruf des übersetzten Programms anzugeben. Die in einer DCL-Anweisung festgelegten Dateiattribute haben gegenüber den durch Jobsteueranweisungen angegebenen
Attributen Vorrang. Beim Eröffnen der Datei werden die in der Dateivereinbarung angegebenen
Attribute und die in Jobsteueranweisungen oder im Dateikennsatz angegebenen Attribute zusammengefaßt. Dabei wird die Verträglichkeit der Attribute geprüft.
Informationen über Jobsteueranweisungen zur Dateibeschreibung enthält die Dokumentation [11.
Informationen in den Dateikennsätzen
Mit Hilfe von Kennsätzen identifiziert das Betriebssystem Datenträger und zugehörige Dateien.
Dateien auf Magnetplatten und Disketten besitzen stets Standard-Dateikennsätze» in die beim
Aufbauen der Datei Informationen aus der im PL1-Programm gegebenen Dateibeschreibung und den
Jobsteueranweisungen eingetragen werden (Blocklänge» Satzlänge» Satzformat usw.). Bei
späterem Zugriff auf die Datei (beispielsweise beim Lesen) brauchen diese Informationen
nicht mehr angegeben zu werden.
Standard-Benutzerkennsätze können für Dateien auf Magnetplatten und Disketten nicht verarbeitet werden.
Für Dateien auf Magnetband können Standard-Dateikennsätze aufgezeichnet/verarbeitet werden»
eine Verarbeitung ohne Kennsätze ist prinzipiell möglich. Die Informationen werden beim Aufbauen der Datei vom Betriebssystem in die Kennsätze eingetragen. Beim späteren Lesen einer
Datei mit Standard-Kennsätzen ist eine erneute Angabe dieser Informationen nicht erforderlich.
Benutzerkennsätze können für Dateien auf Magnetband nicht verarbeitet werden.
PL1-0C Benutzungshinweise
4.2.
10/89
D0S-4/ES
Angabe der Geräte- und Speicherplatzanforderungen
Im D0S-4/ES werden Jobs im Rahmen von Aufträgen verarbeitet. Zu einem Auftrag werden zweckmäßig solche Jobs zusammengefaßt» die gemeinsame Merkmale haben» beispielsweise die gleichen
Geräte benutzen» gleiche Priorität haben usw.
Jeder Auftrag wird durch eine BATCH-Anweisung eingeleitet» mit der Angaben über die Anforderungen an das System übermittelt werden können. Dazu dient u.a. der Name eines PARAJ1SBuches. Bei Ausführung der BATCH-Anweisung wird das angegebene PARAMS-Buch aus der SystemQuelltextbibliothek gelesen und verarbeitet» ist kein PARAMS-Buch angegeben» wird eine Standardannahme wirksam.
Die Bildung von PARAMS-Büchern und die Bedeutung der dafür zu benutzenden Anweisungen ist in
[1] beschrieben.
4.3.
Eröffnen und Schließen von Dateien
4.3.1. Eröffnen einer Datei
Eine Datei wird explizit durch eine OPEN-Anweisung oder implizit durch Ausführung der ersten
E/A-Anweisung für diese Datei eröffnet.
Damit durch das Betriebssystem eine eindeutige Bezugnahme auf die im PLl-Programm zu verarbeitende Datei erfolgen kann, wird der Name der DTF-Tabelle verwendet»
Der Name der DTF-Tabelle leitet sich aus der explizit im PLl-Programm gegebenen Dateivereinbarung ab» wenn er nicht über die TITLE-Option der OPEN-Anweisung bestimmt wird.
Gegebenenfalls muß dieser Name auf sieben Zeichen gekürzt werden.
Der Name der DTF-Tabelle ist in den Jobsteueranweisungen DEFD» TLBL und DLBL (jeweils als
erste Angabe) zu verwenden.
Die Standard-Eingabedatei SYSIN und die Standard-Ausgabedatei SYSPRINT müssen weder im
PLl-Programm vereinbart noch explizit eröffnet werden.
4.5.2. Schließen einer Datei
Jede Datei kann explizit durch eine CLOSE-Anweisung oder implizit durch Beendigung des Jobs»
in dem die Datei eröffnet wurde« geschlossen werden.
Die Anzahl der Puffer für die Verarbeitunng einer Datei kann nur im Programm durch das Attribut BUFFERSCn) in der Dateivereinbaru.ng durch eine DCL-Anweisung angegeben werden. Die
ganze Zahl» welche die Zahl der Puffer angibt» kann nur die Werte 1 und Z annehmen. Standardmäßig wird ein Puffer verwendet Cn=l).
4.5.
Dateiorqanisationsformen in PL1
Die pateiorganisationsform wird in PL1 durch folgende Optionen
bestimmt:
CONSECUTIVE für sequentielle Organisationsform
REGIONALC1) für direkte Organisationsform
REGIONALE) für direkte Organisationsform
INDEXED
für indexsequentielle Organisationsform
des ENVIRONMENT -»Attributs
4.5.1. Sequentielle Dateien
Die sequentielle Organisation ist die Standard-Organisationsform in PL1. Daher braucht in
der Vereinbarung für solche Dateien die CONSECUTIVE-Option im ENVIRONMEJCT-Attribut nicht
explizit angegeben zu werden.
Die sequentielle Organisation ist auch die einzige zulässige Organisationsform für Dateien»
die reihenweise verarbeitet werden. In diesem Fall wird jedoch das Format der Sätze auf dem
Datenträger ignoriert» denn die Daten werden auf der Grundlage der in der Datenliste oder in
der Formatliste enthaltenen Angaben übertragen.
Aufbauen einer sequentiell organisierten Datei
Die Daten werden auf dem Datenträger fortlaufend hintereinander gespeichert. Die Sätze einer
sequentiell organisierten Datei können geblockt oder ungeblockt sein. Für das Aufbauen einer
sequentiell organisierten Datei sind folgende Angaben erforderlich:
- Der Dateiname muß explizit oder implizit mit OUTPUT vereinbart werden.
- Die Satzlänge muß entweder in einer DCL-Anweisung oder in den Jobsteueranweisungen TLBL»
DLBL oder DEFD angegeben werden. Für Dateien mit STREAM OUTPUT kann die Blocklänge auch
durch die LINESIZE-Option der OPEN-Anweisung angegeben werden.
- Wenn das Satzformat nicht implizit festgelegt ist» muß es in einer DCL-Anweisung angegeben
werden.
- Der symbolische Gerätename muß durch den entsprechenden Parameter der Jobsteueranweisung
TLBL» EXTENT oder DEFD angegeben werden (wenn es sich nicht um die Standard-Eingabedatei
SYSIN oder die Standard-Ausgabedatei SYSPRINT handelt)«
Wenn eine sequentiell organisierte Datei mit dem Attribut PRINT vereinbart ist» wird ein
Standard-Steuerzeichen für die Zeilen- und Seitenvorschub-Steuerung auf einem Drucker
zusätzlich bereitgestellt.
Das Steuerzeichen steht
- bei Sätzen fester Länge jeweils im ersten Byte»
- bei Sätzen variabler Länge jeweils nach der Satzlängeninformation
im Ausgabesatz.
Im Normalfall wird als Steuerzeichen das Leerzeichen eingetragen [einzeiliger Vorschub nach
dem Drucken). Auf Grund von PAGE-» SKIP- oder LINE-Option bei der PUT~Anweisung werden dem26
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
entsprechende andere Steuerzeichen verwendet. Wenn eine PRINT-Datei auf Magnetband oder Magnetplatte ausgegeben wird» werden die Steuerzeichen für die eigentliche Drucker-Ausgabe
auch bereitgestellt. Für Nicht-PRINT-Dateien kann die Steuerung für den Drucker oder Stanzer
durch direkte Angabe des entsprechenden Steuerzeichens im ersten Byte des Satzes ermöglicht
werden. Die Auswahl der zu verwendenden Steuerzeichenmenge erfolgt durch die CTLSTD-Option
(Standard-Steuerzeichen) oder CTLMCC-Option (Steuerzeichen im Maschinencode) im ENVIRONMENTAttribut der DCL-Anweisung.
Wird eine Datei mit PRINT-Qption DATA-gesteuert oder LIST-gesteuert ausgegeben> werden die
Ausgabedaten automatisch tabularisiert. Die Tabularisierung wird durch den Modul IOTGRTBB
der PL1-Bibliothek gesteuert.
Aufbau:
I0TGRTB1
IOTGRTBB
CSECT
ENTRY IOTGRTBB
EQU
*i
DC
IOTGRTBB
REL. ADR. DER TAB.-POS.
DC
H '14'
STANDARD FUER PAGESIZE
DC
H '60'
STANDARD FUER LINESIZE
DC
H •120'
RESERVIERT
DC
WO1
ANZAHL DER TABULATOR-POSITIONEN
DC
H '5'
2. TAB.-POSITION
DC
H '25'
3. TAB.-POSITION
DC
H '49'
4. TAB.-POSITION
DC
H '73'
5. TAB.-POSITION
DC
H '97'
6. TAB.-POSITION
DC
H '121'
END
Die Ausgabedaten werden standardmäßig auf die Positionen 1> 25> 49, 73> 97 und 121 ausgerichtet. Für PAGESIZE wird als Standard 60 und für LINESIZE 120 festgelegt. Standardpositionen y die außerhalb der aktuellen Zeilenlänge liegen> werden ignoriert. Die durch den Modul
IOTGRTBB festgelegten Positionen können (mit Ausnahme der Position 1) auch durch Erzeugung
eines Programmabschnitts mit dem Namen PLITABS» welchen der Programmverbinder statt des Moduls IOTGRTBB zum Objektmodul hinzufügt» geändert werden. Es gibt zwei Möglichkeiten> den
Programmabschnitt PLITABS aufzubauen:
1. Im PLl-Programm wird eine EXTERNAL STATIC-Struktur mit dem Namen PLITABS vereinbart. Alle
Strukturelemente haben die Attribute BINARY FIXED(IB). Diese Elemente entsprechen den
Halbwortkonstanten im Modul IOTGRTBB> welche die Werte der einzelnen Tabulatorpositionen
enthalten. Die Werte müssen in aufsteigender Reihenfolge angegeben werden. Ihre maximale
Anzahl ist 255.
Aufbau:
DCL 1 PLITABS EXT
RELADR
PAGESIZE
LINESIZE
ANZAHL
POS2
POS3
P0S4
STATIC,
BIN FIXEDU5)
BIN FIXED(15)
BIN FIXEDU5)
BIN FIXED(15)
BIN FIXEDU5)
BIN FIXEDU5)
BIN FIXEDU5)
INIT(6),
INIT(50),
INITdOO),
INIT(3),
INIT(IO),
INIT(40),
INIT(7O)5
Durch diese DCL-Anweisung werden folgende Standardwerte festgelegt:
PAGESIZE(3)
LINESIZE(100)
Tabulator-Positionen: 1, 10, 40 und 70
2. Zum PLl-Programm wird durch den Programmverbinder ein Assemblermodul
PLITABS, welcher die entsprechenden Standardwerte enthält, hinzugefügt:
Aufbau:
mit dem
Namen
// OPTION LINK
// EXEC ASSEMBLY
PLITABS CSECT
DC
H •61
REL-ADR
DC
H '50'1
PAGESIZE
DC
H •100
LINESIZE
1
DC
K «3
ANZAHL TABULATOR-POSITIONEN
DC
H •10'
2. POSITION
DC
H '40'1
3. POSITION
DC
H «70
4. POSITION
END
/*
EXEC PLI
quellprogramm
EXEC LNKEDT
EXEC
da ten_des_prog ramms
/*
Die in diesem Job definierten Standardwerte sind die gleichen wie die im vorangegangenen
Beispiel definierten Werte.
27
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
Implizit vereinbarte Dateien
Sequentiell organisierte Dateien» die reihenweise verarbeitet werden (Attribut STREAM)»
brauchen im PL1-Programm weder vereinbart noch explizit eröffnet zu werden. Nenn jedoch
nicht die Standard-Eingabedatei SYSIN oder die Standard-Ausgabedatei SYSPRINT verwendet
wird, muß der verwendeten Datei durch die Jobsteueranweisung DEFD (ggf. TLBL oder EXTENT)
ein symbolischer Gerätename zugewiesen werden. Durch diese Anweisungen können auch noch weitere Dateiparameter definiert werden.
Die Standard-Eingabedatei SYSIN ist mit festem Satzformat der Länge 80 Bytes vereinbart. Die
Sätze sind ungeblockt. Mit Hilfe dieser Datei können Sätze aus der Quelltextbibliothek oder
aus der Prozedurbibliothek gelesen werden.
Die Standard-Ausgabedatei SYSPRINT hat ebenfalls festes Satzformat mit der Länge 132 Bytes.
Die Satze sind ungeblockt. Da der Name der DTF-Tabelle einer Datei nur 7 Zeichen lang sein
darf, ist der Name der DTF-Tabelle der Standard-Ausgabedatei auf SYSPINT gekürzt.
Arbeit mit sequentiell organisierten Dateien
Eine sequentiell organisierte Datei kann als
- Eingabedatei» festgelegt durch das Attribut INPUT der DCL- oder OPEN-Anweisung>
- Ausgabedatei, festgelegt durch das Attribut OUTPUT der DCL- oder OPEN-Anweisung»
- Änderungsdatei, festgelegt durch das Attribut UPDATE der DCL- oder OPEN-Anweisung»
eröffnet werden.
Das in der DCL-Anweisung angegebene Attribut wird durch das Attribut der OPEN-Anweisung
überschrieben.
Wenn eine Magnetbanddatei mit den Attributen INPUT BACKWARDS vereinbart ist, werden die Dateisätze in umgekehrter Reihenfolge gelesen.
Das Attribut oder die Option UPDATE kann nur für Dateien verwendet werden, die auf Magnetplatte (Datenträger mit Direktzugriff) gespeichert sind. Die Sätze einer solchen Datei
können dann durch die Anweisungen READ und REWRITE aktualisiert werden.
Beispiele für die Verwendung sequentiell organisierter Dateien
1. Die Daten sind in der RDR-Schlange unter dem Namen DATEN eingetragen und sollen auf ein
Magnetband mit Standardkennsätzen gespeichert werden. Die Datei wird satzweise verarbeitet (Attribut RECORD). Die Sätze haben eine feste Länge und sollen geblockt werden (FB~
Format). Die Satzlänge wird für das Band durch die RECSIZE-Option des ENVIRONMENT Attributs in der DCL-Anweisung angegeben. Blocklänge (BLKSIZE) und symbolische Geräteadresse
(DEVADDR) werden durch die Jobsteueranweisung TLBL angegeben. Die Eingabedatei hat den
Namen CARD» die Ausgabedatei den Namen TAPE.
// BATCH BSP
// OPTION LINK
// ACTION NOMAP
// EXEC PLI
* PROCESS NOMAP3
BSP:
PROC OPTIONSXMAIN)J
DCL CARD RECORD INPUT ENVCF RECSIZEC80) BUFFERSC2))3
DCL CARDREC CHARC80)j
DCL TAPE RECORD OUTPUT ENVCFB RECSIZEC80) BUFFERSC2)),
DCL TAPEREC CHARC80),I I
DCL EOF BITC1) I N I T C O B ) S
OPEN FILECCARD), FILE(TAPE)}
ON ENDFILE(CARD) EOF = ' l ' B i
READ FILECCARD) IlfTOC CARDREC) 5
DO WHILE(-EOF), ,
EOJ:
TAPEREC = CARDREC3
WRITE FILE(TAPE) FROMCTAPEREC), ,
//£
END3
A- "
•""•
r v
CLqSE FILECCARD), FILECTAPE),
END, /* BSP */
/*
// EXEC LNKEDT
// ASSGN SYS150,TAPE
// MOUNT SYS150,'BAND XXXXXX1
// DEFD CARD,DEVADDR=SYS050
// ASSGN SYS050,DATA=DATEN
// TLBL TAPE,»DATENBAND',BLKSIZE=800,FILABL=STD,DEVADDR=SYS150
// EXEC
/&&
2. Es sollen Daten vom Magnetband ausgedruckt werden. Die Daten werden satzweise übertragen.
Sie sind auf dem Magnetband geblockt in Sätzen variabler Länge abgespeichert (VB-Format).
Die RECSIZE-Option des ENVIRONMENT-Attributs» die in der DCL-Anweisung angegeben ist,
legt $ie maximale Satzlänge fest.
Durch die Jobsteueranweisung TLBL wird die symbolische Geräteadresse bestimmt. Die
Blocklänge ist im Datei-Kennsatz HDR2 des Magnetbandes enthalten. Die Daten werden ohne
Änderungen Cbeispielsweise Code-Transformation) auf dem Drucker ausgegeben. Die Satzlänge
für die Druckerdatei wird durch die RECSIZE-Option des ENVIRONMENT-Attributs in der DCLAnweisung festgelegt. Durch die Jobsteueranweisung DEFD wird der Datei die symbolische
Geräteadresse SYSLST zugewiesen. Die Eingabedatei hat den Namen TAPE, die Ausgabedatei
den Namen PRT.
28
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
// BATCH DRUCKEN
// OPTION LINK
// ACTION NOMAP
// EXEC PLI
* PROCESS NOMAP>
HP:
PROC OPTIONSCMAIN)*
DCL TAPE RECORD INPUT ENVCVB RECSIZEU32) BUFFERSC2))i
DCL TAPEREC CHARC132) VARYING*
DCL PRT RECORD OUTPUT ENVCF RECSIZEC132) BUFFERSC2))i
DCL PRTREC CHARC132)}
DCL EOF BIT(l) INITC'O'B)*
OPEN FILECTAPE), FILECPRT)}
ON ENDFILE(TAPE) GO TO EOJ3
READ FILECTAPE) INTOCTAPEREC)}
DO WHILEC-EOF)}
PRTREC = TAPERECi
WRITE FILE(PRT) FRÖMCTAPEREO*
END*
EOJ:
CLOSE FILECTAPE), FILECPRDi
ENDi /* HP */
/*
// EXEC LNKEDT
// ASSGN SYS150,TAPE
// MQUNT SYS150,'BAND YYYYYY1
// DEFD PRT,DEVADDR=SYSLST
// TLBL TAPE,'DRUCKDATEN l,DEVADDR=SYS150,FILABL=STD
// EXEC
/&&
4.5.2. Regional organisierte Dateien CREGIONAL-Dateien)
Regional organisierte Dateien sind dann anzuwenden, wenn der Zugriff zu den Daten auf Grund
eines bestimmten Ordnungsmerkmals erfolgen kann.
Nach der Art der Adressierung unterscheidet man zwei Formen regionaler Organisation:
- REGIONALC1)
CSatzadressierung)
- REGI0NALC3)
CSpuradressierung)
REGI0NALC1)-organisierte Dateien haben stets Sätze fester Länge, die nicht geblockt sind.
REGI0NALC3)-organisierte Dateien können Sätze fester oder Undefinierter Länge besitzen; eine
Blockung ist jedoch nicht möglich.
Regional organisierte Dateien können nur auf einem Direktzugriffsdatenträger (Magnetplatte)
angelegt werden. Der Speicherplatz wird stets in Regionen aufgeteilt, die fortlaufend, relativ zum Dateianfang mit Null beginnend, numeriert sind.
Bei REGIONALC1)-organisierten Dateien ist die größtmögliche Regionsnummer 16777215. Wird als
Regionsnummer eine größere Zahl verwendet, erfolgt eine Umrechnung modulo 16777216.
Bei REGIONALC3)-organisierten Dateien ist die größtmögliche Regionsnummer 32767. Wird als
Regionsnummer eine größere Zahl Verwendet, erfolgt eine Umrechnung modulo 32768.
REGIONAL(1)-Organisation erlaubt genau einen Satz pro Region aufzunehmen> bei REGIONALC3)Organisation hingegen können i.a. pro Region, abhängig von der Satzlänge und Spurkapazität,
mehrere Sätze aufgenommen werden.
Bei REGIONAL(1)-Organisation darf der Satzschlüssel maximal achtstellig sein und nur aus
Ziffern und Leerzeichen bestehen. Der Wert des Satzschlüssels ergibt die Regionsnummer. Der
Satzschliissel wird grundsätzlich nicht aufgezeichnet.
Bei REGIONALC3)-Organisation muß der Satzschliissel n Stellen (n>8) aufweisen. Der Satzschlüssel setzt sich aus dem n-stelligen Vergleichsschlüssel und einem 8-stelligen zweiten
Teil des Satzschlüssels Caus dem sich die Regionsnummer ableitet) zusammen.
Während der Vergleichsschlüssel beliebige Zeichen enthalten kann, sind für den restlichen
Teil des Satzschlüssels nur Ziffern und Leerzeichen erlaubt.
Der Vergleichsschlüssel wird aufgezeichnet.
REGI0NALC2)-0rganisation ist nicht unterstützt.
Aufbauen von regional organisierten Dateien
REGIONAL~Org.anisation setzt formatierte Plattenbereiche voraus.
Formatierung wird gewöhnlich mit dem Hilfsprogramm CLEDISK vorgenommen« Die Steueranweisungen für CLEDISK sind in [6] beschrieben.
Eine Formatierung des Plattenbereichs erfolgt automatisch beim
OUTPUT vereinbarten REGIONAL-Datei.
Aus diesem Grunde sollte eine bestehende REGIONAL-Datei nur als
- SEQUENTIAL INPUT-Datei,
- SEQUENTIAL UPDATE-Datei,
- DIRECT INPUT-Datei oder
- DIRECT UPDATE-Datei
eröffnet werden.
Eröffnen einer
mit RECORD
Zum Ausnahmezustand KEY führt der Versuch,
- einen Satz einer nicht existierenden Region zuzuordnen C0NC0DE=58) oder
- bei einer REGIONALE)-Datei in eine Region mehr Sätze zu schreiben, als die Spurkapazität
zuläßt C0NC0DE=57).
29
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Zugriff auf Datensätze in REGIONAL-Dateien
Bei REGIONALC D-Organisation werden die Sätze über die Regionsnummer aufgesucht und gelesen
oder zurückgeschrieben} bei REGIONAL(3)-Organisation wird der Satz in der durch die Regionsnummer festgelegten Spur auf Grund des Vergleichsschlüssels sequentiell aufgesucht» gelesen»
zurückgeschrieben oder hinzugefügt.
Eine Region heißt "leer"» wenn in sie im Verlauf der Verarbeitung keine Daten übertragen
werden.
REGIONALC1)-Organisation ist nur empfehlenswert> wenn die Menge der bei der Verarbeitung
tatsächlich auftretenden Regionsnummern einigermaßen "dicht" ist. Im Interesse einer effektiven Nutzung von Speicherplatz kann REGIONALC3)- oder INDEXED-Organisation günstiger sein.
REGIONALC1)-0rganisation ist nur dann sinnvoll, wenn das Ordnungsmerkmal der Sätze so beschaffen ist> daß nicht zwei oder mehr Datensätze sich um Aufnahme in die gleiche Region
bewerben. .In einem solchen Fall werden Sätze kommentarlos überschrieben.
Der Algorithmus für die Bestimmung der Regionsnummern zu Sätzen» die gemäß REGIONALC3)Organisation gespeichert werden sollen» muß so beschaffen sein» daß nur so viel verschiedene
Regionsnummern erzeugt werden» wie Spuren (= Regionen) zur Verfügung stehen»
Beispiele zur Arbeit mit REGIONAL-Dateien
1. Es ist eine REGIONALC1)-Datei sequentiell aufzubauen.
Die Satzlänge soll 60 Zeichen betragen« Die Daten für die Sätze
der REGIOMALC1)-Datei
sind jeweils den ersten 60 Zeichen der Sätze einer "Kartendatei11 CEintragung STREG1 in
der RDR-Schlange) zu entnehmen.
ASSGN SYSIPT,SYSRDR
ASSGN SYS005,VOL=AAAAAA
DLBL RG1,REGIONAL1,99/360,DA
EXTENT SYS005,VSN=AAAAAA,DATA,ONE,NUM=5
EXEC CLEDISK
// FILE RG1,A
// PREFORM A,60
// END
OPTION LINK
ACTION NOMAP
EXEC PLI
* PROCESS NOMAP,STlfr,COUNT»FLOW»MARGINIC'I 1 )}
CREATE:
PROC OPTIONSCMAIN)}
DCL 33PR0G CHARC7) VAR INITC•CREATE•),
/*
aaVERS CHARC10) INITC'890616.001'), /*
33FEHLER BIN FIXEDC15) INITCO), 11 /*
aaABBRUCHJTEXT CHARC60) VAR INITC ),/*
PROGRAMM-NAME
PROGRAMM-VERSION
FEHLERANZAHL
NACHRICHT
*/
*/
*/
*/
DCL CADDR, SUBSTR, ONCODE» DATE» TIME) BUILTIN,
DCL SaDATUM CKARC8),
aaZEIT CHARC8);
S>aDATUM = TRANSLATEC'ABfcCDKEF1, l.'ll DATE, '»EFCDAB1)}
aaMESS:
/*
H I L F S P R O Z E D U R
CEN)
*/
PROCCTEXT, STEUERUNG)}
DCL TEXT CHARC40),
DCL STEUERUNG BIN FIXEDC15),
IF STEUERUNG=1
THEN PUT PAGE5
ELSE IF STEUERUNG=2
THEN PUT SKIPC2),
ELSE PUT SKIP;
aOZEIT = T R A N S L A T E C ' A B Ä C D Ä E F 1 ,
'INTIME,
'«ABCDEF ) !
PUT EDITCTEXT, ÖÖPROG, V , aaVERS, aaDATUM,
CA, C0LC41), 3 A, XC1), A, XC1), A, A)j
ENDj /* aaMESS «/
/*
UHR 1 )
V E R E I N B A R U N G E N
*/
DCL RG1 FILE RECORD OUTPUT KEYED
ENVCREGI0NALC1) F BLKSIZEC60)),
DCL QU FILE RECORD INPUT
ENVCCONSECUTIVE F BLKSIZEC80)),
DCL RG1REC
CHARC60)»
QUREC
CHARC80),
DCL SCHL
PIC'C8)9li
DCL EOF
BITC1)
/*
- - -
ALLGEMEINE FEHLER-BEHANDLUNG
ON ERROR
BEGIN5
ON FINISH SYSTEMi
CALL otäMESSC1*** ABNORMALES
PROGRAMM-ENDE ***', 2 ) ,
PUT SKIP EDITC'ONCODE*1, ONCODEC))CA,
FC8))j
PUT SKIP EDITC'FEHLER-ANZAHL^1, aaFEHLER)CA, FC3))J
30
*/
PL1-0C Benutzung shinweise
10/89
D0S-4/ES
PUT SKIP EDITCaaABBRUCHjrEOTHA)}
END}
ON KEY(RGl)
BEGIN5
ION = ONCODE)
PUT SKIP LISTC'KEY-ERROR 11 , ONCODE=', ION)}
STOP}
END 5
ON ENDFILECQU) EOF^'O'Bj
/*
KURZ-INFORMATION UEBER DEN PROGRAMM-START
1
CALL aaMESSC *** PROGRAMM STARTET
PUT SKIP}
/*
H A U P T T E I L
DES
*/
***«,2)}
P R O G R A M M S
*/
OPEN FILECRG1), FILECQU)}
SCHL = 0)
READ FILECQU) INTOCQUREC)}
DO WHILECEOF);
RG1REC * SUBSTRCQUREC,l,60)}
WRITE FILECRG1) FROM(RGIREC) KEYFROMCSCHL);
SCHL = SCHL + 1}
READ FILECQU) INTOCQUREOj
END}
CLOSE FILE(RGl), FILECQU)}
/*
*/
ENDE DES HAUPTTEILS
CALL aaMESSC'*** NORMALES PROGRAMM-ENDE ***', 1)}
END} /* CREATE */
/*
EXEC LNKEDT
DEFD QU,DEVADDR=SYS004
ASSGN SYSOO4,DATA=STREG1
ASSGN SYS005,VOL=AAAAAA
DLBL RG1,REGIONALI,,DA
EXTENT SYS005
EXEC
2. Die im vorhergehenden Beispiel erzeugte REGIONAL(1)-Datei soll
- sequentiell (von Region 25 bis 36)*
- direkt CRegionen 3» 17, 11, 36 und 12)
gelesen werden. Außerdem sollen die Sätze in den Regionen 5, 35 sowie
werden.
11 ausgetauscht
ASSGN SYSIPT,SYSRDR
OPTION LINK
ACTION NOMAP
EXEC PLI
K PROCESS NOMAP,STMT,COUNT,FLOW,MARGINK'I');
VERARB:
PROC OPTIONSCMAIN)}
/*
DCL aaPROG CHARC7) VAR INITC"VERARB1),
aaVERS CHARC10) INITC'890616.001'), /*
aaFEHLER BIN FIXEDC15) INITCO), 11 /*
aaABBRUCH TEXT CHARC60) VAR INITC )5/*
PROGRAMM-NAME
PROGRAMM-VERSION
FEHLERANZAHL
NACHRICHT
*/
*/
*/
*/
DCL CADDR, SUBSTR, ONCODE, DATE» TIME) BUILTIN}
DCL aaDATUM CHARC8),
aaZEIT CHARC8)}
aaDATUM = TRANSLATEC'AB*CD*EF', '.'II DATE, '*EFCDAB')}
H I L F S P R O Z E D U R
aaMESS:
CEN)
*/
PROCCTEXT, STEUERUNG)}
DCL TEXT CHARC4O)}
DCL STEUERUNG BIN FIXEDC15);
IF STEUERUNG=1
THEN PUT PAGE 5
ELSE IF STEUERUNG=2
THEN PUT SKIPC2)}
ELSE PUT SKIP}
aaZEIT = T R A N S L A T E C ' A B Ä C D Ä E F 1 , 'I'IITIME,
I
*ABCDEF')}
PUT EDITCTEXT, aaPROG, V 1 , 33VERS, aaDATUM, aaZEIT, • UHR 1 )
CA, C0LC41), 3 A, XC1), A, X(l^), A, A ) ;
END} /* aaMESS */
/*
V E R E I N B A R U N G E N
*/
DCL RG1 FILE RECORD KEYED
ENVCREGIONALC1) F BLKSIZEC60))}
DCL RG1REC
CHARC60)}
DCL SCHL
PICIC8)91}
31
PL1-0C Benutzungshinweise
/*
10/89
ALLGEMEINE FEHLER-BEHANDLUNG
D0S-4/ES
*/
ON ERKOR
BEGIN}
ON FINISH SYSTEM}
CALL aSJMESSC*** ABNORMALES
PROGRAMM-ENDE * * * ' , 2 ) }
PUT SKIP EDITCONCODE*1, ONCODEOHA,
F(8))}
PUT SKIP EDITC'FEHLER-ANZAHLs1, 33FEHLERHA, F ( 3 ) ) }
PUT SKIP EDITCaaABBRUCH_TEXT)(A)i
END}
/*
KURZ-INFORMATION UEBER DEN PROGRAMM-START
*/
CALL aSJMESSC*** PROGRAMM STARTET ... ***',2)}
PUT SKIP}
/*
- - -
H A U P T T E I L
DES P R O G b A M M S
*/
/* SEQUENTIELLES LESEN DER REGIONALU)-DATEI
OPEN FILECRG1) SEQUENTIAL INPUT}
READ FILE(RGl) IGNOREC25)}
/*
REG. 0 BIS 24
SCHL = 255
DO WHILE(SCHL<37)}
READ FILE(RGl) INTOCRG1REC)}
PUT SKIP LISTCSCHL, RG1REC)}
SCHL = SCHL + 13
END}
CLOSE FILE(RGl)}
PUT SKIPC2)}
*/
/* LESEN AUSGEWAEHLTER SAETZE
OPEN FILECRG1) DIRECT INPUT}
DO SCHL=3, 17, 11, 36, 125
READ FILE(RGl) INTOCRG1REC) KEYCSCHDi
PUT SKIP LISTCSCHL, RG1REC)}
END}
CLOSE FILECRGDi
PUT SKIPC2)}
*/
/* MODIFIZIEREN AUSGEWAEHLTER SAETZE
OPEN FILE(RGl) DIRECT UPDATE)
DO SCHL=5, 35, 17J
READ FILECRG1) INTO(RGIREC) KEY(SCHL)}
PUT SKIP LISTC'MODIFIZIERT: ', SCHL, RGIREOi
RG1REC = *SATZ IN REGION • II SCHL II ' MODIFIZIERT1}
REWRITE FILECRG1) FRO1CRG1REC) KEYCSCHDj
END}
CLOSE FILE(RGl)}
*/
/*
*/
- - -
ENDE DES HAUPTTEILS
*/
CALL aaMESSC*** NORMALES PROGRAMM-ENDE * * * % 1)3
END} /* VERARB */
/*
EXEC LNKEDT
ASSGN SYS000,VOL=AAAAAA
DLBL RG1,REGIONALI,,DA
EXTENT SYSOOO
EXEC
3. Es ist ein als REGIONAL(3)-Datei formatierter Plattenbereich über direkten Zugriff mit
Datensätzen zu füllen. Die Satzlänge soll 40 Zeichen betragen} SchlüsseHänge 12 Zeichen,
davon bilden die ersten vier Zeichen den Vergleichsschlüssel.
Für die Datei sind 32 Spuren (= Regionen) vorzusehen.
Die Daten sind einer "Kartendatei11 CEintragung STREG3 in der RDR-Schlange) zu entnehmen.
ASSGN SYSIPT,SYSRDR
OPTION LINK
ACTION NOMAP
EXEC PLI
* PROCESS NOMAP,STMT,COUNT,FLOW,MARGINI('|')}
CREATE:
PROC OPTIONSCMAIN)}
DCL SaPROG CHARC7) VAR INITC•CREATE1),
/* PROGRAMM-NAME
aaVERS CHARC10) INITC•890616.001•), /* PROGRAMM-VERSION
aaFEHLER BIN FIXEDC15) INIT(O),
/* FEHLERANZAHL
aaABBRUCHJTEXT CHARC60) VAR INITC 1 )}/* NACHRICHT
DCL CADDR, SUBSTR, ONCODE, DATE, TIME) BUILTIN}
DCL aaDATUM CHARC8),
aaZEIT CHARC8)}
1
1
aaDATUM = TRANSLATEC'AB^CD^EF , '.'II DATE, '»EFCDAB )}
32
*/
*/
*/
*/
PL1-0C Benutzungshinweise
33MESS:
/*
10/89
HILFSPROZEDUR
PROCCTEXT, STEUERUNG)!
DCL TEXT CHARC4Q)}
DCL STEUERUNG BIN FIXEDC15)*
IF STEUERUNG=1
THEN PUT PAGE 5
ELSE IF STEUERUNG=2
THEN PUT SKIPC2)*
ELSE PUT SKIPj
1
aaZEIT = T R A N S L A T E C ' A B Ä C D Ä E F ,
CEN)
D0S-4/ES
*/
'I'IITIME, '»ABCDEF1)*
PUT EDIT(TEXT> aaPROG, V , aaVERS, aaDATUM, aaZEIT, ' UHR 1 )
(A, C0LC41), 3 A, X(l), A, X(l), A, A)i
ENDi /* aaMESS */
/*
V E R E I N B A R U N G E N
- - -
*/
DCL RG3 FILE RECORD KEYED DIRECT OUTPUT
ENVCREGI0NALC3) KEYLENGTHC12)
F RECSIZE(40) BLKSIZEC40))}
DCL QU FILE RECORD INPUT
ENVCCONSECUTIVE F BLKSIZEC80) RECSIZEC80))}
DCL RG3REC
CHARC40),
QUREC
CHARC80)}
DCL 1 SCHL,
2 VSCHL
CHAR(<+),
2 REGNR
PIC'C8)9'5
DCL SCHLUE
CHARC12) DEFCSCHDj
/*
ALLGEMEINE FEHLER-BEHANDLUNG
- - -
*/
ON ERROR
BEGIN;
IF 0NCODE=8097
THEN DO*
aaFEHLER = aaFEHLER + lj
REGNR = 31i
VSCHL = 'FEHLS
GOTO W2i
END5
ON FINISH SYSTEM;
CALL SaMESSC1*** ABNORMALES
PROGRAMM-ENDE ***', 2)}
PUT SKIP EDITCONCODEs1» ONCODE())(A, FC8))J
PUT SKIP EDITC'FEHLER-ANZAHL=S 3aFEHLER)CA,
PUT SKIP EDITCaaABBRUCHjrEXTHA)}
ENDj
ON CONVERSION
BEGIN;
REGNR = 31»
VSCHL = 'FEHL'i
GOTO W25
ENDs
ON ENDFILE(QU) GOTO EOPi
/Ä
KURZ-INFORMATION UEBER DEN PROGRAMM-START
*/
1
CALL aäMESSC *** PROGRAMM STARTET ... ***',2)J
PUT SKIPj
/*
ZYK:
W2:
EOP:
H A U P T T E I L
DES P R O G R A M M S
*/
DISPLAYC'FORMATIEREN BEGINNTI')}
OPEN FILECRG3), FILE(QU)5
DISPLAYC'VERARBEITUNGSZYKLUS STARTETl^i
READ FILE(QU) INTOCQUREC)}
SCHLUE =I SUBSTR(QUREC,41,12)J
DISPLAYC SCHLUESSEL=I II SCHLUE);
RG3REC = SUBSTR(QUREC,l,40)3
IF REGNR>30 THEN REGNR = 315
WRITE FILECRG3) FR0MCRG3REC) KEYFR(M1CSCHLUE)i
DISPLAY('SATZ GESCHRIEBEN.•)j
GOTO ZYKi
CLOSE FILECRG3), FILE(QU)5
/*
ENDE DES HAUPTTEILS
*/
CALL aaMESSC'xx* NORMALES PROGRAMM-ENDE ***'> 1)3
ENDi /* CREATE */
/*
EXEC LNKEDT
DEFD QU,DEVADDR=SYSOO^
ASSGN SYS004,DATA=STREG3
ASSGN SYS005,VOL=AAAAAA
DLBL RG3,REGIONAL3,99/360,DA,BLKSIZE=40,RECSIZE=40,KEYLEN=12
EXTEKT SYS005,VSN=AAAAAA,DATA,SQN=l,ONE,NUM=32
EXEC
33
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
4.5.3. Indexsequentielle Dateien
Eine detaillierte Beschreibung der Organisation indexsequentieller Dateien (IS-Dateien) ist
in [31 enthalten.
Bei Anwendung der indexsequentiellen Organisationsform in PL1 können folgende Satzformate
verwendet werden:
FB - geblockte Sätze fester Länge
F - ungeblockte Sätze fester Lange
V - ungeblockte Sätze variabler Länge
Eine indexsequentielle Datei kann sowohl mit sequentiellem Zugriff als auch mit Direktzugriff verarbeitet werden. Durch das Attribut SEQUENTIAL in der DCL- oder OPEN-AnWeisung
wird sequentieller Zugriff erreicht> während das Attribut DIRECT den Direktzugriff festlegt.
Wenn keines dieser Attribute angegeben ist? wird die Datei sequentiell verarbeitet.
Dateien mit indexsequentieller Organisationsform müssen implizit oder explizit mit den Attributen RECORD und KEYED vereinbart werden. Im ENVIRONMENT-Attribut muß die Option INDEXED
sowie die Option für das Satzformat angegeben werden. Die Blocklänge (BLKSIZE)» Satzlänge
(RECSIZE), Länge des Schlüssels (KEYLENGTH) sowie Schlüsselposition CKEYLOC) können im
ENVIRONMENT-Attribut oder in der Jobsteueranweisung DLBL angegeben werden.
Festlegungen zu
- der Anzahl der unbenutzten Eintragungen pro Indexintervall beim Anlegen
(CYLOFL=n),
- der Satzanzahl im Datenintervall geblockter Dateien £NRECDS=n) und
- Festlegung des Arbeitsmodus LOAD für die IS-Datei (Dateitypangabe ISC)
sind nur in der DLBL-Jobsteueranweisung möglich.
In der folgenden Übersicht sind alle ausführbaren
ner IS-Datei verwendet werden, zusammengefaßt.
einer IS-Datei
Anweisungen> die für die Verarbeitung ei-
Anweisungen für die Verarbeitung einer IS-Datei
SEQUENTIAL-Zugriff
DIRECT-Zugriff
I Anweisung
I-
INPUT OUTPUT UPDATE INPUT OUTPUT UPDATE
OPEN
FILE(name) [>open_optn]>
READ
READ
READ
READ
FILE(name);
FILE(name) INTO(bezugn);
FILE(name) INTOCbezugn) KEYCausdr))
FILE(name) INTOCbezugn) KEYTOCausdr)5
WRITE
FILE(name) FROM(bezugn) KEYFROM(ausdr)j
*
*
x
REWRITE FILE(name) FROM(bezugn)}
REWRITE FILE(name) FROM(bezugn) KEY(ausdr)3
DELETE
FILE(name) KEY(ausdr)j
CLOSE
FILECname);
*
*
*
Erläuterungen:
name
Dateiname
bezugn
Bezugnahme (Satzvariable)
ausdr
Ausdruck (Schlüssel)
Verarbeitung einer IS-Datei anhand eines Sekundärindex
Für eine ungeblockte IS-Datei können mit Hilfe des Programms BLDSIND (siehe [3]) bis zu 15
Sekundärindexe aufgebaut werden. Jeder Sekundärindex wird durch eine Nummer (1 bis 15) bzw.
einen Namen identifiziert> der Primärindex hat die Nummer 0.
Die Verarbeitung einer IS-Datei, die Sekundarindexe besitzt, kann anhand eines beliebigen
Index erfolgeni standardmäßig wird die Datei anhand ihres Primärindex verarbeitet.
Der Anwender kann durch Angabe des INDEX-Parameters in der Jobsteueranweisung DLBL einen
anderen Index für die Verarbeitung der zugehörigen IS-Datei festlegen.
Innerhalb des Programms kann durch Aufruf des Eintrittspunktes SECIND ein Wechsel des Verarbeitungs-Index vorgenommen werden.
Aufruf von SECIND:
CALL SECIND(AI, A2)}
AI
gibt die FILE-Konstante (DTF-Name der Datei) an.
A2
gibt den Namen des Sekundärindex an, der als aktueller Index benutzt werden soll.
Die angegebenen Variablen müssen im PL1-Programm folgendermaßen vereinbart sein:
DCL AI CHAR(7)5
DCL A2 CHAR(8)>
DCL SECIND ENTRY OPTIONS(ASSEMBLER, INTER)}
Der als Ergebnis des SECIND-Aufrufs festgelegte Verarbeitungs-Index ist bis
SECIND-Aufruf für die Datei oder bis zum Abschließen der Datei gültig.
zum nächsten
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Beispiele zur Arbeit mit IS-Dateien
1. Aufbau einer IS-Datei
Zum Aufbau einer IS-Datei ISAH werden Daten von Lochkarten eingegeben? diese müssen aufsteigend nach dem Schlüssel sortiert sein. Der Parameter CYLOFL sichert den Speicherplatz
für Eintragungen im Indexbereich> damit später weitere Sätze hinzugefügt werden können.
Die Daten werden in den Plattenbereich ISDAT, der durch die Jobsteueranweisung EXTENT
bereitgestellt wird* eingetragen.
ASSGN SYSIPT,SYSRDR
OPTION LINK
ACTION NOMAP
EXEC PLI
* PROCESS NOMAP,STMT,COUNT,FLOW^MARGINIC1I1)}
CREATE:
PROC 0PTI0NSCMAIN)5
DCL aaPROG CHARC7) VAR INITC•CREATE»),
/*
aaVERS CHARC1O) INITC'890619.001•), /*
aaFEHLER BIN FIXEDC15) INITCO), 11 /*
aaABBRUCHJTEXT CHARC60) VAR INITC )}/*
PROGRAMM-NAME
PROGRAMM-VERSION
FEHLERANZAHL
NACHRICHT
*/
*/
*/
*/
DCL CADDR, SUBSTR, ONCODE, DATE> TIME) BUILTINi
DCL aaDATUM CHARC8),
aaZEIT CHARC8))
ATUM
TRANSLATEC'ABKCDKEFS ".'11 DATE, ^EFCDAB 1 )}
/*
H I L F S P R O Z E D U R
CEN)
*/
PROCCTEXT> STEUERUNG)5
DCL TEXT CHARC40)*
DCL STEUERUNG BIN FIXEDC15)*
IF STEUERUNG^1
THEN PUT PAGE)
ELSE IF STEUERUNG=2
THEN PUT SKIPC2)*
ELSE PUT SKIP 5
= TRANSLATE C'AB*CD*EF'»
MTIME, '»ABCDEF')5
PUT EDITCTEXT, aaPROG, V 1 , 33VERS, a
aaDATUM,
M
EIT ' UHR 1 )
CA> C0LC41), 3 A> XC1), A, XC1), A, A ) ;
EHDi /* aSMESS */
V E R E I N B A R U N G E N
/*
*/
DCL ISDAT FILE RECORD SEQUENTIAL OUTPUT KEYED
ENVCINDEXED
F BLKSIZEC8O) RECSIZEC8O)
KEYLENGTHC3)
KEYLOCCl))i
DCL 1 ISSATZ BASEDCPTR),
2 KEY3 CHARC3),
2 KEY33 CHARC33),
2 KEY15 CHARC15),
2 BER21 CHARC21),
2 KEY08 CHARC8)i
DCL BER80 CHARC8O)}
DCL EOF
BITC1) INITC'O'B);
/*
ALLGEMEINE FEHLER-BEHANDLUNG
*/
ON ERROR
BEGIN*
ON FINISH SYSTEMS
CALL 33MESSC1***
ABNORMALES PROGRAMM-ENDE ***•, 2)i
PUT SKIP EDITCIONC(M)E=I, ONCODEC))CA, FC8))i
PUT SKIP EDITC'FEHLER-ANZAHL^, aaFEHLER)(A, FC3))5
PUT SKIP EDITCaaÄBBRUCH TEXDCA)}
ENDj
ON ENDFILECSYSIN) EOF='llBi
/*
- - -
KURZ-INFORMATION UEBER DEN PROGRAMM-START
*/
CALL aaMESSC1*** PROGRAMM STARTET ... xxx',2)l
PUT SKIP5
/*
H A U P T T E I L
DES P R O G R A M M S
*/
PTR = ADDRCBER80)3
OPEN FILECISDAT)*
GET FILECSYSIN) EDIT(BER80)(A(80))j
ZYKL:
DO WHILEC-EOF);
PUT FILECSYSPRINT) EDITCKEY3* BER80KSKIP, A, XC3), A)l
WRITE FILECISDAT) FROMCISSATZ) KEYFR0MCKEY3)i
GET FILECSYSIN) EDITCBER80)CA(80))i
END;
35
PL1-0C Benutzungshinweise
/*
10/89
ENDE DES HAUPTTEILS
D0S-4/ES
*/
CLOSE FILECISDAT)*
CALL aatiESSC1*** NORMALES PROGRAMM-ENDE ***•, l)j
ENDi /* CREATE, 1989.06.19 */
/*
EXEC LNKEDT
ASSGN SYS005>VOL=AAAAAA
DLBL ISDAT,'IS-DAT«,1,ISC,CYLOFL=1,BLKSIZE=80,RECSIZE=80,KEYLEN=3
EXTENT SYS005,VSN=AAAAAA,INDEX,ONE,NUM=3
EXTENT SYS005,VSN=AAAAAA,DATA,ONE,NUM=20
EXEC
... (SYSIN-Eingabedaten)
/*
***
SEKUNDAERINDEXE AUFBAUEN
ASSGN SYS004,V0L=AAAAAA
DLBL FFF,1IS-DAT',,ISE
EXTENT SYS004
EXEC BLDSIND
ISFILE FFF,FIXUNB,MODE=BUILD
INDEX KEYL0C=4,KEYLEN=33,NUMBER=l,NAME=PP1,DUPKEY=YES
INDEX KEYLOC=40,KEYLEN=15,NUMBER=2,NAME=PP2,DUPKEY=NO
INDEX KEYL0C=73,KEYLEN=8,NUMBER=3»NAME=PP3>DUPKEY=N0
END
2. Aktualisieren einer IS-Datei
Im ersten Teil wird die ISAM-Datei für den direkten Zugriff eröffnet. Zum Schreiben eines
Satzes wird die WRITE-Anweisung verwendet, zum Überschreiben eines Satzes die REWRITEAnweisung und schließlich zum Löschen die DELETE-Anweisung.
Im zweiten Teil des Programms wird die Datei für sequentiellen Zugriff eröffnet und die
gesamte Datei gelesen und ausgedruckt. Auftretende Fehler, die fehlerhafte Schlüssel betreffen, werden durch die ON KEY-Einheit behandelt, welche die fehlerhaften Schlüssel
ausdruckt.
ASSGN SYSIPT,SYSRDR
OPTION LINK
ACTION NOMAP
EXEC PLI
* PROCESS NOMAP,STMT,COUNT,FLOW»MARGINIC1!')}
VERARB:
PROC OPTIONS(MAIN)5
DCL MPROG CHARC7) VAR INIT('VERARB1),
/*
33VERS CHARC10) INITC•890619.001'), /*
33FEHLER BIN FIXEDC15) INITCO),
/*
aaABBRUCH TEXT CHARC60) VAR I N I T C ) } / *
PROGRAMM-NAME
PROGRAMM-VERSION
FEHLERANZAHL
NACHRICHT
*/
*/
*/
*/
DCL CADDR, SUBSTR, ONCODE, DATE, TIME, TRANSLATE) BUILTIN}
DCL 33DATUM CHARC8),
aaZEIT CHARC8)}
aaDATUM = T R A N S L A T E C ' A B Ä C D K E F 1 , •. •II DATE, 'KEFCDAB')}
H I L F S P R O Z E D U R
CEN)
*/
aaMESS:
PROCCTEXT, STEUERUNG))
DCL TEXT CHARC4O)}
DCL STEUERUNG BIN FIXEDC15)}
IF STEUERUNG=1
THEN PUT PAGE}
ELSE IF STEUERUNG=2
THEN PUT SKIPC2)}
ELSE PUT SKIP}
aaZEIT = TRANSLATEC'AB*CD*EF', ':•IITD1E, •«ABCDEF•)|
PUT EDITCTEXT, aaPROG, V , 33VERS, aaDATUM, aaZEIT, ' UHR1
CA, C0LC41), 3 A, X(l), A, XC1), A, A)}
END} /* aaMESS */
/*
V E R E I N B A R U N G E N
DCL ISDIR FILE RECORD DIRECT UPDATE KEYED
ENVCINDEXED
F BLKSIZEC8O) RECSIZEC8O)
KEYLENGTHC3)
KEYLOCC1))}
DCL SI CHARC1),
NI BIN FIXEDC15)}
DCL DIJBLC4) CHARC7)
INITC'ISDIR ', »ISDIRl S 'ISDIR2
DCL A2C4) CHARC8)
INITC'PRIMARY ', "PP1
', 'PP2
*/
'PP3
DCL TEST BITCDi
DCL TEXTC6) CHARC13) INITC»GELESEN:',
'GELOESCHT:1,
'AKTUALISIERT:S 'HINZUGEFUEGT:1,
•LESENCSCHL.-GR.)'
•LESEN(SQL):',
DCL CHAR1 C H A R U ) ,
CHAR16 CHARC16)i
36
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
DCL 1 ST_CHAR16 DEFCCHAR16),
2 CHAR2 CHARC2),
2 FILL1 CHARC1),
2 CHAR43 CHARC3),
2 FILL2 CHARC1),
2 CHAR83 CHARC3);
DCL CHAR72 CHARC72)j
DCL 1 ISSATZ,
2 KEY3 CHARC3),
2 KEY33 CHARC33),
2 KEY15 CHARC15),
2 BER21 CHAR(Zl),
2 KEY08 CHARC8);
DCL BER80 CHARC80)*
DCL ABER21
CHARC2D5
DCL ANTWORT
CHARCDi
DCL CHAR3
CHARC3);
DCL SECIND
ENTRY OPTIONSCASSEMBLER INTER)3
/*
ALLGEMEINE FEHLER-BEHANDLUNG
*/
ON ERROR
BEGINi
ON FINISH SYSTEMJ
CALL aaMESSC 1 *** ABNORMALES PROGRAMM-ENDE * * * ' , 2 ) 5
PUT SKIP EDIT( I ONCODE= I , ONCODEOMA, F C 8 ) ) 5
PUT SKIP EDIT( l FEHLER-ANZAHL= i » SttFEHLERMA, F C 3 ) ) J
PUT SKIP EDITCaKDA^RUCH TEXT)CA)i
EKD
KEYCISDIR)
BEGINj 1
IF TESTs O'B
THEN DO5
DISPLAYC'SATZ MIT
I I C H A R 3 I | • " NICHT VORHANDEN1
GOTO ZYKL;
ENDj
ELSE DO;
DISPLAYC'EINFUEGEN BERECHTIGT )j
GOTO M2i
END>
END,
ON CONDITIONCHELP)
BEGINj
DISPLAYC '
------—..
DISPLAYC'KOMMANDO-FORMAT: XX SSSSSS TTTITr1))
DISPLAYC '
DISPLAYC"
XX=L1
L E S E N CEINES SATZES)1)*
CSATZGRUPPE)')|
DISPLAYC•
XX=L2
DISPLAYC'
XX=L3
CAB SATZ ...)')*
DISPLAYC'
XX=D
L 0 E S C HEN1})
DISPLAYC'
XX=U
A K T U A L I S I E 1R E N')j
DISPLAYC'
XX=A
H I N Z U FÜEGEN ))
DISPLAYC
DISPLAYC ENDE DER ARBEIT: STOP 1 )*
DISPLAYC
END;
ON CONDITIONCDSPLY)
BEGIN;
DISPLAYC'KEY3=
• | KEY3)i
DISPLAYC»KEY33=
' | KEY33);
§
DISPLAYC KEY15= ' | KEY15)j
DISPLAYC'BER21= ' II BER21 II •
<—')i
DISPLAYC'KEY08= • II KEYO8)i
ENDi
ON
/»
- - -
KURZ-INFORMATION UEBER DEN PROGRAMM-START
- - -
*/
- - -
*/
1
CALL 33MESSC *** PROGRAMM STARTET ... « » S Z J j
PUT SKIP5
/*
H A U P T T E I L
DES P R O G R A M M S
OPEN FILECISDIR)}
TEST = 'O'Bi
ZYKL:
LESEN:
SIGNAL CONDITIONCHELP)»
DISPLAYC'KOMMANDO/SCHLUESSEL EINGEBEN: * II
•FORMAT: XX SSSSSS TATATA" )
REPLYCCHAR16)i
1
IF SUBSTRCCHAR16» 1,4) ='STOP
THEN GO TO ENDEi
IF SUBSTRCCHAR16»1,5)=IINDEX1
THEN DO5
SI = SUBSTRCCHAR16,6,1)i
NI = SIj
CALL SECINDCDLBLCNI), A2CNI))l
37
PL1-0C Benutzungshinweise
10/89
IF NI=0
THEN DO;
DISPLAYCPRIMARY-INDEX
...')i
DISPLAYC 'SCHLUESSEL?1 ) REt>LYCKEY3)i
READ FILECISDIR) KEYCKEY3) INTOCISSATZ)i
SIGNAL CONDITIONCDSPLY)i
GO TO ZYKLi
END;
ELSE IF NI=1
THEN DOi
DISPLAYC'SECONDARY-INDEX
1 ...')i
DISPLAYC'SCHLUESSEL?§) REPLYCKEY33)i
READ FILECISDIR) KEYCKEY33) INTOCISSATZ)i
SIGNAL CONDITIONCDSPLY)i
GOTO ZYKLi
END;
* ELSE IF NI=2
THEN DO;
DISPLAYC'SECONDARY-INDEX
2 ...');
DISPLAYC'SCHLUESSEL?1)
REPLYCKEY15)j
READ FILECISDIR)
KEYCKEY15)
INTOCISSATZ)i
SIGNAL CONDITIONCDSPLY)i
GO TO ZYKLi
ENDi
ELSE IF NI=3
THEN DOi
DISPLAYC' ... 3 ...»)i
DISPLAYC'SCHLUESSEL?')
REPLYCKEY08)i
READ FILECISDIR)
KEYCKEY08)
INTOCISSATZ)i
SIGNAL
CONDITIONCDSPLY)i
GO TO ZYKLi
END;
ELSE GOTO ZYKLi
ENDi
IF CHAR2='L1'
THEN DO;
KEY3 = CHAR«;
CHAR3 = KEY3i
READ FILECISDIR) KEY(KEY3) INTOCISSATZ)i
SIGNAL CONDITIONCDSPLY);
IT = 1;
GO TO Mli
ENDi
IF SUBSTRCCHAR2,1,1)="DI
THEN DO;
KEY3 = CHAR43i
CHAR3 = KEY3i
DELETE FILECISDIR) KEYCKEY3)i
DISPLAYCTEOTCIT) II KEY3)i
GO TO Mli
ENDi
IF SUBSTRCCHAR2,1,1)='U'
THEN DOi
KEY3 = CHAR43;
CHAR3 = KEY3i
READ FILECISDIR) KE^CKEY3) INTOCISSATZ)i
DISPLAYC *A L T:
-—>' I BER21 II
M001:
DISPLAYC'NEUEN TEOT EINGEBEN •) REPLYCABER21)i
DISPLAYC «N E U:
-—•>" I ABER21);
DISPLAYC «AENDERUNG
RICHTIG?1) REPLYCAJCTWORDi
I
IF ANTWORT-='J THEN GOTO JIOOlj
BER21 = ABER21}
REWRITE FILECISDIR) FRÖMCISSATZ) KEYCKEY3)i
SIGNAL CONDITIONCDSPLY)i
IT = 3i
GO TO Mli
ENDi
IF SUBSTRCCHAR2»l,l)=iAI
THEN DO;
TEST = 'l'Bi
READ FILECISDIR) INTOCISSATZ) KEYCKEY3)i
DISPLAYC'SATZ SCHON VORHANDEN - AKTUALISIEREN|')i
TEST = 'O'Bi
GO TO LESENi
M2:
TEST = 'O'Bi
DISPLAYC'KEY3=')1 REPLYCKEY3)i
DISPLAYC'KEY33S ) REPLYCKEY33)i
DISPLAYC'KEY15=') REPLYCKEY15)i
DISPLAYC'BER21«') REPLYCBER21))
38
DOS-4/ES
PL1-0C Benutzungshinweise
Hl:
ENDE:
10/89
DOS-4/ES
DISPLAYCKEYOS* 1 ) REPLY(KEY08),
WRITE FILE(ISDIR) FROM(ISSATZ) KEYFR0M(KEY3)s
SIGNAL CQNDITION(DSPLY)J
IT = 4*
GO TO Mli
END$
SIGNAL CONDITION(HELP)»
GO TO LESENj
PUT FILECSYSPRINT) EDIT(TEXT(IT), KEYS, STRINGdßSATZ))
(SKIP, A(15), A, X(3), A)i
GO TO ZYKL3
/*
ENDE DES HAUPTTEILS
CLOSE FILE(ISDIR)*
CALL aaMESSC'*** NORMALES PROGRAMM-ENDE ***', 1)$
ENDj /* VERARB */
*/
/*
EXEC LNKEDT
ASSGN SYS005,VOL=AAAAAA
DLBL ISDIR,'IS-DAT1,,ISE,BLKSIZE=80,RECSIZE=80,KEYLEN=3
EXTENT SYS005
DLBL ISDIR1,'IS-DAT1,,ISE,KEYLEN=33,INDEX=PP1
EXTEKT SYS005
DLBL ISDIR2,1IS-DAT1,,ISE,KEYLEN=15,INDEX=PP2
EXTENT SYS005
DLBL ISDIR3,'IS-DAT',,ISE,KEYLEN=8,INDEX=PP3
EXTENT SYS005
EXEC
fr»5.4. Nutzung der Fernverarbeitungsmethode TAM in PL1-Programmen
Im D0S-4/ES ist für die Arbeit mit Terminals die Zugriffsmethode TAM (Telecommunication
Access Method) bestimmt. Sie wird durch Teile des Betriebssystems realisiert, die ständig im
virtuellen Speicher sind. Arbeitsweise und Funktionen von TAM sind in [71 beschrieben.
TAM arbeitet als selbständige System-Task, die die Bedienung aller Geräte asynchron und mehr
oder weniger automatisch durchführt» so daß alle laufenden Jobs gleichzeitig ihre Dienste
(Absenden und Empfangen von Nachrichten) in Anspruch nehmen können.
Ein Terminal kann sein
- ein lokal angeschlossenes Gerät (beispielsweise Bildschirm, Schreibmaschine, Typenradoder Mosaikdrucker),
- ein über Start-Stopp-, Fernschreib- oder Synchronleitung fernangeschlossenes Gerät oder
- ein fernangeschlossener Kleinrechner oder Rechner.
Die Bedienerkonsole der EDVA ist stets ein TAM-Terminal.
Die Menge aller Terminals, mit denen TAM arbeiten soll, bildet das "physische Netz" (Konfiguration von TAM).
Der Zugang der Anwendungs- und Systemprogramme zu den Terminals erfolgt über ein "logisches
Netz", innerhalb dessen die Terminals zu Gruppen zusammengefaßt werden können. Das logische
Netz hat eine Baumstruktur mit End- und Gruppenknotens jeder Endknoten entspricht einem Terminal. Jeder Knoten des logischen Netzes hat einen bis zu vier Zeichen langen Knotennamen,
über den die Verbindungsaufnahme erfolgt.
Ein Terminal kann zwei unterschiedliche Funktionen erfüllen:
a) Das Terminal kann als System- oder Nebenkonsole arbeiten, d. h. als Gerät, von dem der
Bediener Jobsteueranweisungen und Kommandos eingibt und auf der das Betriebssystem seine
Nachrichten ausschreibt. In diesem Fall arbeitet das Terminal nicht direkt mit einem bestimmten NutzerProgramm zusammen, vielmehr mit dem Betriebssystem.
Nur über die PL1-Anweisung
DISPLAY(zeichenkettenvariable) EREPLY(bezugnähme)]*
ist eine bescheidene Kommunikation zwischen Terminal und Nutzerprogramm gegeben (Konsolinterface). Voraussetzung dafür ist, daß für den Auftrag eine Nebenkonsole definiert ist
und daß dieses Terminal im Zustand "LOGON SYSTEM" ist.
b) Das Terminal kann mit dem Nutzerprogramm zusammenarbeiten. Diese Funktion kann man mit
Terminals aller Typen erfüllen. Das Terminal übergibt (sendet) dann beim Aufruf des Anwenderprogramms diesem Programm irgendeine Nachricht bzw. empfängt eine Nachricht, die
von diesem Programm gesendet wird» und schreibt oder druckt sie aus.
Die übergebenen Nachrichten haben meist den Charakter von Daten (logischen Sätzen).
TAM ermöglicht folgende Formen der Zusammenarbeit (interfaces) zwischen Anwenderprogramm und
Terminal:
- Konsol-Interface
Auf einem beliebigen Terminal vom Konsoltyp kann geschrieben werden und können Nachrichten
empfangen werden. Es ist kein Anknüpfen und Beenden der Verbindung notwendig.
Mit der PLl-DISPLAY-Anweisung ist es nur möglich, mit der Systemkonsole oder der eigenen
Nebenkonsole zu kommunizieren.
- Datei-Interface
Im Programm ist eine gewöhnliche sequentielle Datei zu vereinbaren. Diese Datei ist vor
der Programmausführung durch die Jobsteueranweisungen
// ASSGN SYSnnn,TAM
// TCC dateiname,knotenname,OPTION=ACQ
einem geeigneten/gewünschten Knoten des logischen Netzes zuzuordnen. Im PLl-Programm wird
dann auf die übliche Weise mit den Anweisungen OPEN, READ, WRITE und CLOSE der Algorithmus
für die Kommunikation geschrieben.
39
PL1-0C Benutzungshinweise
15.
10/89
D0S-4/ES
Verbindung zwischen PL1-Prozeduren und Assembler-Routinen
Dieser Abschnitt befaßt sich mit der Verbindung zwischen PL1-Prozeduren und Routinen» die in
Assemblersprache geschrieben sind.
Aufrufe von Assembler-Routinen durch PL1-Prozeduren sind nur dann erforderlich» wenn die
Assemblersprache bessere Möglichkeiten für die Realisierung eines Teilprogramms bietet oder
diese Teile nicht in PL1 programmiert werden können.
Aufrufe von PLl-Prozeduren durch Assembler-Routinen können dann erforderlich werden» wenn
ein Programmteil in PL1 übersichtlicher und schneller zu programmieren ist.
Zum Verständnis des Aufbaus solcher gemischtsprachiger Programme sind grundlegende Kenntnisse über die PL1-Umgebung erforderlich. Um PL1-Programme erfolgreich zu verarbeiten» müssen
bestimmte Bedingungen eingehalten werden» welche für den Aufbau und die Erhaltung der
PL1-Umgebung erforderlich sind. Die PL1-Umgebung muß aufgebaut werden» bevor eine Assemblerroutine erstmalig eine PLl-Prozedur ruft. Andererseits muß die PL1-Umgebung bei Aufruf
einer Assemblerroutine durch eine PL1-Prozedur so gerettet werden» daß sie vor Rückkehr in
die PL1-Prozedur wieder bereitgestellt werden kann. Zu ihrer Aufbewahrung ist folgendes erforderlich:
a) Retten der Reg isterinhalte»
b) Bereitstellen eines neuen Rettebereiches zum Laden seiner Adresse im Register 13»
c) Erhalten des Inhalts von Register 12 Cnur wenn für Programmunterbrechungen» die bei
Ausführung der Assembler-Routine auftreten» die PL1-Fehlerbehandlungsroutine verwendet
werden soll).
5.1.
PL1-Umgebung
Die PL1-Umgebung stellt die Gemeinsamkeit der Bedingungen dar» die erfüllt sein müssen» um
ein PL1-Programm ausführen zu können. Sie wird bei der Übersetzung vorbereitet» indem in die
PL1-Prozedur der sogenannte Blockprolog und Blockepilog sowie verschiedene Steuerblöcke eingefügt werden. Sie wird bei Aufruf der Prozedur durch Routinen der residenten und der transienten PL1-Bibliothek aufgebaut. Diese Umgebung umfaßt Maßnahmen zur Speicherplatzverwaltung» Unterbrechungsbehandlung sowie Aufgaben- und Dateiverwaltung. Hierbei wird eine Vielzahl von PL1-spezifischen Steuerblöcken aufgebaut.
5.2.
Ablaufsteuerung bei Aufruf eines PLl-Proaramms
Der Aufruf eines PL1-Programms verläuft in folgenden Schritten:
1. Das System oder das rufende Programm übergibt die Steuerung an einen Eingangspunkt des
Moduls PLISTART. Solch ein Modul wird bei der Übersetzung jeder externen Prozedur erzeugt.
Er enthält die drei Eingangspunkte:
PLISTART, PLICALLA» PLICALiB.
2. Von dem Programmabschnitt PLISTART wird die Steuerung an einen Eingangspunkt des Moduls
I0TGVUI der residenten PLl-Bibliothek übergeben. Die nachfolgende Übersicht zeigt die
Zuordnung der Eingangspunkte.
Programmabschnitt PLISTART
Modul IOTGVUI
PLISTART
IOTGVUIA
PLICALLA
IOTGVUIB
PLICALLB
IOTGVUIC
3. Der Modul IOTGVUI ruft die Transientphase IOTGTRAN auf und übergibt die Steuerung ihrem
Modul IOTGVIN. Dieser Modul hat folgende Funktionen:
a) Verarbeitung der PLl-Optionen für die Programmausführung
b) Bereitstellen des Anfangsspeicherbereichs (ISA)
c) Initialisierung des ProgrammVerwaltungsbereichs» der eine Reihe von PLl-Steuerblocken
enthält (wie z.B. TCA, TIA, PRV und weitere)
d) Aktivierung der PLl-Fehlerbehandlung (durch STXIT-Makro mit dem Parameter PC bzw. AB)
Durch die Ausführung dieser Aktionen ist die PLl-Umgebung aufgebaut»
an den residenten Modul IOTGVUI zurückgegeben.
die Steuerung wird
4. Der Modul IOTGVUI entnimmt dem (einzigen bzw. ersten vom Programmverbinder verarbeiteten)
Programmabschnitt mit dem Namen PLXMAIN die Adresse des Eingangspunktes und übergibt diesem die Steuerung.
Der PLl-Optimierungscompiler erzeugt für jede mit "OPTIONS (MAIN)11 programmierte externe
Prozedur einen Programmabschnitt mit dem Namen PLIMAIN» der die V-Adresse des primären Eingangspunktes der Prozedur enthält. Soll das Programm in einem anderem Eingangspunkt aufgerufen werden» muß dem Programmverbinder ein spezieller Modul mit dem Namen PLIMAIN angegeben
werden» welcher die V-Adreßkonstante des gewählten Eingangspunktes enthält. Dieser Modul muß
in der Programmverbinder-Eingabe allen übrigen Auftreten des Programmabschnitts PLIMAIN vorangehen.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Der Modul kann beispielsweise folgende Form haben:
PLIMAIN CSECT
DC
DC
END
VCname des eingangspunktes)
F'O' ~
~
Das aufrufende Programm kann den Eingangspunkt des PL1-Programms dynamisch durch Änderung
des Wertes der V-Adreßkonstante im Programmabschnitt PLIMAIN bestimmen. Ist beim Verbinden
des Programms kein Programmabschnitt PL DIAIN vorhanden» d.ti. es existiert keine Hauptprozedur, dann wird der Programmabschnitt PLZMAIN aus der Modulbibliothek verwendet. Beim Aufruf
des Programms wird eine Fehlernachricht ausgegeben und die Steuerung an das rufende Programm
bzw. das Betriebssystem zurückgegeben.
5.3.
Programmabschnitt PLISTART
Der Programmabschnitt PLISTART hat drei Eingangspunkte:
1) Eingangspunkt PLISTART
Diesen Eingangspunkt kann entweder das Betriebssystem dder eine Assembler-Routine benutzen. Der PLl-Prozedur können jedoch keine Parameter übergeben werden* Nach Ausführung der
PL1-Prozedur wird die Steuerung stets an das Betriebssystem übergeben (d.h. die Programmausführung ist beendet).
2) Eingangspunkt PLICALLA
Der Eingangspunkt PLICALLA kann für den Aufruf einer PL1-Prozedur durch eine AssemblerRoutine mit oder ohne Parameter verwendet werden. Die PLl-Prozedur fordert soviel Arbeitsspeicher an> wie sie benötigt. Nach Ausführung der PLl-Prozedur geht die Steuerung
an die aufrufende Routine zurück.
3) Eingangspunkt PLICALLB
Der Eingangspunkt PLICALLB kann für den Aufruf einer PLl-Prozedur durch eine AssemblerRoutine mit oder ohne Parameter verwendet werden. Die PLl-Optionen werden von dei,j Assembler-Routine festgelegt und ebenso auch Größe und Adresse des Arbeitsspeichers* Nach
Ausführung der PLl-Prozedur geht die Steuerung an die aufrufende Routine zurück, Die Form
der Parameterliste ("parmlist") für diesen Fall des Aufrufs einer PLl-Prozedur wird detaillierter im Abschnitt ''Verwendung des Eingangspunktes PLICALLB"j der im Abschnitt 5*6®
enthalten Ist» beschrieben.
5.4.
Dynamischer Speicherbereich
Der dynamische Speicherbereich enthält Informationen über die PLl-Umgebung. Beim Aufruf einer PLl-Prozedur (und eines BEGIN-Blockes) wird solch ein DSA als Speicherbereich für V;:
waltungszwecke und dynamisch zu speichernde Daten (AUTOMATIC-Öaten und Zwischenergebnisse)
aufgebaut, Der DSA beginnt mit einem Registerrettebereich and wird über Register 13 adressiert. Er kann im Anfangsspeicherbereich (ISA) oder in einem anderen dynamisch angeforderten
Speicherbereich enthalten sein. Enthält ein PLl-Programm eine Assembler-Routine» welche von
der PLl-Prozedur aufgerufen wird* so muß diese bestimmte DSA-Konventionen zwecks Bewahrung
der PLl-Umgebung einhalten. Dies kann auf verschiedene Weise erreicht werden» beispielsweise
auch in einem statisch bereitgestellten Rettebereich ohne Verwendung des dynamischen Speicherbereichs. Die Auswahl der Art zur Bereitstellung eines DSA hängt von der Art des gegenzeitigen Aufrufs von PL1-Prozeduren und Assembler-Routinen ab.
Folgende Eintragungen in den Registerrettebereich bzw. DSA sind erforderlich;
a) Wenn die Assembler-Routine nicht die PL1 -Fehlerbehandlung benutzt und keine PLI-P
aufruft»
dann müssen die beiden ersten Bytes des DSA bzw. Rettebereichs den Inhalt
X'00001 haben. Nur der Inhalt der von der Assembler-Routine geänderten Register ist zu
retten. Für die Fehlerbehandlung ist durch einen STXIT-Makro mit den Parametern PC bzw.
AB eine eigene Routine zu aktivieren. Vor der Rückkehr ist die Aktivität der PL1-Routine
für die Fehlerbehandlung wiederherzustellen. Die Länge des DSA oder Rettebereichs muß
mindestens 80 Bytes betragen. Die Assembler-Routine kann weder rekursiv aufgerufen noch
parallel verwendet werden.
b) Wenn die Assembler-Routine die PL1-Fehlerbehandlung benutzt und daher weitere PL1-Prozeduren aufrufen
kann» müssen die beiden ersten Bytes des DSA oder Rettebereichs den Inhalt
X'80001 haben. Alle Registerinhalte sind zu retten. Die Adresse des DSA der aufrufenden
PLl-Routine wird in das 2. Wort des Assembler-DSA bzw. Rettebereichs eingetragen* Die
minimale DSA-Lange beträgt 88 Bytes» wobei die Bytes 87 und 88 den Inhalt X'91C0® haben
müssen. Dieser Wert gibt den Standardstatus derjenigen ON-Bedingung an? deren Status in
PL1-Prozeduren geändert werden kann. Die Adresse des PL1 -Bibliotheksarbeitsspeichers LNS.die ab dem 73. Byte im PL1-DSA enthalten ist» muß auf die gleiche Position im AssemblerDSA bzw. Rettebereich übertragen werden. Die Adresse für den Anfang des nächsten aufzubauenden DSA muß im 20. Wort eingetragen werden. Bei einem statischen Rettebereich wird
diese aus dem DSA der rufenden PLl-Prozedur entnommen. Zur Bereitstellung eines DSA für
die Assembler-Routine kann das PLl-Programm für die Speicherverwaltung benutzt werden.
Die erste freie Adresse wird (durch Addition der DSA~Länge zur ursprünglichen ersten
freien Adresse) berechnet und an die entsprechende Stelle gespeichert. Bei Einhaltung
dieser Bedingungen ist die PL1-Fehlerbehandlung einschließlich des Aufrufs von ON-Einhei"
ten in der Assembler-Routine wirksam.
In der Assembler-Routine können Daten im DSA gespeichert werden» und zwar ebenso wie ..
PL1-Prozeduren ab dem 117. Byte des DSA. Die DSA-Lange muß ein Vielfaches von 8 Bytes
sein. Die Anfangsadresse des DSA der Assembler-Routine ist mit dem 20. Hort des DSA des*
rufenden PLl-Prozedur identisch.
PL1-0C Benutzungshinweise
5.5>
10/89
D0S-4/ES
Aufruf von Assembler-Routinen durch PL1-Prozeduren
Nicht rekursive und nicht parallel verwendbare Assembler-Routinen
In diesem Fall kann der Rettebereich statisch angelegt werden. Soll die Assembler-Routine
die PL1-Fehlerbehandlung benutzen» so müssen die im Abschnitt 5.4. unter b) angegebenen Bedingungen eingehalten werden. Die Rückwärtsverkettung der DSA und Rettebereiche ist nicht
erforderlich» jedoch für eine leichtere Orientierung und für das Auffinden der DSA im Speicherausdruck zu empfehlen.
Einfaches Beispiel für den Aufruf einer nicht rekursiven und nicht parallel verwendbaren
Assembler-Routine mit statischem Rettebereich:
ASSGN SYSIPT »SVSRDR
OPTION LINK
CATALR BSP1P
EXEC PLI
PLI1:
PROC 0PTI0NS(MAIN)|
DCL ASSI ENTRY OFT IONS(ASSEMBLER INTER)}
DCL (2X1 > ZK2) CHAR(4)}
ZK1 = 'ZKl'j
ZK2 = 'ZKZ",
CALL ASS1CZK1, ZK2)*
PUT DATA(ZK1, ZK2)I
END, / * 1>LI1 * /
/*
CATALR BSP1A
EXEC ASSEMBLY
TITLE 'BSP1, PLI -> ASS1
ASSI
START
SAVE (14,12),,*
BALR 10,0
USING *,10
LA
5,RETTE
ST
13,4(3)
VERKETTUNG DER RETTEBEREICHE
ST
3,8(13)
LR
13,3
NEUER RETTEBEREICH
* START DER EIGENEN ROUTINE
L
3,0(1)
UEBERNAHME DER PARAMETERADRESSEN
L
4,4(1)
XC
0(4,3),0(4)
VERTAUSCHEN DER WERTE
XC
0(4,4)>0(3)
XC
0(4,3),0(4)
* ENDE DER EIGENEN ROUTINE
L
13,4(13)
ERNEUERN DES PLI-DSA
RETURN (14,12)
ERNEUERN DER REGISTER, RUECKKEHR
RETTE
DS
18F
STATISCHER RETTEBEREICH
END
ASSI
/*
EXEC CATMOD
OPTION CATAL
PHASE BSP1,*
INCLUDE BSP1P
INCLUDE BSP1A
ENTRY
EXEC LNKEDT
EXEC BSP1
Rekursive und parallel verwendbare Assembler-Routine
Bei jedem Aufruf einer solchen Routine muß ein DSA aufgebaut werden. Dafür kann die
PLI-Speicherüberlauf-Routine benutzt werden, um Speicherplatz dynamisch zu erhalten, wenn
der Anfangsspeicherbereich (ISA) nicht ausreicht. Bei Beendigung eines Aufrufs der Assembler-Routine wird in Übereinstimmung mit den PLI-Konventionen dieser Speicherplatz freigegeben und die Steuerung an die rufende PLI-Routine zurückgegeben.
Einfaches Beispiel für den Aufruf einer rekursiv und parallel verwendbaren Assembler-Routine
mit einem DSA, der unter Verwendung der PLI-Speicherüberlauf-Routine aufgebaut wird:
, ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP2P
EXEC PLI
PLI2:
PROC OPTIONS(MAIN) RECURSIVEi
DCL ASS2 ENTRY(BIN FIXED(31), BIN FIXED(31))
OPTIONS(ASSEMBLER INTER)i
DCL (AI INIT(l), A2 INIT(2)) BIN FIXED(31)i
PUT LISTCA1 = •, AI, 'A2 = ', A2) SKIP(3);
CALL ASS2(A1, A2)J
STOPj
PLI2A: EKTRY(X1, X2);
DCL (XI, X2) BIN FIXED(31)j
XI = XI + 1$
X2 = X2 • 10»
PlfT LISTCX1 = S XI, *X2 = •» X2) SKIPi
CALL ASS2(X1, X2)$
ENDj /* PLI2 */
/*
Ptl-OC Benutzungshinweise
10/89
CATALR BSP2A
EXEC ASSEMBLY
TITLE 'BSP2, PL1 -> ASS1
ASS2
START
SAVE
BALR 10,0
USING
10
LR
9,1
* START AUFBAU DES NEUEN DSA
LA
0,96
L
1,76(13)
ALR
0,1
CL
0,12(12)
BNH
ASS2JA
L
15,116(12)
BALR 14,15
ASS2JA
ST
0,76(1)
ST
13,4(1)
MVC
72(4,1),72(13)
LR
13,1
MVC
0(2,13),=X'8000'
MVC
86(2,13),=X'91C0'
* ENDE DES AUFBAUS DES NEUEN DSA
LM
4,5,0(9)
CLI
3(4),16
BNL
ASS2END
L
6,0C4)
L
7,0(5)
AR
6,7
ST
6,0(0,4)
* AUFRUF PLI-PROGRAMM
LR
1,9
SR
5,5
L
15,=V(PLI2A)
BALR 14,15
ASS2END L
13,4(13)
RETURN (14,12)
END
ASS2
/*
EXEC CATMOD
OPTION CATAL
PHASE BSP2,*
INCLUDE BSP2P
INCLUDE BSP2A
ENTRtf
EXEC LNKEDT
EXEC BSP2
D0S-4/ES
RETTEN DER PL1-REGISTER
RETTEN DER ADRESSE DER PARAMETERLISTE
LAENGE DES NEUEN DSA
NAB (NEXT AVAILABLE BYTE)
NEUES NAB
KANN DSA AUFGEBAUT HERDEN ?
JA
NEIN, PL1-SPEICHERUEBERLAUF-ROUTINE
RUFEN
NEUE NAB-ADfcESSE IN NEUEN DSA
REUECKKETTUNG DER DSA
KOPIEREN DER LWS-ADRESSE
ADRESSE DES NEUEN DSA
DSA-KENNZEICHEN
STANDARD-WERT DER ON-BEDINGUNGEN
PARAMETER-ADRESSEN
BEENDIGUNG DER REKURSION
ADRESSE DER PARAMETERLISTE
PL1-KONVENTIONEN
ERNEUERN DES PL1-DSA
ERNEUERN DER. REGISTER, RUECKKEHR
Assembler-Routine, die Register 12 verwendet
In einer Assembler-Routine, welche die PL1-Fehlerbehandlung verwendet, darf der Inhalt des
Registers 12 nicht verändert werden. Muß Register 12 verwendet werden, dann ist durch die
Assembler-Routine eine eigene Fehlerbehandlung, die durch einen STXIT-Makro mit dem Parameter PC bzw. AB aktiviert wird, bereitzustellen. Vor der Rückkehr in die rufende PL1-Prozedur
muß die PL1-Fehlerbehandlung reaktiviert werden.
Einfaches Beispiel für den Aufruf einer Assembler-Routine mit eigener Fehlerbehandlung:
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP3P
EXEC PLI
PLI3:
PROC OPTIONS(MAIN)}
DCL ASS3 ENTRY OPTIONS(ASSEMBLER INTER)}
DCL ARG CHARC50) INITC'TEST ASS SPIE ODER TEST STAE')*
DCL AKTION CHAR(9)}
/* AKTION: "TEST SPIE11, "TEST STAE" */
DISPLAYS EV 1 • >ä 1
AKTION = 'TEST SPIE ?
PUT DATA(ARG, AKTION)}
/* TEST SPIE */
CALL ASS3(AKTION, ARG)3
PUT SKIP(2)5 DISPLAYCEV
21
1
AKTION = 'TEST STAE }
PUT DATA(ARG, AKTION)}
CALL ASS3(AKTION,
ARG)}
/* TEST STAE */
DISPLAYCEV 31)}
END} /* PLI3 */
/*
CATALR BSP3A
EXEC ASSEMBLY
TITLE
ASS3
START
SAVE
BALR
USING
LA
ST
•BSP3, PL
(14,12),,
12,0
*,12
13,RETTE
1,PARADR
-> ASS1
RETTEN DER PLI-REGISTER
VERWENDUNG VON REGISTER 12
ALS BASISREGISTER
RETTEN DER ADRESSE DER PARAMETERLISTE
43
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
* AKTIVIERUNG DER FEHLERBEHANDLUNG
LA
0,5PIER
A(SPIEHROUTINE)
LA
1 ,SPIES
A( RETTEBEREICH)
STXIT PC,co),(i)
-SPIE-
LA
0,STAER
ACSTAE-ROUTINE)
LA
1,STAES
ACRETTEBEREICH)
STXIT AB,(O),(1)
-STAEL
4,PARADR
CLC
4(0,9),=CL9lTEST SPIE1
BE
ASS3SPIE
CLC
4(0,9),=CL9lTEST STAE1
BE
ASS3STAE
B
ASS3END
* TEST SPIE
ASS3SPIE SR
7,7
MVC
— PROGRAMMFEHLER —
0(4,7), RETTE +4
WIEDERHERSTELLEN PLl-SPIE
ASS3END STXIT PC
WIEDERHERSTELLEN PL1-STAE
STXIT AB
RETURN (14,12)
WIEDERHERSTELLEN DER REGISTER-INHALTE
* TEST STAE
ASS3STAE CDLOAD ZYX
LADEN EINER NICHTEXISTENTEN PHASE
B
ASS3END
ERFOLGREICH AUSGEFUEHRT
l l
RETTE
DC
20F 0
STATISCHER RETTEBEREICH
* ROUTINE ZUR BEHANDLUNG EINES PROGRAMMFEHLERS
SPIER
DS
OH
SPIE EXIT ROl/TINE
USING
L
3,PARADR
A(PARMLIST)
L
4,4(3)
A(PARAMETER)
MVC
0(50,4),SPKON
MSPRG 'SPIE ROUTINE AUSGEFUEHRT1
COMTY
EXIT PC
RUECKKEKR HINTER DEN UNTERBRECHUNGSPUNKT
* ROUTINE ZUR BEHANDLUUNG EINER ANORMALEN BEENDIGUNG
STAER
DS
OH
USING *,15
L
3,PARADR
L
4,4(3)
MVC
0(50,4),SPKON2
MSPRG •STAE ROUTINE AUSGEFUEHRT1
COMTY
EXIT AB
PARADR
DS
F
SPKON
DC
CL50(ASS SPIE ROUTINE AUSGEFUEHRT'
DC
SPK0N2
CL50'ASS STAE ROUTINE AUSGEFUEHRT1
DS
22F
SPIES
DS
22F
STAES
LTORG
ASS3
END
/*
EXEC CATMOD
OPTION CATAL
ACTION REL
PHASE BSP3,*
INCLUDE BSP3P
INCLUDF. BSP3A
ENTRY
EXEC LNKEDT
EXEC BSP3
5.6.
Aufruf von PL1-Prozeduren durch Assembler-Routinen
Einfache Fälle des Aufrufs einer PL1-Prozedur
Aufruf einer PL1-Prozedur, wobei der
(ohne Parameter) aufgerufen wird:
Programmabschnitt PLISTART im
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP4P
EXEC PLI
PLI4:
PROC OPTIONS(MAIN)*
PUT LISTCPLI4 AUSGEFUEHRT1)*
END} /* PLI4 */
/*
CATALR BSP4A
EXEC ASSEMBLY f
TITLE BSP4, ASS -> PLI1
ASS4
START
BALR 10,0
USING «,10
L
15,=V(PLISTART)
PLI-AUFRUF WIE DURCH DAS BS
BR
15
END
ASS4
/*
44
Eingangspunkt PLISTART
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
EXEC CATMOD
OPTION CATAL
PHASE BSP4,*
INCLUDE BSP4P
INCLUDE BSP4A
ENTRY ASS4
EXEC LNKEDT
EXEC BSP4
Aufruf einer PL1-Prozedur» wobei der
(mit Parametern) aufgerufen wird:
Programmabschnitt PLISTART im
Eingangspunkt PLICALLA
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP5P
EXEC PLI
PLI5:
PROCdl, 12) OPTIONSCMAIN)*
H = I2i 12 = 5}
PUT LISTC'Il = ', II, '12 = '
ENDj /* PLI5 */
/*
CATALR BSP5A
EXEC ASSEMBLY
TITLE •BSP5, ASS -> P
ASS5
START
BALR 10,0
USING *,10
LA
LA
L
BALR
PARADR
PARM1
PARM2
RETTE
/*
EOJ
DC
DC
DC
DC
DC
DS
END
13,RETTE
1,PARADR
15,=VCPLICALLA)
14,15
ADRESSE DER PARAHETERLISTE
AUFRUF DER PLI-PROZEDUR,
WELCHE DURCH DEN PROGRAMMABSCHNITT
PLIMAIN FESTGELEGT IST
A(PARMl)
X'80 1
AL3CPARM2)
H'l 1
H" 2'
18F
ASS5
EXEC CATMOD
OPTION CATAL
ACTION REL
PHASE BSP5>*
INCLUDE BSP5P
INCLUDE BSP5A
ENTRY ASS5
EXEC LNKEDT
EXEC BSP5
Ändern des Eingangspunktes der aufgerufenen PLI-Prozedur:
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP6P
EXEC PLI
PLI6:
P R O C d l , 12) OPTIONSCMAIN)5
PUT LISTCI1, 12) SKIPj
STOPj
PLI6A: ENTRYt13, 14)}
PUT SKIP L I S T C I 3 = ', 13, '14 = ••
END* /* PLI6 */
CATALR BSP6A
EXEC ASSEMBLY
TITLE 'BSP6, ASS -> PLI 1
ASS6
START
BALR 10,0
USING
LA
13,RETTE
LA
1,PARADR
L
4,=VCPLIMAIN)
L
NEUER EINGANGSPUNKT IN PLI
5,=V(PLI6A)
UND SPEICHERN ON PLIMAIN
ST
5,0(4)
AUFRUF VON PLI6A
L
15,=V(PLICALLA)
BALR 14,15
EOJ
PARADR DC
A(PARMl)
DC
X*80'
AL3CPARM2)
DC
H'3 11
PARM1
DC
H'4
PARM2
DC
18F
RETTE
DS
ASS6
END
45
PLl-OC Benutzungshinweise
10/89
D0S-4/ES
EXEC CATMOD
OPTION CATAL
PHASE BSP6,*
INCLUDE BSP6P
INCLUDE BSP6A
ENTRY A5S6
EXEC LNKEDT
EXEC BSP6
Die Definition des Eingangspunktes der PL1-Prozedur ist Bestandteil der Assembler-Routine:
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP7P
EXEC PLI
PLI7:
PROCj
PUT LISTCPLI7 AUSGEFUEHRT'))
END} /* PLI7 */
/*
CATALR BSP7A
EXEC ASSEMBLY
TITLE »BSP7, ASS -> PLI1
ASS7
START
ElfTRY PLIMAIN
PLIMAIN
RETTE
BALR
USING
LA
SR
L
BALR
EOJ
DC
DS
END
10,0
*,10
13,RETTE
1,1
15,=VCPLICALLA)
14,15
VCPLI7)
18F
ASS7
KEINE PARAMETER
PLI-AUFRUF
FESTLEGUNG DER AUFGERUFENEN ROUTINE
/*
EXEC CATMOD
OPTION CATAL
PHASE BSP7,*
INCLUDE BSP7P
INCLUDE BSP7A
ENTRY ASS7
EXEC LNKEDT
EXEC BSP7
shrfacher Aufruf und Aufruf mehrerer PLI-Prozeduren
Für den mehrfachen Aufruf und den Aufruf mehrerer PLI-Prozeduren ist nicht der Eingangspunkt
PLISTART, sondern nur der Eingangspunkt PLICALLA oder PLICALLB zu verwenden. Sollen durch
eine Assembler-Routine mehrere PLI-Prozeduren oder dieselbe Routine mehrfach aufgerufen werden, ist es vorteilhaft, die PLI-Umgebung nur einmal, und zwar vor dem.ersten Aufruf einer
PLI-Prozedur, aufzubauen. Diese Verfahrensweise ist aus Effektivitätsgründen und insbesondere wegen des impliziten Schließens der PLI-Dateien zu wählen.
Ist es erforderlich, die PLI-Umgebung für jeden Aufruf einer PLl-Prozedur erneut aufzubauen,
so ist für jeden Aufruf einer der Eingangspunkte PLISTART, PLICALLA oder PLICALLB zu verwenden.
Mehrfacher Aufruf einer PLl-Prozedur, wobei die PLI-Umgebung vor dem ersten Aufruf aufgebaut
wird:
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP8P
EXEC PLI
PLI8:
PROC OPTIONSCMAIN)}
DCL ASS8A ENTRYCCHARC30))}
ON UNDERFLOH PUT SKIP LISTC'UNDERFLOW TEST1)} 1
ON ENDFILE(SVSIN)
PUT SKIP LISTC'ENDFILE TEST );
CALL ASSSACTEXT 1 )}
END} /* PLI8 */
* PROCESS CATALCBSP8PA 1 )}
PLI8A1: PROCCTEXT)}
DCL TEXT CHAR(30)i
SIGNAL UNDERFLOW;
PUT PAGE LIST(TEXT)}
PUT SKIPC3)}
RETURN}
PLI8A2: ENTRY(A) RETURNSCDEC FLOATU))}
DCL I STATIC BIT(l) INITC'l'B)*
IF I
THEN DO}
SIGNAL ENDFILE(SYSIN);
I • 'O'B*
PUT SKIP LISTC'INIT WERT 1 , A)}
END}
ON ENDFILECSYSIN) GO TO IPTEND}
GET LIST(B)}
RETURNCA+B)5
PH-OC Benutzung sh in weise
10/89
D0S-4/ES
IPTEND: PUT SKIP(3) LISTCEOF SYSIPT 1 )*
RETURN(O);
ENDj /* PLI8A1 */
* PROCESS CATALC'BSP8PB')$
PLI8B1: PROC(ERGB)5
PUT SKIP LIST(ERGB)*
RETURN5
PLI6B2: ENTRYJ
PITT SKIP(3) LIST('AUSGABE-ENDE')3
SIGNAL UNDERFLOWs
ENDi /* PLI8B1 */
/*
CATALR BSP8A
EXEC ASSEMBLY
TITLE 'BSP8, ASS -> PL11
ASS8
CSECT
ENTRY ASS8A
SAVE (14,12),,*
BALR 10,0
USING *,10
LA
3,RETTE
ST
13,4(3)
ST
LR
13,3
SR
KEINE PARAMETER
15,=V(PLICALLA)
L
VORANGEHENDER PL1-AUFRUF
(AUFBAU DER PL1-UMGEBUNG)
BALR 14,15
L
13,4(13)
L
14,12(13)
LM
1,12,24(13)
BR
14
DC
CASS8A '
DC
ALK7)
ASS8A
EQU
SAVE (14,11)
BALR 10,0
USING *,10
LA
5, RETTEA
NEUER RETTEBEREICH
ST
13,4(5)
VERKETTUNG DER RETTEBEREICHE
ST
5,8(13)
I
l
MVI
0(5),X 80
DSA-KENNZEICHEN
MVC
76(4,5),76(13)
A(NAB)
MVC
72(4,5),72(13)
A(IWS)
MVC
86(2,5),=Xi91C0l
STD-WERT FUER ON-BEDINGUNGEN
LR
13,5
SR
5,5
PL1-KONVENTIONEN
PL1-AUFRUF
L
15,=V(PLI8A1)
(UNDERFLOW TEST)
BALR 14,15
ASS8L1
LA
1,LIST1
PL1-AUFRUF
L
15,=V(PLI8A2)
BALR 14,15
(ENDFILE SYSIN)
LE
2,ERGB
l l
CE
2,=E 0
BNH
ASS8L2
LA
1,LIST2
L
15,=V(PLI8B1)
PL1-AUFRUF
BALR 14,15
ERGEBNISDRUCK
B
ASS8L1
ASS8L2
SR
1,1
PL1-AUFRUF
L
15,=V(PLI8B2)
(ENDE DES AUSDRÜCKENS)
BALR 14,15
L
13,4(13)
WIEDERHERSTELLEN DES PL1-DSA
RETURN (14,11)
WIEDERHERSTELLEN DER REGISTER, RUECKKEHR
IQSAR DC
1
OD'O
DC
>
XL(IQSARLEN)
001
RhTTfc
DC
RETTEA
DC
22Fi0l
A(ARG)
LIST1
DC
LIST2
DC
ARG
DC
E'678'
ER«
DC
E'O1
LTORG
END
ASS8
/*
EXEC CATMOD
OPTION CATAL
ACTION REL
PHASE BSP8,*
INCLUDE BSP8A
INCLUDE BSP8P
INCLUDE BSP8PA
INCLUDE BSP8PB
ENTRY ASS8
EXEC LNKEDT
EXEC BSP8
55, 76, 121, 233, 687, -22, -102, -678, -999
/*
47
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Verwendung des Eingangspunktes PLICALLB
Bei Verwendung des Eingangspunktes PLICALLB muß die Assembler-Routine
Adresse einer Argumentliste» die folgenden Aufbau hat» eintragen:
in Register 1
die
I. Hort:
2. Worts
3. Wort:
Adresse der Argumentliste für die PL1-Prozedur
Adresse des Wortes» in welchem die ISA-Länge gespeichert ist
Anfangsadresse des ISA (Die Bereitstellung des Speicherbereichs sichert die
Assembler-Routine» die Adresse muß auf eine Doppelwortgrenze verweisen. )
-5. Wort! Angaben zur Parallelverarbeitung von Programmen» im D0S-4/ES immer Null
6. Wort:
Adresse eines Wortes» in welchem Informationen Über PL1-Optionen gemäß folgender
Obersicht codiert sind:
Bit
0
1
2
3
5
6
7
8
9
Option
REPORT
NOREPORT
SPIE
NOSPIE
STAE
NOSTAE
COUNT
N0C0UNT
FLOW
NOFLOW
Die Bits 1 0 - 3 1 bleiben unbenutzt.
Die Worte 2 bis 5 sind wahlweise benutzbar» Worte am Ende können weggelassen1 werden» unbenutzte Worte haben den Inhalt Null. Das letzte Wort muß im ersten Byte X'80 Cals Kennzeichen für Listenende) enthalten.
Beispiel:
ASSGN SYSIPT,SYSRDR
OPTION LINK
CATALR BSP9P
EXEC PLI
PLI9:
PROC(A) OPTIONS(MAIN),
DCL A BIN FIXEDC31),
PUT LISTC'ISASIZE = ', A ) |
END, /* PLI9 */
/*
CATALR BSP9A
EXEC ASSEMBLY
TITLE •BSP9, ASS -> PL11
ASS9
START
BALR 10»0
USING *,10
LA
13, RETTE
ASS-RETTEBEREICH
L
0»ISASIZE
ISA-LAENGE
GETVIS ADDRESS=AISA,LENGTH=C0) ISA-BEREITSTELLUNG
*
ISA-ADRESSE IN AISA GESPEICHERT
LA
1»PARADR
ADRESSE DER PARAMETERLISTE
L
15,=V(PLICALLB)
PLI-AUFRUF
BALR 14,15
L
0»ISASIZE
FREEVIS ADDRESS=AISA,LENGTH=(0) ISA-FREIGABE
EOJ
LTORG
RETTE
DC
2OF'O'
PARADR
DC
ACPL1ARGL)
1. WORT: PL1-PARAMS
2. WORT: PLICALLB-PARAMS
A(ISASIZE)
DC
3. WORT: ADRCISA)
AISA
DC
A(0)
ACO)
DC
A(0)
DC
X'80'
6. WORT: OPTION
DC
AL3( OPTION)
DC
1
PL1ARGL DC
X'80
AL3CISASIZE)
DC
1
ISASIZE DC
F'16384
OPTION
DC
X196800000'
REPORT, NOSPIE, NOSTAE, COUNT, FLOW
END ASS9
/*
EXEC CATMÖD
OPTION CATAL
ACTION REL
PHASE BSP9,*
INCLUDE BSP9P
INCLUDE BSP9A
ENTRY ASS9
EXEC LNKEDT
EXEC BSP9
PL1-0C Benutzungshinweise
5.7,
10/89
D0S-4/ES
Argumente und Parameter
Für die zwischen PL1-Prozedur und Assembler-Routine übergebene Parameterliste gelten folgende Konventionen:
1) Register 1 enthält die Adresse der Parameterliste, die Parameterliste enthält die Adressen der Daten, nie die Daten selbst. Kenn keine Argumente übergeben werden> muß Register
1 den Inhalt Hüll haben.
2) Jede Adresse der1 Parameterliste ist ein Wort (4 Bytes) lang» die letzte Adresse enthält
im I. Byte X'80 (Listenabschluß).
3) Jede Adresse zeigt auf die von beiden Routinen gemeinsam zu verwendenden Daten oder, den
PL1-Forderungen entsprechend, auf einen PL1-Steuerblock. Das hängt von der Art der Daten
ab und im Fall des Aufrufs einer Assembler-Routine davon> ob in der CALL-Anweisung die
Option ASSEMBLER verwendet wurde. Diese Option vereinfacht die Ärauntentübergabe* denn sie
bewirkt, daß die Adressen der Parameterliste nie auf PL1-Steuerblocke, sondern direkt auf
die Daten zeigen. Dabei werden die Programmsteuerdaten selbst auch als PL1-Steuerblocke
angesehen.
Parameter beim Aufruf einer Assembler-Routine
a) Bei Verwendung der Option ASSEMBLER:
Die Option ASSEMBLER vereinfacht wesentlich die Problemdatenadressierung in der Assembler-Routine, falls nichtarithmetische, nichtskalare Daten übergeben werden. Jedoch kann
in diesem Fall zum Aufruf der Assembler-Routine kein Funktionsaufruf verwendet werden.
Dieser kann jedoch durch eine CALL-Anweisung (bzw. eine CALL-Option im INITIAL-Attribut)
mit einem zusätzlichen Argument, welches das Ergebnis darstellt, simuliert werden. Für
Programmsteuerdaten werden immer die Adressen von Steuerblocken, die die Daten selbst
darstellen, in der Parameterliste übergeben. Für Daten, die nicht an einer Bytegrenze
beginnen, wird die Adresse des Bytes übergeben, welche das 1. Bit der Daten enthält (z.B.
für UNALIGNED-Bitkettenfeider). Für VARYING-Kettendaten wird die Adresse des vor den Daten stehenden 2-Byte-Längenpräfixes übergeben.
b) Ohne Verwendung der Option ASSEMBLER:
Die Adressierung der Daten geschieht in PL1 gemäß folgender Übersicht:
1 Datentyp
Art des Parameters
übergebene Adresse zeigt auf
den Anfang von
einfache arithmetische Variable
Daten
arithmetische Feld/Struktur-Variable
Gruppierungsanzeiger
Ketten- oder AREA-Variable
Zeiger oder Beschreiber
ENTRY-Konstante/Variable
Steuerblock
EVENT-Variable
Daten
FILE-Konstante/Variable
DCLCB
LABEL-Konstante/Variable
Steuerblock
1
POINTER- oder OFFSET-Variable
Daten (Adresse in Nortlänge)
!
TASK-Variable
Daten
1
I
1 ProblemI daten
i
1
Programmsteuerdaten
i
Parameter beim Aufruf einer PL1-Prozedur
Entsprechend dem Typ, der in der PL1-Prozedur für die Parameter festgelegt wird, müssen
Adressen von Problemdaten oder von PL1-Steuerblöcken übergeben werden. Steuerblöcke müssen,
falls sie nicht von in der Aufruffolge vorangehenden PL1-Prozeduren zur Verfügung gestellt
werden, von der Assembler-Routine aufgebaut werden. Das wird umgangen» wenn nur einfache
arithmetische, skalare Parameter übergeben und die eigentliche Beschreibung der Parameter in
PL1 über BASED-Variablen erfolgt, deren Steuerblöcke in PL1 aufgebaut werden.
Beispiel für die Parameterübergabe an eine PL1-Prozedur:
X:
PROC(Y)i
DCL A U O ) CHAR(12) BASEDCZ)}
Z=ADDR(Y)J
PUT LIST(A)3
Gemäß PL1-Standard erhält Y die Attribute DEC FL0AT(6).
Variable A Bezug genommen.
Auf den Parameter wird nur über die
PL1-0C Benutzungshinweise
6_s
10/89
D0S-4/ES
Optimierung und effektive Programmierung
Die in diesem Abschnitt enthaltenen Hinweise zur
stets berücksichtigt werden.
Gestaltung effektiver
Programme sollten
Die Effektivität eines Programms wird von
- dem zugrunde gelegten Verarbeitungsalgorithmus Cvon dem i.a. die CPU- und Speicheranforderungen abhängen)?
- der Dateiorganisation>
- den verwendeten Sprachmitteln sowie
- der bei der Übersetzung vorgenommenen Optimierung
bestimmt«
6.1,
Hinweise für die Gestaltung effektiver Programme
Die Wichtigkeit der Auswahl des Verarbeitungsalgorithmus und der Organisation des Programms
besteht darin> daß sie bestimmenden Einfluß auf die Effektivität des Programms haben kann
und daß die Optimierungsmöglichkeiten des Compilers die Auswirkungen dieser Auswahl kaum
beeinflussen können.
Bei der Entwicklung größerer Programme erweist es sich als günstig, Teilfunktionen> die sich
gut abgrenzen lassen> durch einzelne externe Prozeduren zu realisieren.
Die Vorteile einer Modularisierung bestehen unter anderem darin> daß
- die Prozeduren selbst und der Prozeß ihrer Programmierung überschaubar bleiben,
- eine gewisse Parallelität der Programmentwicklung möglich wird,
- Änderungen erleichtert und dabei Neuübersetzungen des gesamten Programms vermieden werden
(die Übersetzungszeit eines Programms erhöht sich im allgemeinen nicht direkt proportional
zur Anweisungszahl)»
- Speicherplatz gespart wird, weil nicht alle AUTOMATIC-Variablen des gesamten Programms
gleichzeitig verfügbar sein müssen.
Die Möglichkeiten für die Optimierung des Programms durch den Compiler sind günstiger» wenn
das zu übersetzende Programm eine bestimmte Größe nicht überschreitet. Eine vollständige
globale Optimierung kann vom Compiler nur dann vorgenommen werden» wenn
- die Zahl der Variablen und die Zahl der Ablaufeinheiten nicht zu groß wird sowie
- nicht zusätzliche Basisregister notwendig werden.
Eine Modulgröße von etwa 200 bis 600 PL1-Anweisungen für eine externe Prozedur ist zu empfehlen.
Der Programmierer sollte beachten> daß mit der Vielfalt der verwendeten Sprachelemente auch
der Speicherplatzbedarf des Programms wächst» da die Anzahl der benötigten Bibliotheksunterprogramme steigt. Nachteilig ist auch eine unbegründete Vielfalt von Datentypen, da sie die
Anzahl der Datenumwandlungen ansteigen lassen kann» wenn Daten verschiedener Typen in
Ausdrücken gemischt auftreten oder einander zugewiesen werden. Es ist günstig» interne Daten
als BINARY FIXED oder, falls das nicht möglich ist, als DECIMAL FLOAT zu vereinbaren,
wahrend in dezimaler Form ein- oder auszugebende Daten als DECIMAL FIXED zu vereinbaren
sind* falls mit ihnen nur wenige Rechnungen ausgeführt werden.
Die unumgänglichen Datenumwandlungen
und die Kettenoperationen sollten so gestaltet werden,
daß sie vom Compiler "in line11 realisiert werden. In den Fällen, wo die Anwendung der satzweisen Ein- und Ausgabe nicht sinnvoll ist, sollte man zumindest die EDIT-gesteuerte der
LIST- oder DATA-gesteuerten reihenweisen Ein- und Ausgabe vorziehen.
BEGIN-Blöcke und Prozeduren sollten nur dann
gegebenen Möglichkeiten nicht ausreichen.
verwendet werden, wenn die
durch DO-Klauseln
Zur Unterstützung der Übersichtlichkeit der Notation können auch die Möglichkeiten der
PL1-Makrosprache verwendet werden, die es gegebenenfalls erlauben, bestimmte Entscheidungen
und die dazugehörigen Tests von der Ausführungszeit in die Übersetzungszeit zu verlagern.
Die Tabellen, welche über die Ausführungshäufigkeit der Anweisungen eines Programms (Option
COUNT) Auskunft geben» sollten gründlich ausgewertet werden. Sie liefern Informationen» ob
das entwickelte Programm dem ursprünglichen Entwurf entspricht, und darüber hinaus noch Ansatzpunkte für Maßnahmen zur Effektivitätserhöhung besonders häufig auszuführender Programmteile.
6.2.
Vom PL1-Optimierungscompiler durchgeführte Optimierungen
Der Optimierungscompiler führt viele der nachfolgend genannten Typen von Optimierungen in
jedem Falle aus. Diejenigen jedoch» die mit einer Änderung der Reihenfolge der Anweisungen
oder Operationen verbunden sind Cglobale Optimierung), werden nur ausgeführt, falls die Option OPT(TIME) wirksam ist.
Folgende Typen von Optimierungen sind im Compiler realisiert:
-
Eliminierung übereinstimmender Ausdrücke
Elimihierung redundanter Ausdrücke
Verlagerung invarianter Ausdrücke aus Schleifen heraus
Vereinfachung von Ausdrucken
Optimierung der Initialisierung von Feldern und Strukturen
Erzeugung von In-line-Code für Datenumwandlungen, Anweisungen der satzweisen E/A, Kettenbehandlung sowie viele Standardfunktionen
Erzeugung effektiveren Codes für Spezialfälle von Feld- und Strukturzuweisungen und von
DO-Klauseln
Reduzierung der Schlüsselumwandlungen für REGIONAL-Dateien
Zuordnung von Datenlistenelementen zu Formatlistenelementen zur Übersetzungszeit
Analyse der Ausführungszeit-Optionen während der Übersetzungszeit (Variable PLIXOPT)
50
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
- Optimierunng der Verwendung der Register für die Speicherung von Variablen und Zwischenresultaten (beispielsweise für die Adreßrechnung)
- Keitestgehende Vermeidung des Umladens von Basisregistern bei Sprüngen
Die genannten Optimierungen erhöhen die Effektivität des erzeugten Codes selbst dann> wenn
das zu übersetzende PL1-Programm optimal geschrieben ist» da der Programmierer im Gegensatz
zum Compiler keinen Einfluß auf interne Details bei der Gestaltung des generierten Codes
nehmen kann.
Im folgenden werden die Bedingungen für die Erzeugung von In~line-Code für gewisse Sprachelemente und die Wirkungsweise der globalen Optimierung dargestellt.
Optimierung durch In-line-Qperationen
Operationen werden zur Ausführungszeit entweder als In-line-Operationen durchgeführt oder
erfordern den Aufruf von PL1-Bibliotheksroutinen.
Mit In-line-Operationen werden gewöhnlich Datenumwandlungen und die Behandlung von Ketten
durchgeführt. Gegenüber einer Ausführung durch Bibliotheksroutinen kann sich die Ausführungszeit über In-line-Operationen auf den zehnten Teil reduzieren.
Der Wirkungsgrad der Programmausführung hängt unter anderem davon ab> wie oft Operationen
der beiden Arten im Programm auftreten. Beim Programmieren ist darauf zu achten, daß möglichst wenig Aufrufe von PL1-Bibliotheksroutinen erforderlich sind.
Optimierung bei Datenumwandlunaen
Datenumwandlungen auf Grund des Auftretens von PICTURE-Variablen in Ausdrücken werden durch
In-line-Code realisiert> wenn in den Abbildungsketten die folgenden Abbildungszeichen auftreten.
- Abbildungszeichen für Ziffern und Stellung des Dezimalpunktes:
9 V
- Abbildungszeichen für Vorzeichen und Währungssymbol:
t -S Ö
- Nullenunterdrückungszeichen:
Z *
- Einfügungszeichen:
> ./ B
Mit diesen Abbildungszeichen lassen sich folgende drei Typen von Abbildungsketten bilden:
1. Typ: Die Abbildungskette kann die folgenden Abbildungszeichen enthalten:
- Abbildungszeichen für Ziffern
- das Abbildungszeichen für die Stellung des Dezimalpunktes
- ein statisch verwendetes Abbildungszeichen
für Vorzeichen oder Währungssymbol
Beispiele:
'999'
'99V99D1
'999V+1
2. Typ: Die Abbildungskette kann die folgenden Abbildungszeichen
enthalten:
- Nullenunterdrückungszeichen
- beliebig viele Einfügungszeichen
- ein Vorzeichen
I
Beispiele:
'DZZV.Z'
'*V**'
9,BB/.99B I
neben denen
des 1« Typs
3. Typ: Die Abbildungskette kann die folgenden Abbildungszeichen neben denen
enthalten:
- driftend verwendete Abbildungszeichen für Vorzeichen oder
- Währungssymbol und
- beliebig viele Einfügungszeichen
Beispiele:
'oaW.99 1
'—B-9V.91
'Cd. CD1
des 1. Typs
In folgenden Fällen werden Umwandlungen mit
nicht durch In-line-Operationen ausgeführt:
numerischen Kettendaten der
angegebenen Typen
1. Die SIZE-Bedingung ist im wirksamen Status.
2. Die Stelligkeiten von Quelle und Ziel stimmen nicht überein.
Beispiel:
DCL A FIXED DECIMAL(3,2),
B PICTURE '9V9'}
A = 1.11}
B = A3
3. Es steht kein Abbildungszeichen V vor einem zwischen dem letzten Abbildungszeichen Z oder
* und dem ersten Abbildungszeichen 9 angegebenen Einfügungszeichen.
Beispiele:
'**/9'
VZZZ,99'
4. Rechts vom Abbildungszeichen V stehen
unterdrückung szeichen .
Beispiele:
'ZV.ZZ'
driftend verwendete Abbildungszeichen oder Nullen-
«S/SSVSSS1
51
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
In der folgenden Übersicht sind alle Datenumwandlungen angegeben> die durch In-line-Operationen ausgeführt werden. Alle übrigen Daten erfordern einen Bibliotheksaufruf.
Umwanc llung
Voraussetzungen für In-line-Operationen
Quelle
Ziel
BIT
CHARACTER
ALIGNED-Bitkette mit einer festen Länge von 1
BINARY FIXED
Quelle mu3 feste Länge haben, ALIGNED-Bitketten mit
einer Länge von max. 32 Bits
DECIMAL
<FIXEDIFLOAT>
Quelle muß feste Länge haben, ALIGNED-Bitkette mit
Länge von max. 31 Bits
CHARACTER
BIT
BINARY FIXED
DECIMAL FIXED
Quelle mit einer Länge von nur 1.
Die CONVERSION-Bedingung darf nicht wirksam sein.
FLOAT
BINARY
FIXED
BIT
ALIGNED-Bitkette mit fester Länge £ 2048 Bits.
Die STRINGSIZE-Bedingung darf nicht wirksam sein.
CHARACTER
Über FIXED DECIMAL. Zeichenkette muß eine feste Länge
< 256 Bytes haben» und die STRINGSIZE-Bedingung darf
nicht wirksam sein.
Abbildungskette der Typen 1» 2 oder 3> wenn die
SIZE-Bedingung unwirksam ist.
oder
PICTURE
(mit numerischer
Abbildungskette)
|
1
DECIMAL FIXED
FLOAT
Ziel in langer oder kurzer Gleitkommadarstellung
DECIMAL
FIXED
BIT
Bitkette muß feste Länge haben, ALIGNED-Bitkette mit
einer Länge < 2048 Bits. Die STRINGSIZE-Bedingung darf
nicht wirksam sein.
CHARACTER
Wenn die Genauigkeit = Skalenfaktor ist> muß sie gerade
sein. Zeichenkette muß feste Länge < 256 Bytes haben» und
STRINGSIZE muß unwirksam
sein. „.
j
__
_ __«.
i
— —
_
_._
— — — - . — — - . — _
.
—«.
— —
_
1
«-._„
|
BINARY FIXED
FLOAT
PICTURE
numerische
Abbildungskette)
FLOAT
1
BIT
—----.-.--.--.-.-.--.-.--.---.--.-.
—,-»-.-.-.-.-.«--.-.-.-.-.-.-«_----„ 1
wenn qCquelle) + pCquelle) £ 75* Ziel in langer oder
j
kurzer Gleitkommadarstellung
Abbildungskette der Typen 1 , 2 oder 3
ALIGNED-Bitkette mit fester Länge < 2048 Bits.
Die STRINGSIZE-Bedingung muß unwirksam sein.
BINARY FIXED
DECIMAL FIXED
Skalenfaktor < 8 0
1
FLOAT
Quelle und Ziel dürfen einfache oder doppelte Länge
haben.
IPICTURE
CHARACTER
Zeichenkette m u ß fester Länge < 256 Bytes sein.
PICTURE
Abbildungsketten müssen identisch sein.
1Numerische BINARY FIXED
Abbildungskette
DECIMAL FIXED
Typ 1 und 2
1
52
über FIXED DECIMAL. SIZE-Bedingung m u ß unwirksam sein.
Typ 2 Abbildungen ohne * oder Einfügungszeichen. SIZEBedingung muß unwirksam sein.
Über FIXED DECIMAL. SIZE-Bedingung muß unwirksam sein.
FLOAT
PICTURE (numerische Abbildungskette der Typen 1, 2 oder 3.
SIZE-Bedingung muß unwirksam sein.
Abbildungskette)
1
PLl-OC Benutzungshinweise
10/89
D0S-4/ES
Optimierung der Kettenbehandlung
Die Voraussetzungen» unter denen Operationen mit Ketten und Standardfunktionen durch In1ine-Code ausgeführt werden> sind in den folgenden Übersichten angegeben.
Verlangt der Ausdruck in den Standardfunktionen BIT und CHAR eine implizite Datenumwandlung»
die nicht durch In-line-Operationen ausgeführt werden kann» so wird die entsprechende Bibliotheksroutine aufgerufen.
In-1ine-Code für Operationen mit Kettendaten:
Zuweisung oder
Operation
Voraussetzungen für Quell- und Zielgrößen
Zuweisung
ALIGNED-Bitketten mit fester» nicht-dynamischer Kettenlange (£8192
Bits» wenn OPT(TIME) nicht angegeben ist)
dynamische oder VARYING ALIONED-Bitkette zu nicht-dynamischer
ALIGNED-Bitkette (<2048 Bits» wenn 0PTCTIME) angegeben ist)
UNALIGNED-Bitketten mit fester» nicht-dynamischer Kettenlänge.
Diese Bitketten müssen Elemente von mit BASED» AUTOMATIC oder
STATIC vereinbarten Strukturen sein» die keine dynamischen Grenzen»
Kettenlängen oder Bereichsgrößen enthalten. Nur wenn OptCTIME)
angegeben ist. Die maximale Länge beträgt 57 Bits.
Zeichenkette fester Länge
dynamischer oder VARYING-Zeichenkette zu nicht dynamischen
Zeichenketten» deren Länge £ 256 Bytes ist
logische
Operationen
Hie Zuweisung von Bitketten. Es werden aber keine dynamischen oder
VARYING-Operanden behandelt.
Vergleich
Wie Zuweisung von Zeichenketten mit zwei zu vergleichenden
Operanden. Es werden aber keine dynamischen oder VARYING-Operanden
behandelt.
Verkettung
Hie Zuweisung von ZeichenKetten. Es werden aber keine dynamischen
oder VARYING-Operanden behandelt.
STRING-Funktion
skalare Variablen und nicht-dynamische Feld- und Strukturvariablen
im zusammenhängenden Speicher
Voraussetzungen für Standardfunktionen zur Behandlung von
In-line-Code erzeugt werden soll:
Standardfunktion
Bit- und Zeichenketten»
für die
Voraussetzung en
BIT
keine (in allen Fällen In-line-Code)
BOOL
1. und 2. Argument müssen den Bedingungen logischer Operationen
genügen.
3. Argument muß eine Konstante sein.
CHAR
keine (in allen Fällen In-line-Code)
HIGH
keine (in allen Fällen In-line-Code)
INDEX
2. Argument: Zeichenkette mit nicht-dynamischer Kettenlänge < 256
LENGTH
keine (in allen Fällen In-line-Code)
LOH
keine (in allen Fällen In-line-Code)
REPEAT
2. Argument muß eine Konstante sein.
SUBSTR
STRINGRANGE muß im unwirksamen Status sein.
TRANSLATE
1. Argument muß feste Länge haben«
2. und 3. Argument muß eine Konstante sein.
UNSPEC
keine (in allen Fällen In-line-Code)
VERIFY
1. Argument: Zeichenkette fester Länge < 256 Zeichen oder
Bitkette fester Länge £ 2048 Bits
2. Argument muß eine Konstante sein.
Wirkungsweise der globalen Optimierung
Falls die Option OPT(TIME) wirksam ist» nehmen spezielle Phasen
eine globale Optimierung des Programms vor.
des Optimierungscompilers
53
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Optionen ORDER und REORDER
Für BEGIN- und PROCEDURE-Blöcke können die Optionen ORDER oder REORDER angegeben werden» die
Einfluß auf den Grad der möglichen globalen Optimierung und auf die Ausführung des optimierten Programms beim Auftreten von Ausnahmebedingungen haben.
Die Option ORDER garantiert* daß der Speicherplatz» der für die Variablen des Programms reserviert wurde, die jeweils letzten den Variablen zugewiesenen Werte enthält. Ihre Werte
können somit in den ON-Einheiten ohne Einschränkung verwendet werden. Dabei ist jedoch zu
beachten» daß durch die Undefinierte Reihenfolge der Ausführung gewisser Operationen (Berechnung von Teilausdrücken, Indexausdrucken, Zeigerausdrücken» Funktionswerten) und durch
die Eliminierung übereinstimmender Ausdrücke die Reihenfolge und die Anzahl der auftretenden
Berechnungsbedingungen variieren können. Wenn ORDER wirksam ist» ist die Verlagerung von
Ausdrücken oder Anweisungen praktisch unmöglich» da dafür alle möglicherweise auftretenden
Bedingungen in den unwirksamen Status versetzt werden müßten; damit wäre ORDER sinnlos.
Wenn die Option REORDER wirksam ist» kann das Programm in einem höheren Grade optimiert werden» wobei die Resultate der Ausführungen des Programms unverändert bleiben» wenn keine Ausnahmebedingungen auftreten oder wenn die Einschränkungen für die Verwendung von Variablen in
ON-Einheiten beachtet werden. Diese Einschränkungen rühren u.a. daher» daß die Werte von
Variablen zeitweise nur in Registern gespeichert werden» wodurch die Häufigkeit des Speicherns und Ladens von Registern minimalisiert wird und möglicherweise auch die Reihenfolge
der Berechnungen geändert wird. Nur die Werte weiterhin benötigter Variablen müssen am Ende
einer Schleife oder des Blockes in den Hauptspeicher übertragen werden. Beim vorherigen Auftreten von- Ausnahmebedingungen ist es nicht garantiert» daß die aktuellen Werte der Variablen verfügbar sind. Deshalb dürfen bei der Korrektur in ON-Einheiten aufgetretener Fehler die in einem aktiven REORDER-Block gesetzten Variablen nicht verwendet werden» sondern
die Korrektur muß mit Hilfe von ONSOÜRCE oder ONCHAR oder über erneute Berechnungen erfolgen. Das hat keinen Einfluß auf die Geschwindigkeit einer fehlerfreien Ausführung des Programms.
Eliminierunq von Anweisungen
Sind in einem Programm nicht erreichbare Anweisungen oder Anweisungen der Form
GOTO M,
A = B + lj
M: C = 1,
enthalten» so werden diese eliminiert» da
haben. Im obigen Beispiel kann neben der
GOTO eliminiert werden.
sie für die Programmabarbeitung keine Bedeutung
Anweisung "A = B + l," zusätzlich die Anweisung
Eliminierunq redundanter Ausdrücke
Ein Ausdruck wird als redundant bezeichnet» wenn seine
zung der Ausführung des Programms nicht notwendig ist.
Das trifft zum Beispiel auf den zweiten Operanden einer
erste Operand den Wert 'O'B hat» oder auf den zweiten
Oder"» wenn der erste Operand den Wert ' 1'B hat.
Durch die Optimierung wird erreicht» daß beispielsweise
IF (A = B) I (B = C)
nicht nur kürzerer»
riante
IF A = B
in der
ist.
THEN
Berechnung für die richtige FortsetOperation "Logisch Und11 zu* wenn der
Operanden einer Operation "Logisches
für die Variante
K = L • Mi
sondern auch im Mittel effektiverer
Code erzeugt wird als
THEN K = L + Mi
ELSE IF B = C THEN K = L + Mj
explizit die Berechnung von B = C vermieden wird» falls dieser
für die Va-
Ausdruck redundant
Eliminierunq übereinstimmender Ausdrücke
Die Ausdrücke X + Y * Z in den folgenden Anweisungen eines Programmteils:
A = X + Y * 2,
B=X
+ Y * Z\
sind ein Beispiel für übereinstimmende Ausdrücke» falls die Bedingung erfüllt ist» daß die
Werte der Variablen X» Y und Z zwischen der Berechnung des Ausdrucks X + Y * Z in der ersten
und in der zweiten Anweisung
in jedem Falle unverändert bleiben. Die "Eliminierung übereinstimmender Ausdrücke11 gestattet es» nicht notwendige wiederholte Berechnungen eines Wertes
übereinstimmender Ausdrücke zu vermeiden. Ein wichtiger Spezialfall ist hierbei das Auftreten mehrerer indizierter Variablen mit übereinstimmenden Indexausdrücken» wie beispielsweise:
ACK) = B(3 * I + K) + CC3 * I + K)5
Ein weiterer Vorteil der "Eliminieruna übereinstimmender Ausdrücke" besteht darin» daß die
eventuell bei der Berechnung der Ausdrücke notwendigen Datenumwandlungen ebenfalls nur einmal auszuführen sind. Zu beachten ist» daß die Eliminierung übereinstimmender Ausdrücke dann
nicht durchgeführt werden kann» wenn Werte der im Ausdruck yerwendeten Variablen zwischen
dem ersten und dem späteren Auftreten des Ausdrucks durch die Ausführung einer ON-Einheit
verändert werden können» die für eine Berechnungsbedingung angegeben ist.
54
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Beispiel:
ON ZERODIVIDE B, C = 1}
X * = A * B + B / C,
Y = A * B + D)
Die "Eliminierung übereinstimmender Ausdrücke'1 kann unterstützt werden, indem
- den Variablen in den Ausdrücken nicht die Attribute EXTERNAL» DEFINED oder BASED gegeben
werden »
- das Quellprogranun keine externen Prozeduren, externe Markenvariable oder Markenkonstante»
die vom externen Prozeduren verwendet werden können» enthält» sowie
- die Ausdrücke> die optimiert werden sollen» nur arithmetisch sind oder nur Zeichenketten
enthalten.
Die Eliminierung wird jedoch eingeschränkt oder verhindert» wenn
- Variablen in Ausdrücken verwendet werden» deren Werte durch E/A-Anweisungen oder Ausnahmebedingungen verändert werden können» oder
- Variablen» die Bestandteile einer BASED-Variablen sind» bei zweimaligem Auftreten eine
neue Basisvariable zugewiesen wird.
Vereinfachung von Ausdrücken
Die Vereinfachung von Ausdrücken bewirkt» daß nach Umformung der vom Programmierer vorgegebenen Ausdrücke deren Werte effektiver berechnet werden. Zwei Formen der Vereinfachung von
Ausdrücken betreffen die Verwendung von Konstanten in Ausdrücken» beispielsweise wird 2 * C
vereinfacht zu
C + C
und bei der Adreßberechnung
Länge FAKT statt
entsprechend dem Indexausdruck 1 + 3
wird für Feldelemente der
(I + 3) * FAKT
I * FAKT + 3 * FAKT
berechnet» wobei 3 * FAKT ein konstanter Adreßfaktor für die Adreßberechnung ist.
Falls es sich bei I um die Laufvariable einer DO-Klausel handelt» ist unter gewissen Voraussetzungen eine weitere Optimierung der Berechnung von I * FAKT möglich» die die Multiplikation vermeidet.
Verlagerung invarianter Ausdrücke
Ein Ausdruck innerhalb einer Schleife wird als invariant bezeichnet» falls der Wert des Ausdrucks nachweisbar bei jeder Ausführung der Schleife der gleiche ist. Die Berechnung invarianter Ausdrücke kann außerhalb der Schleife durchgeführt werden» wodurch die wiederholte
Berechnung bei jeder Ausführung der Schleife vermieden wird. Unter gewissen Voraussetzungen
trifft das Gesagte auch auf die Ausführung von Ergibtanweisungen zu» in denen invariante
Ausdrücke auftreten.
Im Beispiel:
DO I = 1 TO Ni
n
...
K = 14i
...
EKD,
n
kann die Anweisung
K = 14> je nach den konkreten Umständen vor oder hinter die Schleife
verlagert werden» wenn diese Voraussetzungen erfüllt sind. Bei der Erläuterung der Optionen
ORDER und REORDER ist bereits erklärt» warum diese Art der Optimierung nur dann ausgeführt
wird» wenn die Option REORDER wirksam ist.
6.3.
Effektivitätserhöhung von PL1-Programmen
In vielen Fällen wird die Effektivität von Programmen» die entsprechend den Hinweisen in
6.1. gestaltet und mit dem Optimierungscompiler übersetzt wurden» dank der vielfältigen Optimierung und der selektiven Verwendung von Bibliotheksunterprogrammen für die konkrete
Zielstellung ausreichend sein. Wenn das nicht der Fall sein sollte» kann man die im folgenden beschriebenen Veränderungen am Programm vornehmen» um die Effektivität weiter zu
erhöhen.
Unbedingt sind nach dem Programmtest die überflüssig gewordenen Testhilfen (beispielsweise
CHECK-, SUBSCRIPTRANGE-» STRINGRANGE-, SIZE-Bedingungsprä'fixe sowie PUT DATA-Anweisungen,
besonders die ohne Datenliste) unwirksam zu machen.
Das kann durch Herausstreichen solcher Sprachelemente aus dem PL1-Quelltext geschehen» aber
auch - gewiß vorteilhafter - durch Wandlung dieser Sprachelemente in PL1-Kommentar.
Wenn beispielsweise der signifikante PLl-Quelltext generell erst ab Spalte 4 geschrieben
wird, können die Spalten 2 und 3 bedarfsweise für die Eintragung des Kommentar(-Anfangs)begrenzers "/*" dienen. Ferner muß vereinbart werden, PL1-Testanweisungen zusammen mit einem
vollständigen Kommentar nur auf eine Zeile wie folgt zu schreiben:
/*
PUT DATACVAR1, VAR2),
/*
PLl-TEST^
*/
Diese Programmtext-Zeile ist bei einer Übersetzung mit SORMGIN(4»72) für den Programmtest
wirksam, hingegen bei der Übersetzung mit der Standardannahme SORMGIN(2»72) unwirksam» weil
bloßer Kommentar.
Die zum Testen benötigten CompilerOptionen (z.B. FLOW» STMT» LINE) sind unwirksam zu machen.
Mit Hilfe der REPORT-Option ist der günstigste Wert für die Laufzeitoption ISASIZE zu ermitteln.
55
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Die folgenden detaillierten Hinweise berücksichtigen nicht nur das Kriterium der Effektivität» sondern auch andere Kriterien» beispielsweise Wahrung einer guten Verständlichkeit des
Programms.
Zweckmäßigerweise sollten vor allem die Programmteile berücksichtigt werden» für die ein
häufiger Durchlauf zu erwarten ist (Auswertung der COUNT-Liste).
Hinweise für Vereinbarungen
1. Bei der Verwendung der REFER-Option in einer Struktur sollte die Reihenfolge der Strukturelemente so gewählt werden» daß zuerst alle Elemente ohne REFER-Option und dann die
Elemente mit REFER-Option in der Reihenfolge abnehmender Verwendungshäufigkeit angegeben
werden.
2. Für Strukturen kann das Attribut UNALIGNED angegeben werden» um möglichst wenig Speicherplatz ungenutzt zu lassen. Falls jedoch eine Struktur Bitketten enthält» deren Länge kein
vielfaches von 8 ist» so sollte zur Beschleunigung cjes Zugriffs ALIGNED angegeben werden.
3. Wenn möglich» sollten anstelle von Ketten veränderlicher Länge Ketten fester Länge verwendet werden. Die Effektivität wird jedoch verringert» wenn der Wert der Kettenlänge zur
Übersetzungszeit nicht bekannt ist oder als arithmetischer Ausdruck geschrieben wird.
Letzteres gilt entsprechend auch für die Vereinbarung von Feldgrenzen.
Bitketten sollten mit einer Länge» die ein Vielfaches von 8 ist» vereinbart und verarbeitet werden» außer wenn sie für die Darstellung logischer Bedingungen benutzt werden. In
diesem Falle sollte mit der tatsächlich benötigten Länge gearbeitet werden.
Hinweise für ausführbare Anweisungen
1. Wenn eine GOTO-Anweisung auf eine Variable vom Typ LABEL Bezug nimmt» ist es effektiver»
wenn die LABEL-Konstanten» die als Werte der LABEL-Variablen auftreten können» im gleichen Block wie die GOTO-Anweisung erscheinen.
2. Bei arithmetischen Berechnungen sind möglichst gemischte Datentypen» besonders jedoch111die
Verwendung von Zeichenketten zu vermeiden. Diese sind möglichst durch "PIC '9...9
zu
ersetzen.
Zur Vermeidung von wiederholten Datenumwandlungen sollten Hilfsvariablen verwendet werden.
3. Es ist günstig» sich in einem Job nur einmal auf die Standardfunktion DATE zu beziehen.
Sollte das, Datum mehrmals im Job benötigt werden» so läßt es sich einer Hilfsvariablen
zuordnen.
w
H . Verkettungsoperationen mit Bitketten sind sehr zeitaufwendig und sollten auf ein Mindestmaß beschränkt werden.
Hinweise für die Ein- und Ausgabe
1. Wenn es die Programmlogik gestattet» sollten mit einer OPEN-Anweisung mehrere Dateien
eröffnet werden.
2. Bei der EDIT-gesteuerten E/A sollte zwecks Optimierung kein R-Formatelernent verwendet
werden» da sonst zusätzliche Aufrufe von Bibliotheksmoduln erforderlich sind.
3. Es sind genügend große Puffer bereitzustellen und» wenn möglich» ist die satzweise der
reihenweisen E/A vorzuziehen.
In einem Programm sollten daher nicht gleichzeitig STREAM- und RECORD-E/A verwendet werden.
Nach Möglichkeit sollten die Eingabe-/Ausgabesätze in geblockter Form vorliegen bzw. ausgegeben werden.
4. Im Rahmen der Möglichkeiten sollten die EDIT-gesteuerte Ein- und Ausgabe der LIST- und
DATA-gesteuerien vorgezogen werden.
5. Bei der reihenweisen Ein- und Ausgabe sind lange Datenlisten statt mehrerer E/A-Anweisungen zu verwenden.
6. Für CONSECUTIVE-Dateien sollten solche FILE- und RECORD-Variablen vereinbart werden» die
die Erzeugung von "In-1ine"-Code gestatten.
7. Bei Beachxung folgender Besonderheiten können Umwandlungen von Schlüsseln für REGIONALDateien verhindert werden:
a) Für REGIONALC1):
Wenn der Schlüssel eine mit BIHARY FIXED vereinbarte Variable oder Konstante ist» muß
die Stelligkeit im Bereich von (12,0) bis (23,0) liegen.
b) Für REGIONALE):
Ist der Schlüssel ein Zeichenkettenausdruck» der mit einer BIHARY FIXED-Variablen oder
Konstante verkettet ist» muß die Stelligkeit im Bereich (12,0) bis (25,0) liegen.
8. Das überlagernde Definieren kann zur Vereinfachung der Übertragung zu oder von Zeichenkettenstrukturen dienen.
Beispiel:
DCL 1 STRUKT,
2 A CHARCIO),
2 B CHARC20)»
2 C CHARC30),
GET EDIT(STRUKT) CAC10)»A(20)»AC30)),
Effektiver sind folgende Anweisungen:
DCL KETTE CHARC60) DEF STRUKT}
GET EDIT(KETTE) (A(60))j
56
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Hinweise für die Verwendung von Bedingungspräfixen und OK-Einheiten
1. Wenn möglich» sind ON-Einheiten für die Bedingung FINISH zu vermeiden» da dadurch die
Aufwände zur Beendigung eines PL1-Programms erhöht werden.
2. Auch das Unwirksam-Machen von Bedingungen durch ein entsprechendes Präfix vermeidet nicht
die Ausführung zusätzlicher Operationen in Situationen» in denen die entsprechenden Ausnahmezustände normalerweise auftreten würden.
So ist es beispielsweise günstiger» nach dem Programmtest das Präfix für die SIZE-Bedingung wegzulassen» statt diese Bedingung durch die Angabe von NOSIZE unwirksam zu machen»
da im letzteren Fall vom Compiler zusätzlich ein spezieller Code erzeugt wird.
3. BEGIN-Blöcke als ON-Einheiten erfordern Operationen für die Blockinitialisierung.
Hinweise für die Verbindung mit anderen Sprachen
1. Wiederholte Initialisierung der PL1-Umgebung ist zu vermeiden.
Das kann durch eine der folgenden Maßnahmen erreicht werden:
a) Eine PL1-Prozedur ist die Hauptroutine.
b) Eine PL1-Prozedur wird von der Hauptroutine aufgerufen.
c) Die Struktur des Programms ist so geartet» daß die PL1-Umgebung zwischen zwei Aufrufen
von PL1-Prozeduren nicht verändert wird.
2. Die*Speicherung von Datengruppierungen» die von PLI-Programmen und anderen Programmen
gemeinsam benutzt werden» sollte möglichst übereinstimmen.
3. Die Option NOMAPIN sollte angegeben werden» wenn die Argumente einen verschiedenen Aufbau
besitzen und die Initialisierung der entsprechenden Pseudoargumente nicht nötig ist.
Die Option NOMAPOUT sollte angegeben werden» falls der Endwert nicht benötigt wird» um
die unnötige Zuweisung von Pseudoargumenten zu verhindern.
57
PL1-0C Benutzungshinweise
7\
Sortierproarammaenerator CSORT) und PLI-Programme
7.1.
Allgemeines
10/89
D0S-4/ES
Der Sortierprogrammgenerator (SORT> siehe [5]) des D0S-4/ES kann von PL1-Programmen aus aufgerufen werden.
Mit dem SORT-Programm lassen sich eine oder mehrere sequentielle oder indexsequentielle Eingabedateien verarbeiten. Es entsteht immer eine sequentielle oder indexsequentielle Ausgabedatei.
Die Eingabedateien haben die Standardnamen SORTINn (n=1...9)> die Ausgabedatei hat den Standardnamen SORTOUT.
Als Eingabe- und Ausgabedateien sind Dateien auf Magnetplatte> Magnetband, Lochkarte» Diskette und für die Ausgabe auch Drucker möglich.
Die Eingabe- und Ausgabedateien können festes oder variables Satzformat haben und können
auch geblockt sein3 alle Eingabedateien eines Programmlaufs müssen das gleiche Satzformat
haben.
Platten- und Diskettendateien mössen Standardkennsätze haben; Dateien auf Magnetband können
Standard-» Nichtstandard- oder keine Kennsätze haben. Die Prüfung bzw. Erzeugung von Benutzer- oder Nichtstandard-Kennsätzen ist nur mittels Benutzerroutinen möglich.
Beim Sortieren wird aus dem Datenmaterial» das in den Eingabedateien enthalten ist» durch
SORT eine neue Datei erzeugt» die in der Anordnung der Sätze den in der SORT-AnWeisung angegebenen Parametern entspricht.
Die Reihenfolge der Sätze in der Ausgabedatei entspricht einer nicht-fallenden oder nichtsteigenden Folge der Ordnungsbegriffe. Die Ordnungsbegriffe sind Teile der Sätze der Eingabedateien (bis zu neun Eingabedateien können beim Aufruf von SORT verarbeitet werden) und
durch ihre Lage relativ zum Satzanfang zu beschreiben.
Die Sortierrelation ist durch die "Werte" der Zeichen des zugrunde gelegten Zeichensatzes
CSortierfolge der Zeichen des DKOX-Codes) bestimmt.
7.2.
Aufruf des Programms SORT durch eine PLl-Prozedur
7.2.1. Aufrufarten des Programms SORT
Das Programm SORT wird von einer PLl-Prozedur aus wie ein Unterprogramm durch die Anweisung
CALL PLISRTx(parameterliste),
aufgerufen. Dabei bedeutet x eines der Zeichen A» B» C oder D. Beim Aufruf des Programms
SORT in PL1 kann nur die Funktion SORT» jedoch nicht die Funktion MERGE genutzt werden.
PLISRTx sind festgelegte Namen» wobei zu jedem von ihnen eine bestimmte Form der Parameterliste gehört. Bei der Obersetzung der Anweisung CALL PLISRTx wird eine Zu Lässigkeitskontrolle der Parameter in der Liste durchgeführt. Bei der Programmverbindung wird der residente
Modul IOTGDSH hinzugefugt» welcher die Angaben aus der Parameterliste in ein für SORT geeignetes Format transformiert und SORT als Unterprogramm aufruft.
Funktionsweisen von PLISRTx Cx~A»B»C»D):
PLISRTA - SORT führt OPEN und CLOSE für die Eingabedatei(en) und für
liest die Eingabesätze und gibt sortierte Sätze aus.
die Ausgabedatei aus»
PLISRTB - Verwendung des Ausgangs El5. Die am Ausgang E15 angeschlossene Routine realisiert
OPEN und CLOSE für die EingabedateiCen)> liest die Sätze und übergibt sie einzeln
dem Programm SORT. Dieses realisiert OPEN und CLOSE für die Ausgabedatei und gibt
sortierte Sätze aus.
PLISRTC - Verwendung des Ausgangs E35. SORT realisiert OPEN und CLOSE für die EingabedateiCen)» liest die Sätze und übergibt sie sortiert der am Ausgang E35 angeschlossenen Routine. Diese Routine realisiert OPEN und CLOSE für die Ausgabedatei und gibt die Sätze aus.
PLISRTD - Verwendung der Ausgänge El5 und E35. Die an den Ausgängen E15 und E35 angeschlossenen Routinen haben die für PLISRTB und PLISRTC beschriebenen Funktionen. SORT
erhält die einzelnen Eingabesätze von der am Ausgang E15 angeschlossenen Routine
und übergibt sie ebenfalls einzeln und sortiert der am Ausgang E55 angeschlossenen
Routine.
Die angeschlossenen Routinen können außerdem darüber entscheiden» welche Sätze dem
Programm SORT zur Verarbeitung übergeben (E15) bzw. in die Ausgabedatei geschrieben (E35) werden und welche auszulassen oder zu ändern sind Csiehe 7.3.).
7.2.2. AufrufParameter des Programms SORT
Ein Aufruf des Programms SORT kann bis zu 13 Parameter aufweisen» welche für die Zwecke dieses Abschnitts mit pl bis pl3 bezeichnet werden. Die Parameter pl bis p4 sind für alle vier
Aufrufarten des Programms SORT obligatorisch» während die Parameter p7 bis pl3 wahlfrei
sind. Der Parameter p5 betrifft den Ausgang EIS» der Parameter p6 den Ausgang E35.
Die Parameterlisten beim Aufruf des Programms SORT entsprechen den einzelnen Aufrufarten wie
folgt:
PLISRTA
PLISRTB
PLISRTC
PLISRTD
(pl,p2,p3,p4[,p7,p8,p9,pl0,pll>pl2,pl3]),
Cpl»p2»p3»p4»p5[»p7»p8»p9»plO»pll>p!2»pl33)>
C l 2 3 4 6 £ »p7»p8»p9>p!0»pll
7 8 9 l O l l l»pl2»pl31
2 l 3 1 )i
)
Cpl»p2»p3»p4»p6£
Cpl»p2»p3»p4»p5>p6E »p7»p8»p9?pl0>pll »pl2»pl3D»
Wahlfreie Parameter» die nicht angegeben werden» können ani Ende der Liste weggelassen werden» innerhalb der Liste sind sie durch eine leere Zeichenkette (Zeichen " ) zu ersetzen.
58
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
Parameter pl
Sein Wert ist eine Zeichenkette der Form 'sort-steueranweisung•.
Der Wert ist eine SORT-Steueranweisung> welche dem Programm SORT unverändert übergeben wird.
Parameter P 2
Sein Wert ist eine Zeichenkette der Form 'record-steueranweisung'. Der Wert ist eine RECORDSteueranweisung» welche dem Programm SORT unverändert übergeben wird.
Parameter P 5
Sein Wert ist eine Zahl, welche (für die Arbeit unter OS/ES) die
Platzes für SORT bzw. für die angeschlossenen Routinen angibt.
Diese Zahl wird im D0S-4/ES ignoriert.
Größe des Hauptspeicher-
Parameter P 4
Sein Wert ist der Name einer Variablen, die in derselben PL1-Prozedur, in welcher SORT aufgerufen wird, vereinbart wird. Die Variable muß mit den Attributen BINARY FIXED(31,0) vereinbart werden. In diese Variable trägt das Programm SORT den Rückkehrcode ein. Der
Rückkehrcode kann folgende Werte annehmen:
0
Sortierung verlief erfolgreich.
16
Bei der Sortierung kam es zu einem Fehler.
Parameter P 5
Sein Wert ist der Name des Eingangspunktes der Routine, welche am Ausgang E15 angeschlossen
werden soll. Der residente Modul IOTGDSH erzeugt die Anweisung INPFIL EXIT und den Parameter
PH1 der MODS-Anweisung.
Parameter P 6
Sein Wert ist der Name des Eingangspunktes der Routine, welche an den Ausgang E35 angeschlossen werden soll. Der residente Modul IOTGDSH erzeugt die Anweisung OUTFIL EXIT und
den Parameter PH3 der MODS-Anweisung.
Parameter P 7
Sein Wert ist eine Zeichenkette, welche vier Zeichen enthält, durch die in den Standardnamen
der Dateien die Zeichen SORT ersetzt werden. Der residente Modul IOTGDSH erzeugt den Parameter FILNM der OPTION-Anweisung. Wenn dieser Parameter nicht angegeben ist, bleiben die
Standardnamen SORTINn, SORTOUT wirksam. Die Verwendung ermöglicht beispielsweise den mehrfachen Aufruf des Programms SORT durch dasselbe PL1-Programm und die Sortierung mehrerer
Dateigruppen.
Parameter P 8
Sein Wert ist eine Zeichenkette, welche die Option für die Auflistung der Nachrichten vom
Programm SORT festlegt. Wegen der Kompatibilität wurden die für das Betriebssystem OS/ES
gültigen Werte beibehalten.
Der residente Modul IOTGDSH transformiert die Zeichenkette in den Parameter PRINT der
OPTION-Anweisung des Programms SORT im System D0S-4/ES. Einander entsprechende Werte können
folgender Übersicht entnommen werden:
Parameter p8
Parameter der OPTION-Anweisung für SORT
NO
PRINT=NONE
AP oder AC
PRINT oder PRINT=ALL
CP oder CC
PRINT=CRITICAL
Parameter P 9
Sein Wert ist eine Zeichenkette, welche die Option für das
stem OS/ES angibt> diese Zeichenkette wird ignoriert.
Sortierverfahren im Betriebssy-
Parameter P I O
Sein Wert ist eine Zeichenkette der Form:
'option-steueranweisung'
Der Wert ist eine OPTION-Steueranweisung, die dem Programm SORT unverändert übergeben wird.
Die Verwendung dieses Parameters setzt die Wirksamkeit der Parameter p7 und p8 außer Kraft.
Parameter P H
Sein Wert ist
eine Zeichenkette der Form:
1
inpfil-steueranweisung'
Der Wert ist eine INPFIL-Steueranweisung, welche dem Programm SORT unverändert übergeben
wird. Die Verwendung dieses Parameters setzt die Gültigkeit der INPFIL-Anweisung, die aus
dem Parameter p5 erzeugt wurde, außer Kraft.
Parameter P!2
Sein Wert ist eine Zeichenkette der Form:
'outfil-steueranweisung•
Der Wert ist eine OUTFIL-Steueranweisung, welche dem Programm SORT unverändert übergeben
wird. Die Verwendung dieses Parameters setzt die Gültigkeit der OUTFIL-AnWeisung, die aus
dem Parameter p6 erzeugt wurde, außer Kraft.
Parameter P!5
Sein Wert ist eine Zeichenkette der Form:
'outrec-steueranweisung•
Der Wert ist eine OUTREC-Steueranweisung, die dem Programm SORT unverändert übergeben wird.
59
PL1-0C Benutzungshinweise
7*3.
10/89
D0S-4/ES
Benutzerroutinenanschluß an die Ausgänge EIS und E55
An die Ausgänge E15 und £35 des Programms SORT können in einer beliebigen Programmiersprache
geschriebene Benutzerroutinen angeschlossen werden. Dabei ist auf die Einhaltung der geforderten Konventionen für die ParameterÜbergabe zu achten.
Nenn SORT durch ein PL1-Programm aufgerufen wird und in PL1 geschriebene Benutzerroutinen
angeschlossen werden sollen» setzt das .voraus» daß diese Routinen bereits in den Hauptspeicher geladen wurden. SORT übergibt die Steuerung Über Sprungtabellen» die im Modul lOTGDSH
enthalten sind.
Die angeschlossenen Benutzerroutinen können externe oder interne PL1-Prozeduren oder ihre
Eingangspunkte sein. Für jeden zu verarbeitenden Satz werden diese Routinen erneut aufgerufen.
Die am Ausgang E15 angeschlossenen Routine übergibt die einzelnen Eingabesätze dem Programm
SORT in Form einer Zeichenkette» und zwar mittels der RETURN-AnWeisung. Wenn die Zeichenkette mit dem Attribut VARYING vereinbart wurde» können die Sätze entweder als Sätze variabler
Länge sortiert werden oder zunächst mit Nullen auf die maximale Länge aufgefüllt und als
Sätze fester Länge sortiert werden.
Einer VARYING-Zeichenkette ist in PL1 ein 2-Byte-Längenpräfix vorangestellt» welcher zum
Bestandteil des übergebenen Satzes wird und bei der Angabe der Sortierschlüssel zu
berücksichtigen ist.
Die am Ausgang EZB angeschlossene Routine übernimmt vom' Programm SORT die einzelnen Sätze
der sortierten Datei als Wert eines Parameters mit dem Attribut CHARACTER. Der Parameter
darf nicht mit dem Attribut VARYING vereinbart sein.
Für Sätze variabler Länge kann der Parameter als Zeichenkettenvariable mit dynamischer Länge
vereinbart werden.
Die an den Ausgängen E15 und E35 angeschlossenen Benutzerroutinen müssen bei der Rückkehr in
das Programm SORT über einen Rückkehrcode das Ergebnis ihrer Aktion mitteilen. In den
PL1-Benutzerroutinen wird der Rückkehrcode durch die Anweisung
CALL PLIRETC(n),
eingestellt. Der folgenden Obersicht können die Werte für den Rückkehrcode sowie deren Bedeutung entnommem werden:
n
8
12
7.4.
Ausgang
Bedeutung
E35
Der vom Programm SORT übergebene Satz wurde verarbeitet»
das Programm SORT kann den nächsten Satz übergeben.
E15» E35
Beendigung der Obergabe von Sätzen» die
Benutzerroutine wird nicht mehr aufgerufen.
E15
Die Benutzerroutine übergibt dem Programm SORT
einen Satz zur Verarbeitung.
Beispiel für den Aufruf des Programms SORT
SPOOL SYSPCH,DEST=I,NAME=STR«SRTD
ASSGN SYSIPT»SYSRDR
EXEC LIBR
PUNCHS S.STRtSRTO»*NOCATAL
END
/*
SPOOL SYSPCH
PAUSE
PRUEFEN» OB EINTRAGUNG STRtSRTD IN DER R0R-SCHLANGE VORHANDEN
OPTION LINK
ACTION NOMAP
EXEC PLI
* PROCESS NOMAP,STMT,COUNT,FLOW,MARGINI(I|I),
PLISORT:
PROC OPTlONS(MAIN)i
DCL «&PROG CHARC7) VAR INITC'PLISORT*)»
dcWERS CHAR(IO)
INITC'890626.001'),
/* PROGRAMM-NAHE
*/
/* PROGRAMM-VERSION */
DCL CADDR» SUBSTR, ONCODE» DATE» TIME) BUILTIN;
DCL aaDATUM CHAR(8),
aaZEIT CHAR(8)$
aaDATUM = TRANSLATEC 'AB*CD*EF' , '. ' 11 DATE» '«FCDAB 1 )»
/*
aaMESS:
60
H I L F S P R O Z E D U R
(EN)
PROC(TEXT, STEUERUNG)»
DCL TEXT CHARC55),
DCL STEUERUNG BIN FIXEDU5),
IF STEUERUNG^
THEN PUT PAGE}
ELSE IF STEUERUNG=2
THEN PUT SKIPC2)»
ELSE PUT SKIP,
1
aaZEIT = TRANSLATEC'ABÄCDÄEF
, ': • IITIME, '«ABCDEF1)*
PUT EDIT(TEXT, 33PROG, V 1 » 33VERS, aaDATUM» 33ZEIT,
UHR 1 )
(A> C0LC6D» 3 A» X(l)> A, X(l)> A, A)i
END5 /* aaMESS */
*/
PL1-0C Benutzungshinweise
/*
10/89
V E R E I N B A R U N G E N
DCL
DCL
DCL
DCL
DCL
DCL
DCL
DCL
DCL
DATS
FILE RECORD INPUT
DATT
FILE RECORD INPUT
DATU
FILE RECORD INPUT
EINGB
FILE RECORD INPUT
AUSGB
FILE RECORD OUTPUT
SRTBIN1 FILE RECORD INPUT
SRTCOUT FILE RECORD OUTPUT
BER80 CHARC80))
1 FELD,
2 ZEIC1 CHARC1),
2 ZEIC2_/f CHARC3),
2 ZEIC5 CHARC1),
2 ZEICH CHARC75)i
DCL RCODE BIN FIXEDC31);
DCL EOF BITCDi
/*
- - -
ENVCF
ENVCF
ENVCF
ENVCF
ENVCF
ENVCF
ENVCF
RECSIZEC80)
RECSIZEC80)
RECSIZEC80)
RECSIZEC80)
RECSIZEC80)
RECSI2EC80)
RECSIZEC80)
*/
BUFFERSC2))i
BUFFERSC2))}
BUFFERSC2)))
BUFFERSC2))}
BUFFERSC2))i
BUFFERSC2))i
BUFFERSC2)))
ALLGEMEINE FEHLER-BEHANDLUNG
*/
ON ERROR
BEGINi
ON FINISH SYSTEMi
1
CALL aaMESSC *** ABNORMALES PROGRAMM-ENDE * * * « , 2 ) 5
PUT SKIP EDITC I ONCODE= I , ONCODEC))CA, F C 8 ) ) i
PUT SKIP EDITC'FEHLER-ANZAHLs 1 , aaFEHLERHA, F C 3 ) ) )
n
C\f^>
ON CONDITIONCFEHLER)
BEGINi
CALL aaMESSC'SORTIERUNG FEHLERHAFT. 1 ^))
STOPi
ENDi
/*
INTERNE PROZEDUREN
BEGINN
--
PLSOR1:
PROCi
DCL EOF BITC1) INITClO'B)i
ON ENDFILECEINGB) EOF = 'l'Bi
OPEN FILECEINGB), FILECAUSGB))
READ FILECEINGB) INTOCFELD))
DO WHILEC-EOF)i
PUT FILECSYSPRINT)
EDITCZEIC1 M ZEIC2_4 II ZEIC5 I! ZEICHHSKIP, A)i
WRITE FILECAUSGB) FROMCFELD)i
READ FILECEINGB) INTOCFELD);
ENDi
CLOSE FILECEINGB), FILE (AUSGB);
ENDi /* PLSOR1 */
E15B:
PROC RETURNSCCHARC80))i
DCL EOF BITC1) INITC'O'B))
OPEN FILECSRTBIN1))
ON ENDFILECSRTBIN1) EOF = 'l'Bi
READ FILECSRTBIN1) INTOCFELD))
DO WHILEC-EOF)i
IF ZEIC1-=ZEIC5
THEN DOi
PUT FILECSYSPRINT)
EDITCSTRINGCFELD))CSKIP,
READ FILECSRTBIN1) INTOCFELD))
ENDi
ELSE DOi
CALL PLIRETCC12)i
RETURNCSTRINGCFELD))i
ENDi
ENDi
CALL PLIRETC(8)i
CLOSE FILECSRTBINDi
ENDi /* E15B */
E35C:
PROCCREOi
DCL REC CHARC80)i
DCL CHAR1_1 CHARC1),
CHAR1_2 GHARC1),
CHAR5 CHARC5))
OPEN FILECSRTCOUT)3
CHAR1_1 = SUBSTRCREC,l,l)i
CHAR1_2 = SUBSTRCREC,4,l)i
CHAR5 = SUBSTRCREC>1,5)5
IF CHARBs'ZZZZZ1
THEN DOi
CALL PLIRETCC8)i
CLOSE FILECSRTCOUT))
RETURN)
ENDi
D0S-4/ES
PL1-0C Benutzungshinweise
10/89
IF CHAR1_1=ISI & CHAR1_2='H'
THEN DO}
WRITE FILECSRTCOUT) FROMCREC)}
CALL PLIRETCC4)i
RETURNi
END;
ELSE DO i
PUT FILECSYSPRINT) EDITCRECMSKIP, A)i
RETURNJ
END,
ENDi /* E35C */
/*
INTERNE PROZEDUREN
ENDE
/*
---.*/
KURZ-INFORMATION UEBER DEN PROGRAMM-START
*/
CALL aaMESSC'*** PROGRAMM STARTET ... ***',2)J
PUT SKIPJ
/*
H A U P T T E I L
DES P R O G R A M M S
*/
11
DISPLAYC'TEST "PL1 - S/M BEGINNT')i
CALL 33MESSC'BEGINN EINGABE DER ZU SORTIERENDEN DATEN 1 ,2);
CALL PLSORli
CALL 33MESSCENDE
EINGABE DER ZU SORTIERENDEN DATEN',2);
CALL PLISRTAC1 SORT FIELDS=C1,15>CH,A) ',
RECORD TYPE=F,LENGTH=80 *,
0, RCODE35
IF RCODE-=0 THEN SIGNAL CONDITIONCFEHLER))
CALL aSMESSC'ERGEBNIS
VON PLISRTA.',2)i
CALL 33MESSC§SORTIERBEGRIFF 1. BIS 15. Z., AUFSTEIGENDS1)>
OPEN FILE(DATS)i
EOF = 'O'Bs
ON ENDFILE(DATS) EOF = 'l'Bi
READ FILECDATS) INTOCBER80)*
DO WHILE(-EOF)j
PUT FILECSYSPRINT) EDIT(BER80HSKIP, A)}
READ FILECDATS) IfrTOCBER80)}
ENDi
CLOSE FILECDATS)i
CALL 33MESSC'AUSGESTEUERTE DATENSAETZE',2)i
CALL PLISR1B ('1 SORT FIELDS=(3,1,CH,A) ",
RECORD TYPE=F,LENGTH=80 S
0, RCODEjElBB^'SRTBMi
IF RCODE-=0 THEN SIGNAL CONDITIONCFEHLER)}
CALL aaMESSC'ERGEBNIS VON PLISRTB.',2)i
CALL aaMESSC'SORTIERBEGRIFF 3, Z., AUFSTEIGEND1,!)}
OPEN FILECDATDi
EOF = «O'Bi
ON ENDFILECDATT) EOF = 'l'Bi
READ FILECDATT) INT0(BER80)i
DO WHILE(-*EOF)i
PUT FILECSYSPRINT) EDITCBER8O)CSKIP, A)j
READ FILECDATT) INTOCBER80)i
ENDi
CLOSE FILECDATDi
CALL aaMESSC'AUSGESTEUERTE DATENSAETZE',2)i
CALL PLISRTCC1 SORT FIELDS=C1O,1,CH,D) ',
RECORD TYPE=F,LENGTH=80 ',
0» RCODE, E35C,'SRTC')i
IF RCODE-=0 THEN SIGNAL CONDITIONCFEHLER);
CALL aaMESSC"ERGEBNIS
VON PLISRTC.',2)i
CALL aaMESSC1SORTIERBEGRIFF 10. Z., ABSTEIGEND',1))
OPEN FILECDATU)i
EOF = 'O'Bi
ON ENDFILECDATU) EOF = 'l'Bi
READ FILECDATU) INTOCBER80)i
DO WHILEC-*EOF)i
PUT FILECSYSPRINT) ED3TCBER80)CSKIP, A)i
READ FILECDATU) INTO(BER80)i
ENDi
CLOSE FILECDATU)i
DISPLAYC'TEST "PLl - S/M" BEENDET 1 );
/*
ENDE- DES HAUPTTEILS
CALL aaMESSC'*** NORMALES PROGRAMM-ENDE ***', D i
ENDi /* PL1SORT */
/*
RESET SYSIPT
EXEC LNKEDT
DEFD EINGB,DEVADDR=SYSIPT,RECSIZE=80
ASSGN SYS001,VOL=AAAAAA
DLBL
AUSGB»'SFILE1',l,SD,RECSIZE=80,BLKSIZE=80»NDS
EXTENT SYS001,NUM=2
DIBL SORTINI, ' S F I L E I S J S D
EXTENT SYS001
62
*/
D0S-4/ES
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
DLBL SORTOUT,'SFILE2•,1>SD,RECSIZE=80,BLKSIZE=80,NDS
EXTEFTT SYS001,NUM=2
DLBL SRIBIN1,ISFILE2I,>SD
EXTENT SYS001
DLBL SRTBOUT,'SFILE3',1,SD,RECSIZE=80,BLKSIZE=80,NDS
EXTENT SYS001,NUM=2
DLBL SRTCINl^SFILESSiSD
EXTENT SYS001
DLBL SRTCOUT,'SFILE41,1>SD,RECSIZE=80,BLKSIZE=80»NDS
EXTENT SYS001,NUM=2
DLBL DATS, I SFILE2',,SD
EXTENT SYS001
DLBL DATTy'SFILEZ* >9SD
EXTENT SYS001,NUM=2
DLBL DATU, I SFILE4',,SD
EXTENT SYS001,NUM=2
ASSGN SYSIPT,DATA=STRfSRTD
EXEC
8JS
Speicherabzuq und Wiederanlauf
Das Schreiben eines Speicherabzugs CPrüfpunkt) auf Platte oder Band zur Ermöglichung eines
eventuellen Wiederanlaufs wird im D0S-4/ES durch den Systemmakro CHKPT realisiert» der im
Handbuch [23 beschrieben ist.
Dem Benutzer des PL1-Optimierungscompilers steht der Bibliotheksmodul PLICKPT zur Verfügung»
der durch Benutzung des CHKPT-Makros einen Speicherabzug auf Band oder Platte schreibt. B e i
Ausgabe auf Platte definiert und eröffnet er zugleich die Datei CHKFIL für diesen Speicherabzug . Im Fall eines Wiederanlaufs wiederholt der Modul das Anschließen der Fehlerbehandlungsroutine CSTXIT-Routine).
Das Schreiben eines Speicherabzugs wird durch folgende Anweisung ausgeführt:
CALL PLICKPTC(SYSnnn,mess,med»rcode)3,
Bedeutung der Parameter» die alle wahlfrei sind:
SYSnnn - logisches Gerät für die Ausgabe des Speicherabzugs» standardmäßig SYS150.
mess
- beliebige Kette» die vor Ausführung d e s Speicherabzugs auf der Konsole ausgeschrieben wird.
med
Typ des Gerätes für den Speicherabzug:
Magnetband
DK - Platte
rcode - Variable mit den Attributen BIMARY FIXEDC31), in der der Rückkehrcode für die
Ausführung des Speicherabzugs gespeichert wird:
0
- Speicherabzug wurde nicht ausgeführt.
1...249 - Folgenummer des ausgeführten Speicherabzugs.
250
- Logisches Gerät falsch angegeben.
251
- Gerätetyp falsch angegeben.
Der Wiederanlauf von einem beliebigen Speicherabzug a u s erfolgt mit der Jobsteueranweisung:
[//] RSTRT SYSnnn,num[,CHKFIL3
Bedeutung der Parameter:
SYSnnn - logisches Gerät für die Eingabe des Speicherabzugs
num
- Folgenummer des Speicherabzugs
CHKFIL - DTF-Name der Plattendatei mit den Speicherabzügen
63
PL1-0C Benutzungshinweise
9^
10/89
D0S-4/ES
Speicherausdrucke
Speicherausdrucke werden
chen , um die Ursache von
Der PL1-Speicherausdruck
wichtige PL1-spezifische
9.1.
in Ausnahmefällen verwendet, wenn andere Hilfsmittel nicht ausreiFehlern in Programmen zu erkennen.
ist für die Analyse von PL1-Programmen gut geeignet» weil am Anfang
Angaben in aufbereiteter und verständlicher Form ausgegeben werden.
Erzeugung eines PL1-Speicherausdruckes
Ein PL1-Speicherausdruck wird durch
CALL PLIDUMPEC zeichenkettenausdruck_ll,zeichenkettenausdruck_21)]j
in einem PL1-Programm angefordert und über SYSLST ausgegeben.
Die aus "zeichenkettenausdruck_l" resultierende Zeichenkettenkonstante bestimmt die einzelnen Teile des PL1-Speicherausdrucks.
Die Zeichenkettenkonstante muß aus einer lückenlosen Folge von bestimmten Buchstaben bestehen.
Die folgende Übersicht gibt die zulässigen Buchstaben/Buchstabenpaare und ihre Bedeutung an.
Nach der Ausgabe des PL1-Speicherausdrucks soll die Programmausführung
- fortgesetzt werden
C
- nicht fortgesetzt werden
S
* * * CALLING TRAGE * * *
Ein Protokoll aller aktiven
soll
- ausgegeben werden
- nicht ausgegeben werden
Prozeduren, BEGIN-Blöcke,
ON-Einheiten und
Bibliotheksmoduln
T
.NT
* * * FILE INFORMATION * * *
Protokoll über alle im Moment des Aufrufs offenen Dateien (Attribute> Pufferinhalte) soll
- ausgegeben werden
F
- nicht ausgegeben werden
NF
Die über die Buchstaben "T" und "F11 angeforderten Protokolle sollen
- in erweiterter Form ausgegeben werden
B
a) Erweiterung der Funktion T um den hexadezimalen Ausdruck der PL1-Steuerblöcke TCA,
TIA> LWS> Kette der DSA und statischen Datenbereiche der aktiven Prozeduren (unter
der Überschrift TRAGE OF PL1 CONTROL BLOCKS)
b) Erweiterung der Funktion F um den hexadezimalen Ausdruck des Inhalts der FCB, DTF,
DCLCB und Puffer Gunter der Überschrift FILE INFORMATION),
c) Erweiterung der Funktion T um den Ausdruck der Adresse des TCA, um den Ausdruck der
Eingangsadressen der aktiven Prozeduren, BEGIN-Blöcke> ON-Einheiten und Bibliotheksmoduln und um den Ausdruck der Adressen der dazugehörigen DSA,
d) Erweiterung der Funktion F um den Ausdruck der Adressen von FCB, DTF und DCLCB>
e) Erweiterung der Angaben unter der Überschrift ERROR DIAGNOSTICS um den Ausdruck der
Registerinhalte beim Eintritt in diese Routine.
- nicht in erweiterter Form ausgegeben werden
NB
- zeichenweise und hexadezimal ausgegeben werden ....H
- nur zeichenweise ausgegeben werden
NH
Kenn bei einem Aufruf von PLIDUMP kein erstes Argument oder die leere Zeichenkette angegeben
wird» werden folgende Standards wirksam:
C
T
F
NB
NH
Die aus "zeichenkettenausdruck_2" resultierende Zeichenkettenkonstante dient nur Zwecken der
Identifikation der Auflistungen. Die Zeichenkettenkonstante darf nicht mehr als 90 Bytes
lang sein.
9.2.
Inhalt der Auflistungen eines Aufrufs von PLIDUMP
Jede Auflistung von PLIDUMP beginnt mit der Überschrift * * * PL1 DUMP * * * und der Identifikation» die im zweiten Argument der Anweisung CALL PLIDUMP angegeben wurde.
Die Ausgabe umfaßt im allgemeinen die folgenden vier Teile:
- Aufruffolge-Protokoll
Überschrift: * * * CALLING TRACE * * *
Mit dem Aufruffolge-Protokoll kann der Aufruf von PLIDUMP bezüglich aller im Moment des
Aufrufs aktiven Blöcke CPROCEDURE-Blöcke, BEGIN-Blöcke) und ON-Enheiten lokalisiert werden*
Im Aufruffolge-Protokoll kann außerdem unter der Überschrift "ERROR DIAGNOSTICS11 eine Fehleranalyse enthalten sein.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
- Protokoll der Steuerblöcke
Oberschrift: TRACE OF PL1 CONTROL BLOCKS
Das Protokoll enthält folgende aktuellen Steuerblöcke und Bereiche:
Aufgaben-Steuerblock (TASK COMMUNICATIONS AREA - TCA)
Anhang zum Aufgabensteuerblock (TCA IMPLEMENTATION APPENDAGE - TIA)
Bibliotheksarbeitsbereich (LIBRARY WORK SPACE - LWS)
Dynamischer Speicherbereich (DYNAMIC SAVE AREA - DSA)
Statischer Speicherbereich (STATIC)
- Protokoll der Verzweigungen im Programmablauf
Überschrift: * * * FLOW ANALYSIS * * *
Das Protokoll der Verzweigungen im Programmablauf wird durch die Compileroption FLOW ausgelöst und ermöglicht eine vollständige Verfolgung der bereits durchlaufenen Programmteile
aufgrund der im Protokoll wiedergegebenen Nummern der Anweisungen/Klauseln oder Zeilen.
- Protokoll zu den Dateien des Programms
Überschrift: * * * FILE INFORMATION * * *
In dieser Auflistung sind Angaben zu den Datei-Steuerblocken (FCB)» Daten-Steuerblöcken
(DTF) und Vereinbarungssteuerblöcken (DCLCB) enthalten. Außerdem werden die aktuellen Pufferinhalte für alle im Programm zum Zeitpunkt des Aufrufs offenen Dateien ausgegeben.
9.3.
Lokalisierung von Variablen
In Abhängigkeit vom Speicherklassenattribut ist die Lokalisierung der Variablen unterschiedlich:
AJTOMATIC-Variablen
er Speicherplatz einer AUTOMATIC-Variablen liegt im DSA des Blocks» in dem die Variable
vereinbart wurde.
Der Liste "VARIABLE STORAGE MAP" kann für jede AUTOMATIC-Variable eine Relativadresse (in
der mit "OFFSET" überschriebenen Spalte dezimal» in der mit "(HEX)" überschriebenen Spalte
hexadezimal) entnommen werden» die die Lokalisierung des zugehörigen Speicherplatzes
ermöglicht.
STATIC-Variablen
Jer Speicherplatz von STATIC-Variablen liegt im statischen Speicher der externen Prozedur.
De
Der statische Speicher wird über Register 3 adressiert5 der für die Adressierung erforderliche Wert von Register 3 ist im Registerrettebereich der externen Prozedur bewahrt.
Der Liste "VARIABLE STORAGE MAP" kann für jede STATIC-Variable eine Relativadresse entnommen
werden» die zum Wert von Register 3 addiert» die Lokalisierung des zugehörigen Speicherplatzes erlaubt.
iLLED-Variabler
Die Werte von CONTROLLED-Variablen sind in CONTROLLED-Variablen-Steuerblocken enthalten.
Für jede Generation existiert ein CONTROLLED-Variablen-Steuerblock.
Im Pseudoregistervektor (PRV) ist für jede CONTROLLED-Variable ein Pseudoregister enthalten»
dessen Wert auf den Anfang des vierten Wortes des CONTROLLED-Variablen-Steuerblocks der
letzten nicht freigegebenen Generation zeigt.
Der CONTROLLED-Variablen-Steuerblock hat folgenden Aufbau:
1. Wort:
2.
3.
4.
ab
Adresse des zur CONTROLLED-Variablen gehörenden Pseudoregisters relativ zum
PRV-Anfang
Wort:
Länge des CONTROLLED-Variablen-Steuerblocks
Wort:
Adresse des CONTROLLED-Variablen-Steuerblocks der vorhergehenden Generation
'Wort:
Aufgaben-Aufrufzähler
Byte 17: skalare arithmetische Daten: Daten
sonst:
Adresse der Daten
Die Adresse des Pseudoregistervektors ist im zweiten Wort des Aufgabensteuerblocks (TCA) zu
finden.
BASED-Variablen
Der Speicherplatz einer BASED-Variablen ist über den Wert der zugeordneten Zeigervariablen
lokalisierbar.
Ist der den Speicherplatz für die BASED-Variable bestimmende Zeiger seinerseits eine BASEDVariable» so ist diese Besonderheit zu beachten.
Variablen in AREA-Variablen
Der Speicherplatz von Variablen» die in AREA-Variablen
von OFFSET-Variablen lokalisieren.
liegen» läßt sich aufgrund der Werte
EXTERNAL-Variablen
Der Speicherplatz von EXTERNAL-Variablen ist über Adressen» die im
externen Prozedur enthalten sind» lokalisierbar.
statischen Speicher der
PL1-0C Benutzungshinweise
Anhang 1
10/89
D0S-4/ES
Moduln der PL1-Bibliothek
Der PLl-Optimierungscompiler wird durch zwei Bibliotheken, die residente und die transiente
PL1-Bibliothek, unterstutzt. Die Moduln der residenten PL1-Bibliothek werden mit dem Objektmodul verbunden und werden somit ein Teil der ausführbaren Programmphase. Sie übernehmen die»
Verbindung mit dem System.
Die Moduln der transienten PL1-Bibliothek werden nur bei Bedarf geladen. Wird der Modul
nicht mehr gebrauchty so wird der Speicherplatz wieder freigegeben. Die Moduln der transienten PL1-Bibliothek werden entweder durch andere transiente Moduln oder durch Moduln der residenten PL1-Bibliothek in den Hauptspeicher gebracht.
Jeder Modul hat einen 6 oder 7 Buchstaben langen Namen der Form IOTabctdl. Residente Moduln
haben zusätzlich noch einen Namen für den Programmverbinder. Dieser Name wird im übersetzten
Code benutzt.
ModulEingangsiModulname(n)
igruppen- name
name
IOTabc
IOTabcEd] IOTabcde
GAC
GAOi
1 GAP
GAPR
GBD
GBDU
GACMA
GACMB
GAPRA
Pseudovariable PRIORITY
DISPLAY-Anweisung
Eingangspunkt für DISPLAY-AnWeisung
GBDV
GBDVA
Standardfunktion DATE
GBDW
GBDWA
DELAY-Anweisung
GBT
GBTZ
GBTZA
Standardfunktion TIME
GBW
GBWK
GBWKA
WAIT für Felder von Ereignissen
GBWL
GBWLA
WAIT
GCBFA
GCBFB
AND, OR für Bitketten, ausgerichtet auf Bytegrenze
AND
OR
GCBH
GCBHA
NOT für Bitketten, ausgerichtet auf Bytegrenze
GCCL
GCCLA
Standardfunktion INDEX für Zeichenkettenvariable
GCCN
GCCNA
GCCNB
Verkettungsoperation für Zeichenketten
Standardfunktion REPEAT für Zeichenkettenvariable
GCCS
GCCSA
Standardfunktion TRANSLATE für Zeichenkettenvariable
GCCU
GCCUA
Standardfunktion VERIFY für Zeichenkettenvariable
1
GCB
GCC
GCBF
GCG
GCG
Arbeit mit Bitketten
GCGA
GCGAA
Standardfunktion BOOL für Bitkettenvariable
GCGB
GCGBA
Vergleich von Bitketten
GCGD
GCGDA
GCGDB
GCGDC
Zuweisung einer auf Bytegrenze ausgerichteten Bitkette
Auffüllen einer auf Bytegrenze ausgerichteten Bitkette
mit Nullen (wird nur vom übersetzten Code benutzt)
wie GCGDB> wird nur von anderen Bibliotheksmoduln benutzt
GCGF
GCGFA
Standardfunktion INDEX für Bitkettenvariable
GCGH
GCGHA
GCGHB
GCGHC
Verkettungsoperation für Bitketten
Standardfunktion REPEAT für Bitkettenvariable
Zuweisung einer Bitkette
GCGJA
GCGJB
GCGJC
GCGJD
Standardfunktion SUBSTR
SUBSTRCbitkette>p)
SUBSTRC zeichenkette,p)
SUBSTRC bitkette,p,1)
SUBSTRC zeichenkette >p,1)
GCGLA
Standardfunktion VERIFY für Bitkettenvariable
GCGJ
1
1
GCGL
|
66
Pseudovariable COMPLETION
Zuweisung von EVENT-Variablen
GBDUA
1
1
I
Funktions des Moduls
GDC
GDCS
GDCSA
Speicherabzug/Wiederanlauf
GDD
GDDF
GDDFA
Startroutine für den Speicherausdruck
PL1-0C Benutzungshinweise
ModulModulEingangsgruppen- name
name(n)
name
IOTabc
IOTabcCdJ IOTabcde
GDS
GDSH
GDSHA
GDSHB
GDSHC
GDSHO
I
GFC
GFE
Realisierung der Simlation von Gleitkommagenauigkeit
mit erweiterter Mantisse
GFCZ
GFCZA
Festlegung der Standardsystemmaßnahme für die
ERROR-Bedingung
GFEOA
GFERA
GFERB
1
GFERC
GFFV
GFFVA
GFFVB
GFFVC
GFO
GGA
Unterbrechungsbehandlung für:
1
vom Betriebssystem erkannte Bedingungen
|
CProgrammunterbrechungen? z.B. ON-Bedingungen
FIXEDOVERFLOW, ZERODIVIDE} Adressierungsausnahmen (ERROR))
Bedingungen> die durch vom PL1-Compiler erzeugten Code
erkannt werden (z.B. ON-Bedingungen: SIZE> CHECK»
SUBSCRIPTRANGE)
Bedingungen> die in der Fehlerbehandlung und in der
Arbeit von verschiedenen anderen PL1-Bibliotheksmoduln
erkannt werden
Optionen FLOW und COUNT
Erzeugt und initialisiert die Tabelle der Verzweigungen
Aktualisiert die Tabelle der Verzweigungen? erzeugt und
aktualisiert Häufigkeitstabellen
Markiert die Verzweigungs- und Häufigkeitstabellen* wenn
ein GOTO aus einem Block auftritt.
GFOEA
Standardfunktion ONCODE
GFOG
GFOGA
Standardfunktion ONLOC
GGAAA
GGAAB
GGAAC
Standardfunktionen ALL(x) und ANY(x)> x Bitkettenfeld
ALL(x), ANYCx) für ALIGNED-Felder
ALLCx) für UNALIGNED-Felder
ANYCx) für UNALIGNED-Felder
GGIAA
Indizierung gestreut gespeicherter Felder
GGMMA
GGMMB
GGMMC
GGMMD
Bestimmung des Strukturaufbaus
Bestimmung der Strukturlänge
Bestimmung des Strukturaufbaus nach PL1-Konvention
Bestimmung des Strukturaufbaus nach COBOL-Konventionen
schrittweise Bestimmung des Strukturaufbaus (nur
bei Auftreten von REFER)
GGAA
GGIA
GGM
GGMM
I
GGMT
GGMTA
GGMTB
GGP
•" I
Ausführung der Standardsystemmaßnahme für die
CHECK-Bedingung
GFOE
GGI
1
!
" '"•
GFER
GFF
Anschluß an das Sortierprogramm
unsortierte Sätze von DateiCen) SORTINn, sortierte Sätze
1
auf Datei SORTOUT
Festlegung der Verwendung des Benutzerausganges E15
Festlegung der Verwendung des Benutzerausganges E35
Festlegung der Verwendung der Benutzerausgänge El5 und E35
GFCFA
GFED
D0S-4/ES
Funktions des Moduls
GFCF
!
i1
10/89
Standardfunktion STRING
Bestimmung der Kettenlänge» die sich bei Verkettung
aller Elemente der Argumentstruktur oder des
Argumentfeldes ergibt
Verkettung
j
Standardfunktion PROD(x)
GGPF
GGPFA
GGPGA
GGPGB
Feldelemente von x sind DECIMAL FLOAT mit
erweiterter Mantisse.
REAL FLOAT
COMPLEX FLOAT
GGPHA
GGPHB
GGPHC
GGPHD
Feldelemente von x sind DECIMAL FLOAT mit kurzer Mantisse.
REAL FLOAT (kurze Mantisse)
COMPLEX FLOAT (kurze Mantisse)
REAL FLOAT (lange Mantisse)
COMPLEX FLOAT (lange Mantisse)
1
GGPPA
STRING - Pseudovariable
GGPG
GGPH
GGPP
Feldelemente von x sind BINARY FIXED oder DECIMAL FIXED,
REAL oder COMPLEX
67
PL1-0C Benutzungshinweise
ModulEingangsModulgruppen- name
name (n)
name
IOTabctd] IOTabcde
IQTabc
GSS
GGSUA
GGSWA
GGSWB
GGSWC
GGSWD
Feldelemente von x sind DECIMAL FLOAT mit
kurzer Mantisse«
REAL FLOAT (kurze Mantisse)
COMPLEX FLOAT (kurze Mantisse)
REAL FLOAT (lange Mantisse)
COMPLEX FLOAT (lange Mantisse)
GGY
Standardfunktion POLY (a,x)
GGYY
GGYYA
GGYYB
Argumente mit erweiterter Mantisse
REAL FLOAT
COMPLEX FLOAT
GGYZA
GGYZB
GGYZC
GGYZD
Argumente:
REAL FLOAT (kurze Mantisse)
COMPLEX FLOAT (kurze Mantisse)
REAL FLOAT (lange Mantisse)
COMPLEX FLOAT (lange Mantisse)
GKAFA
Datenumwandlung:
Arithmetischer Typ in Zeichenkettentyp
GGYZ
GKAF
|
GKB
GKG
68
Feldelemente von x sind BINARY FIXED oder DECIMAL FIXED,
REAL oder COMPLEX.
GGSVA
GGSVB
GGSW
GKE
Funktions des Moduls
Feldelemente von x sind DECIMAL FLOAT mit
erweiterter Mantisse.
REAL FLOAT
COMPLEX FLOAT
GGSV
GKC
D0S-4/ES
Standardfunktion SUMCx)
GGSU
GKA
10/89
Datenumwandlung: Bitkettentyp
GKBC
GKBCA
in Bitkettentyp
GKBD
GKBDA
in Zeichenkettentyp
GKBE
GKBEA
in PICTURE-Zeichenkette
GKCL
GKCLA
Datenumwandlung: Zeichenkettentyp in reellen
oder komplexen arithmetischen Typ
GKO1
GKQ1A
Datenumwandlung: Zeichenkettentyp in Bitkettentyp
GKCN
GKCNA
GKCNB
GKCNC
Zuweisung einer Zeichenkette fester oder variabler
Länge an eine Kette fester oder variabler Länge
HIGH
LOW
GKCO
GKCOA
Datenumwandlung Zeichenkettentyp in PICTURE-Zeichenkette
GKCP
GKCPA
Steuermodul für Zeichenkettenkonvertierung
GKEDB
GKEDF
GKEDX
GKEFX
GKEZB
GKEZF
GKEZX
Datenumwandlung:
DECIMAL FIXED in BIT
DECIMAL FIXED in FLOAT
DECIMAL FIXED in BINARY FIXED
FLOAT in BINARY FIXED
internes dezimales Format in BIT
internes dezimales Format in FLOAT
internes dezimales Format in BINARY FIXED
GKGS
GKGSA
Gültigkeitsprüfung numerischer Ketten
GKGU
GKGUA
Gültigkeitsprüfung PICTURE-Zeichenketten
GKGW
GKGWA
Tabelle der Zehnerpotenzen
GKGY
GKGYA
Nullsetzen des Real- oder Imaginärteils einer komplexen Zahl
GKE
PL1-QC Benutzungshinweise
ModulModulEingangsgruppen- name
name ( n )
name
lOTabc
lOTabctdl IOTabcde
6KH
GKH
GKHFD
GKHFE
GKHFH
1
GKHFP
GKK
GKM
GKO
GKP
GKR
GKT
GKU
10/89
D0S-4/ES
Funktions des Moduls
GKHFY
GKHXD
GKHXE
GKHXF
GKHXH
GKHXP
GKHXY
Datenumwandlung:
FLOAT in DECIMAL FIXED
FLOAT in numerische Gleitkommakette
FLOAT in F-Format
FLOAT in numerische Festkommakette
FLOAT in E-Format
BINARY FIXED in DECIMAL FIXED
BINARY FIXED in numerische Gleitkommakette
BINARY FIXED in FLOAT
BINARY FIXED in F-Format
BINARY FIXED in numerische Festkommakette
BINARY FIXED in E-Format
GKKDD
GKKDP
GKKZD
GKKZP
Datenumwandlung:
DECIMAL FIXED in DECIMAL FIXED
DECIMAL FIXED in numerische Festkommakette
internes dezimales Format in DECIMAL FIXED
internes dezimales Format in numerische Festkommakette
GKMPB
GKMPD
GKMPE
GKMPF
GKMPP
GKMPX
Datenumwandlung:
Numerische Kette
Numerische Kette
Numerische Kette
Numerische Kette
Numerische Kette
Numerische Kette
GKODE
GKODP
GKOZE
Datenumwandlung:
DECIMAL FIXED in numerische Gleitkommakette
DECIMAL FIXED in numerische Festkommakette
Internes dezimales Format in numerische Gleitkommakette
GKPBD
GKPBE
GKPBF
GKPBP
GKPBX
Datenumwandlung:
BIT in DECIMAL FIXED
BIT in numerische Gleitkommakette
BIT in FLOAT
BIT in numerische Festkommakette
BIT in BINARY
GKRFB
GKRXB
Datenumwandlung:
FLOAT in BIT
BINARY FIXED in BIT
GKTHD
GKTHE
GKTHF
GKTHI
GKTHP
GKTKX
GKTHZ
Datenumwandlung:
Dezimalkonstante
Dezimalkonstante
Dezimalkonstante
Dezimalkonstante
Dezimalkonstante
Dezimalkonstante
Dezimalkonstante
GKUID
GKUIE
GKUIF
GKÜIX
GKUIP
Datenumwandlung:
Binärkonstante in
Binärkonstante in
Binärkonstante in
Binärkonstante in
Binärkonstante in
GKVDY
GKVZY
Datenumwandlung:
DECIMAL FIXED in E-Format
Internes dezimales Format in E-Format
GKWDH
GKWZH
Datenumwandlung:
DECIMAL FIXED in F-Format
Internes dezimales Format in F-Format
GKK
GKM
GKO
GKP
GKR
GKT
GKU
in
in
in
in
in
in
in
in
in
in
in
in
in
BIT
DECIMAL FIXED
numerische Gleitkommakette
FLOAT
numerische Festkommakette
BINARY FIXED
1
DECIMAL FIXED
numerische Gleitkommakette
FLOAT
eine ganze Zahl
numerische Festkommakette
BINARY FIXED
das interne dezimale Format
1
I
1
!
DECIMAL FIXED
numerische Gleitkommakette
FLOAT
BINARY FIXED
numerische Festkommakette
„
GKV
GKW
GKX
GKV
GKW
GKXH
GKXHA
GKXHB
GKXJ
GKXJA
GKXJB
GKXL
GKXLA
Umwandlung:
beliebiger Datentyp in Gleitkommaformat
mit erweiterter Mantisse
Formatelemente in Daten» die Gleitkommaformat
mit erweiterter Mantisse haben können
i
I
!
Umwandlung:
Gleitkommaformat mit erweiterter Mantisse
in einen beliebigen Datentyp
von Daten im Gleitkommaformat mit erweiterter
Mantisse in Formatelemente
........ —— . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I
Tabelle der Zehnerpotenzen (erweitere Mantisse)
69
PL1-0C Benutzungshinweise
10/89
D05-4/ES
ModulEingangs- Funktions des Moduls
Modulgruppen- name
name(n)
name
IOTabc
IOTabcCd] IOTabcde
GKY
GKY
GKYFF
GKYXX
GMA
SQRT(x)
GMAK
GMAL
GMAKA
GMALA
x REAL FLOAT (kurze Mantisse)
x REAL FLOAT (erweiterte Mantisse)
GMAM
x REAL FLOAT (lange Mantisse)
GHAO
GMAMA
GMAOA
GMAP
GMAPA
x COMPLEX FLOAT (lange Mantisse)
GtlAQ
GMAQA
x COMPLEX FLOAT (erweiterte Mantisse)
EXP(x)
GMCK
GMCKA
x REAL FLOAT (kurze Mantisse)
GMCM
x REAL FLOAT (lange Mantisse)
GMCO
GMO1A
GMCOA
GMCP
GMCPA
x COMPLEX FLOAT (lange Mantisse)
GMCQ
GMCQA
x COMPLEX FLOAT (erweiterte Mantisse)
GMC
_„
GMD
x COMPLEX FLOAT (kurze Mantisse)
x COMPLEX FLOAT (kurze Mantisse)
Fehlerintegral und dessen Komplement
GMDK
GMDL
GMDM
GMDKA
GMD KB
Argument REAL FLOAT (kurze Mantisse)
ERF(x)
ERFC(x)
GMD LA
GMDLB
Argument REAL FLOAT (erweiterte Mantisse)
ERF(x)
ERFC(x)
GMDMA
GMDMB
Argument REAL FLOAT (lange Mantisse)
ERF(x)
ERFC(x)
GME
j
1
Logarithmusfunktion
GMEK
GMEKA
GME KB
GHEKC
x REAL FLOAT (kurze Mantisse)
LOG(x)
LOG2(x)
LOG10(x)
GMEMA
GMEMB
GMEMC
x REAL FLOAT (lange Mantisse)
LOG(x)
LOG2(x)
LOG10(x)
GMEO
GMEOA
LOG(z), z COMPLEX FLOAT (kurze Mantisse)
GMEP
'GMEPA
GMEQA
LOG(z), z COMPLEX FLOAT (lange Mantisse)
GMEM
GMEQ
70
Datenumwandlung:
FLOAT in FLOAT
BINARY FIXED in BINARY FIXED
LOG(z), z COMPLEX FLOAT (erweiterte Mantisse)
|
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
iModul- iModul|Eingangs-| Funktions des Moduls
Igruppen-jname
name(n)
jname
lIOTabc
I0Tabc[d] IOTabcde
I GMF
SIN und COS, SINH und COSH
I GMFK
GMFL
GMFKA
GMFKB
j GMFKC
GMFKD
GMFLA
GMFLB
GMFLC
| GMFLD
I GMFM
I
GMFO
GMFP
GMFMA
GMFMB
GMFMC
GMFMD
I GMFPA
I GMFPB
I GMFPC
GMFPD
z COMPLEX FLOAT (lange Mantisse)
SIN(z)
| SINH(z)
COSCz)
COSH(z)
GMGK
GMGL
GMGO
I GMGP
GMGQ
x REAL FLOAT (lange Mantisse)
SIN(x)
SIND(x)
COS(x)
COSD(x)
z COMPLEX FLOAT (kurze Mantisse)
SIN(z)
SINH(z)
COS(z)
COSH(z)
i
GMGM
I x REAL FLOAT (erweiterte Mantisse)
| SIN(x)
I SIND(x)
COS(x)
COSD(x)
i GMFOA
GMFOB
GMFOC
GMFOD
I GMFQ
GMG
x REAL FLOAT (kurze Mantisse)
SIN(x)
SIND(x)
COS(x)
COSD(x)
GMFQA
GMFQB
GMFQC
GMFQD
z COMPLEX FLOAT (erweiterte Mantisse)
SIN(z)
SINH(z)
COS(z)
COSH(z)
GT1GKA
GMGKB
TAN und TANH
x REAL FLOAT (kurze Mantisse)
TAN(x)
TAND(x)
GMGLA
GMGLB
i
x REAL FLOAT (erweiterte Mantisse)
| TAN(x)
TAND(x)
GMGMA
GMGMB
x REAL FLOAT (lange Mantisse)
TAN(x)
TAND(x)
GMGOA
GMGOB
z COMPLEX FLOAT (kurze Mantisse)
TAN(z)
TANH(z)
GMGPA
GMGPB
z COMPLEX FLOAT (lange Mantisse)
j TAN(z)
TANH(z)
GMGQA
GMGQB
z COMPLEX FLOAT (erweiterte Mantisse)
TAN(z)
TANH(z)
SINH und COSH mit Argument REAL FLOAT
GMH
GMHK
GMHL
GMHM
GMHKA
GMHKB
I GMHLA
GMHLB
GMHMA
GMHMB
x kurze Mantisse
SINH(x)
COSH(x)
x erweiterte Mantisse
SINH(x)
COSH(x)
x lange Mantisse
SINH(x)
COSH(x)
71
PL1-0C Benutzungshinweise
10/89
Eingangs- Funktions des Moduls
ModulModulgruppen- name
name(n)
name
IOTabc
IOTabcCdJ IOTabcde
TANH mit Argument REAL FLOAT
GMI
1
GMIK
GMIKA
TANH(x), x kurze Mantisse
GMIL
GMILA
TANH(x), x erweiterte Mantisse
GMIM
GMIMA
TANH(x), x lange Mantisse
arctan und artanh
GML
GMLK
GMLL
GMLM
GMLO
GMLP
GMLQ
GMLKA
GMLKB
GtlLKG
GMLKD
x, y REAL FLOAT (kurze Mantisse)
ATANCx)
ATANDCx)
ATANCy, x)
ATANDCy, x)
GMLLA
GMLLB
GMLLC
GMLLD
x, y REAL FLOAT (erweiterte Mantisse)
ATANCx)
ATANDCx)
ATANCy, x)
ATANDCy, x)
GMLMA
GMLMB
GMLMG
GMLMD
x, y REAL FLOAT (lange Mantisse)
ATANCx)
ATANDCx)
ATANCy, x)
ATAND (y, x)
GMLOA
GMLOE
z COMPLEX FLOAT (kurze Mantisse)
ATANCz)
ATANHCz)
GMLPA
GMLPB
z COMPLEX FLOAT Clange Mantisse)
ATANCz)
ATANHCz)
GMLQA
GMLQB
z COMPLEX FLOAT (erweiterte Mantisse)
ATANCz)
ATANHCz)
1 GMM
artanh mit Argument REAL FLOAT
GMMK
GMMKA
ATANHCx), x kurze Mantisse
SMML
GMMLA
ATANH(x), x erweiterte Mantisse
GMMM
GMMMA
ATANHCx), x lange Mantisse
aresin und arecos mit Argument REAL FLOAT
GMN
6MNK
GMNL
GMNM
1
1
x kurze Mantisse
ASINCx)
ACOSCx)
GMNLA
GMNLB
x erweiterte Mantisse
ASINCx)
ACOSCx)
GMNMA
GMNMB
x lange Mantisse
ASINCx)
ACOSCx)
GMPFA
GMPFB
ADDCx, y, p, q)
x, y REAL DECIMAL FIXED
x, y COMPLEX DECIMAL FIXED
GMP
GMPF
GMQ
GMQI
GMQJ
GMQIA
MULTIPLYCx, y» p, q)> x, y COMPLEX BINARY FIXED
GMQJA
MULTIPLYCx, y, p, q ) , x, y COMPLEX DECIMAL FIXED
GMRI
GMRJ
GMRIA
DIVIDECx, y, p, q ) , x, y COMPLEX BINARY FIXED
GMRJA
DIVIDECx, y, p, q ) , x, y COMPLEX DECIMAL FIXED
GMR
72
GMNKA
GMNKB
D0S-4/ES
PL1-0C Benutzungshinweise
ModulModulEingangsgruppen- name
name(n)
name
IOTabc
IOTabc[dl XOTabcde
GM5I
GMSJ
GMSO
GMSP
GMSQ
GMSIA
GMSJA
GMSOA
GMSPA
GMSQA
GMTF
GMTFA
GMTFB
GMU
GMVO
GMVP
Verschieben und Zuweisen/Laden
Zuweisen
Laden
REAL DECIMAL FIXED
zl, z2 COMPLEX DECIMAL FIXED
zl * z2
zl/z2
GMUNA
GMUNB
zl * z2, zl» z2 COMPLEX FLOAT
kurze Mantisse
lange Mantisse
GMUQA
GMUQB
zl, z2 COMPLEX FLOAT erweiterte Mantisse
zl * z2
zl/z2
GMVOA
GMVPA
GMW
zl/z2, zl, z2 COMPLEX FLOAT (kurze Mantisse)
zl/z2, zl, z2 COMPLEX FLOAT (lange Mantisse)
x**n und z**n
mit n ganze Zahl
GMWK
GMWKA
x**n» x REAL FLOAT (kurze Mantisse)
GMWL
GMWLA
x**n, x REAL FLOAT (lange Mantisse)
GMWM
GMWKA
x**n> x REAL FLOAT (erweiterte Mantisse)
GMWNA
GMWNB
z**n, z COMPLEX FLOAT
kurze Mantisse
lange Mantisse
GMWQA
z**n» z COMPLEX FLOAT (erweiterte Mantisse)
GMWN
GMHQ
GMX
|
x**y (bzw. zl**z2) und Logarithmusfunktion
GMXK
GMXKA
x**y, x, y REAL FLOAT (kurze Mantisse)
GMXLA
GMXLB
GMXLC
GMXLJD
GMXLE
GMXM
*
GMXO
GMXMA
x, y REAL FLOAT (erweiterte Mantisse)
X**y
e**x
LOG(x)
LOG2(x)
LOG10(x)
x**y, x, y REAL FLOAT (lange Mantisse)
GMXOA
zl**z2> zl, z2 COMPLEX FLOAT (kurze Mantisse)
GMXP
GMXPA
zl**z2, zl, z2 COMPLEX FLOAT (lange Mantisse)
GMXQ
GMXQA
zl**z2, zl, z2 COMPLEX FLOAT (erweiterte Mantisse)
GOCLA
GOCLB
GOCLC
GOCLD
OPEN/CLOSE-Steuermodul
explizites Eröffnen
implizites Eröffnen
explizites Schließen
implizites Schließen
GRML
GRMLA
Steuermodul für Eingabekonvertierungen aus dem
A-, B- und Zeichenketten-P-Format
GRMN
GRMHA
Steuermodul für Ausgabekonvertierung in das A-Format
GMXL
GRM
BINARY FIXED
DECIHAL FIXED
FLOAT (kurze Mantisse)
FLOAT (lange Mantisse)
FLOAT (erweiterte Mantisse)
GMUJA
GMUJ©
GMUQ
GOC
. z CÖMPLEX
. z COMPLEX
z COMPLEX
z CQMPLEX
z COMPLEX
zl, z2 COMPLEX BINARY FIXED
zl * z2
zl/z2
GMUN
1
i
GMUIA
GMUIB
GMUJ
GMX
Funktions des Moduls
zl * z2 und zl/z2
GMUI
GMV
D0S-4/ES
ABS(z)
GMS
GMT
10/89
GOCL
i
71
PL1-0C Benutzungshinweise
EingangsiModul- ModulnameCn)
Igruppen- name
Iname
IOTabctdl IOTabcde
IOTabc
10/89
D0S-4/ES
Funktions des Moduls
GRN
GRNH
GRNHA
Steuermodul für Ausgabekonvertierung in das
B- und Zeichenketten-P-Format
GRO
GROU
GROUA
Steuermodul für Eingabekonvertierung aus dem C-Format
GROV
GROVA
Steuermodul für Ausgabekonvertierung in das C-Format
GROW
GROWA
COPY-Option
Csteuert das Schreiben eines Feldes auf die in der
COPY-Option einer GET FILE-Anweisung angegebenen Datei)
GROX
GROXA
Konvertierungssicherung (ONSOURCE-Kette)
GRQAA
GRQAB
DATA-gesteuerte Eingabe
GET DATA-Anweisungen mit Datenlisten
GET DATA-Anweisungen ohne Datenlisten
1
GRQ
1
GRQA
— -—
GRQD
GRQDA
GRQDB
GRQDC
GRQDD
GRQDT
GRR
GRRF
GRRG
GRRFA
GRRFB
GRRGA
GRRGT
GRS
GRU
——
.---——-—--.
——.......... .....
DATA-gesteuerte Ausgabe
Felder
einzelne Feldelemente
alle bekannten Variablen Cauch für Ausgabe
wegen SIGNAL CHECK)
CHECK-Ausgabe für eine einzelne Variable
Erzeugung des abschließenden Semikolons
EDIT-gesteuerte Ein-/Ausgabe
steuert die EDIT-gesteuerte Eingabe eines Elementes
steuert die EDIT-gesteuerte Ausgabe eines Elementes
EDIT-gesteuerte Eingabe
Verwaltung für ein Element» das sich über die
Satzgrenze erstreckt
Erzeugung der TRANSMIT-Bedingung für EDIT-gesteuerte
Eingabe
GRRH
GRRHA
EDIT-gesteuerte Ausgabe
(Verwaltungsaufgaben für ein Element der EDIT-gesteuerten
Ausgabe» das sich über eine Satzgrenze erstreckt)
GRSO
GRSOA
Steuermodul für Eingabekonvertierung aus dem F- und
E-Format
GRSP
GRSPA
Steuermodul für Ausgabekonvertierung in das F- und
E-Format
GRUMA
GRUHB
GRUMC
GRUND
GRUMT
GET FILE-Initialisierung
GET FILE-Anweisung
GET FILE-Anweisung mit SKIP-Option
GET FILE-Anweisung mit COPY-Option
GET FILE-Anweisung mit SKIP und COPY
Beendigung
GRUNA
GRUNB
GRUNC
GRUND
GRÜNE
GRÜNT
PUT FILE-Initialisierung
PUT FILE-Anweisung
PUT FILE-Anweisung mit PAGE-Option
PUT FILE-Anweisung mit LINE-Option
PUT FILE-Anweisung mit PAGE und LINE
PUT FILE-Anweisung mit SKIP-Option
Beendigung
GRUOA
GRUOB
GRUQT
GET STRING-/PUT STRING-Initialisierung
Initialisierung GET STRING-Anweisung
Initialisierung PUT STRING-Anweisung
Verwaltung von GET STRING-/PUT STRING-Anweisung
GRUM
GRÜN
GRUO
.j
I
PL1-0C Benutzungshinweise
ModulModulEingangsgruppen- name
name(n)
name
IOTabc
IOTabeEd] IOTabcde
GRV
GRVI
GRWC
GRVIA
GRVIB
GRVKA
GRVKB
LIST-gesteuerte Ausgabe
überträgt Daten von einer skalaren PL1-Variablen
oder einer Feldvariablen> die in einer PUT-Anweisung
angegeben wurde> zum Ausgabepuffer und steuert
die Konvertierung der Daten von ihrer internen Form
in die externe Form.
Skalare Daten
Felddaten
GRWCA
Steuermodul für Eingabekonvertierung aus dem P-Format
GRWEA
GRWEB
GRWEC
Realisierung
PRIMT-Option
PRINT-Option
PRIKT-Option
GRWGA
Steuermodul für Ausgabekonvertierung in das P-Format
GRYFA
GRYFB
GRYFC
GRYFD
X- und COLUMN-Formatelement
X-Formatelement in GET-Anweisung
X-Formatelement in PUT-Anweisung
COLÜMN-Formatelernent in GET-Anweisung
COLÜMN-Formatelernent in PUT-Anweisung
GRWE
GRWG
GRY
GSI
GRYF
GSIO
GSIOC
GSIOD
GVOCA
GVOCB
Speicherplatzverwaltung für CTL-Variable
Speicherplatzzuweisung
Speicherplatzfreigabe
GSIOB
GVO
GVOC
GVOF
GVOFA
GVOFB
GVOFC
GVP
GVPD
GVQ
GVQH
GVU
GVUI
FETCH/RELEASE-Modul
FETCH
RELEASE
GVQHA
Neusetzen des CHECK-Status
GVUIC
1
Speicherplatzverwaltung für AREA-Variable
Zuweisung einer BASED-Variablen innerhalb einer
vorgegebenen AREA-Variablen
Freigabe einer vorgegebenen BASED-Variablen innerhalb
einer vorgegebenen AREA-Variablen
Zuweisung des Inhalts einer Quell-AREA-Variablen
zu einer Ziel-AREA-Variablen
GVPDA
GVPDB
GVÜIA
GVUIB
1
von PAGE, SKIP, LIKE
PAGE» Formatelement PAGE
LINE, Formatelement LINE
SKIP, Formatelement SKIP
Modul für RECORD-E/A
Prüft die Gültigkeit der E/A-Anweisung und ruft
den Übertrager auf
Lädt einen Fehlermodul für die satzweise E/A und
verzweigt dorthin
Erzeugt für ungültige Anweisungen die ERROR-Bedingung
Erzeugung einer E/A-Fehlerbedingung
GSIOA
DQS-4/ES
Funktions des Moduls
LIST-gesteuerte Eingabe
überträgt Daten vom Eingabepuffer zu einer skalaren
PL1-Variablen oder einer Feldvariablen> die in der
GET LIST-Anweisung angegeben wurde, und steuert die
Konvertierung der Daten von ihrer externen Form in
die interne Form,
Skalare Daten
Felddaten
GRVK
GRW
10/89
(in Vorbereitung)
Programminitialisierung
Übergabe der Steuerung vom Betriebssystem
für den Aufruf aus Programmen, die nicht in PL1
geschrieben sind und die mit der PL1-Standardlänge
des ISA auskommen
für den Aufruf aus Programmen, die nicht in PL1
geschrieben sind und die die Länge und wahlweise
auch die Adresse des von PL1 benutzten dynamischen
Speichers benötigen
75
PL1-0C Benutzungshinweise
EingangsModul- i Modulgruppen- name
name(n)
name
IOTabctd] IOTabcde
IOTabc
GVW
GVWK
GVWKA
GZE
GZEDA
GZEDB
GZEDC
GZEG
GZEGA
GZEGB
GZEGC
GZEGD
1
GZEN
GZE NA
GZENC
GZEND
76
D0S-4/ES
Funktions des Moduls
Modul für Rückkehrcode
Moduln für Sprachverbindung
GZED
RFC
10/89
RFCF
RFCFA
PL1-COBOL
Erzeugung der CCBOL-Standardumgebung
Erzeugung einer COBOL-Umgebung> welche die Unterbrechung sbehandlung durch PL1 vorsieht
Wiederherstellung der PL1-Umgebung nach der Rückkehr
aus einem COBOL-Programm
PL1-FORTRAN
Erzeugung der FORTRAN-Standardumgebung
Erzeugung einer FORTRAN-Umgebung» durch die die
von FORTRAN nicht behandelten Unterbrechungen von
PL1 behandelt werden
Wiederherstellung der PL1-Umgebung nach der Rückkehr
aus einem FORTRAN-Programm
Wiederherstellung der PL1-Umgebung und Speichern
des Rückgabewertes nach der Rückkehr von einem
FORTRAN-Funktionsaufruf
PL1 und andere Sprachen
Erzeugung der PL1-Umgebung und Bereitstellung eines
DSA für eine PL1-Prozedur> die an einen Eingangspunkt mit
OPTIONSCCOBOL) oder OPTIONSCFORTRAN) aufgerufen wurde
Wiederherstellung der Umgebung des Programms» das
PL1 aufgerufen hat
Wiederherstellung der FORTRAN-Umgebung und Eintragen
eines eventuellen PL1-Funktionswertes in das (oder die)
entsprechende(n) Register
Hilfsmodul, falls die Simulation der erweiterten
Gleitkommaarithmetik nicht erforderlich
PL1-0C Benutzungshinweise
Anhang 2
10/89
DQS-4/ES
Nachrichten des PL1-Optimierungscompilers (Übersetzung)
Das Format der Nachrichten des PL1-Optimierungscompilers» die bei der Obersetzung ausgegeben
werden können» ist in Abschnitt 1.3.3. beschrieben.
Die-Nachrichtentexte sind in der Kurzform (wenn vorhanden) und Langform in englischer Sprache zusammengestellt. Eine Übersetzung (wenn erforderlich auch eine Erläuterung) wurde in
deutscher Sprache hinzugefugt.
In manchen Nachrichten werden vom PL1-Optimierungscompiler zusätzlich variable Teile eingefügt. In den Nachrichtentexten sind an solchen Stellen dafür Buchstaben gesetzt» die folgende Bedeutung haben:
d
Verzeichnisbezugnähme (Konstanten» Funktionen» Variablen-Bezugnahme» Parameter)
n
Anzahl (von Zeichen» von Programmelementen oder Objekten des Programms)
P
Name einer Compilerphase
t» tl» t2
Teil des PL1-Quelltextes oder einer CompilerOption
Nachrichten über die Bedieneinheit
IOC0002I
IOC0003I
ERROR DURING COMPILER INITIALIZATION.
Fehler während der Compiler-Initialisierung.
UNABLE TO OPEN COMPILER PRINT FILE.
Es ist nicht möglich» die Compiler-Druckdatei zu eröffnen.
Nachrichten über SYSLST
IOC0001I U ERROR NUMBER n IN MACRO INTERPRETER PHASE p.
Fehler Nummer n in der Makrointerpreter-Phase p.
IOC0002I U ERROR DURING COMPILER INITIALIZATION. COMPILATION TERMINATED.
Fehler während der Compiler-Initialisierung. Übersetzung wurde abgebrochen.
IOC0005I U ENDFILE FOUND ON INPUT FILE DURING COMPILER INITIALIZATION.
Während der Compiler-Initialisierung wurde in der Eingabedatei "ENDFILE11 gefunden.
IOC0008I U UNABLE T9 OPEN COMPILER INPUT FILE.
Es ist nicht möglich» die Compiler-Eingabedatei zu eröffnen«
IOC0010I S UNABLE TO OPEN COMPILER PUNCH FILE.
Es ist nicht möglich» die Compiler-Stanzdatei zu eröffnen.
IOC0013I S BLQCKSIZE FOR COMPILER PUNCH FILE INCORRECT. 80 ASSUMED.
Die Blocklänge für die Compiler-Stanzdatei ist fehlerhaft. Es wurden 80 angenommen.
IOCQ01M
IOC0015I
THE FOLLOWING IS NOT A CORRECT OPTION KEYWORD AND IS IGNORED t.
Das folgende Schlüsselwort t ist keine korrekte Option und wurde ignoriert.
SYNTAX ERROR IN SPECIFICATION OF FOLLOWING OPTION» DEFAULT ASSUMED FOR t.
Syntax-Fehler in der Angabe der folgenden Option. Es erfolgt die Standardannahme
für t.
I0C0016I
THE SPECIFICATION OF THE FOLLOWING OPTION IS NOT PERMITTED t.
Die Angabe der folgenden Option t ist nicht erlaubt.
IOC0017I
THE MISSING RIGHT PARENTHESXS IS INSERTED IN THE FOLLOWING OPTION t.
Die fehlende rechte Klammer wurde in die folgende Option t eingefügt.
IOC0018I
UNMATCHED LEFT PARENTHESIS IN SPECIFICATION OF COMPILER OPTION. SUBSEQUENT
OPTIONS IGNORED.
Keine entsprechende rechte Klammer in der Angabe einer Compiler-Option« Nachfolgende Optionen wurden ignoriert.
IOC0019I
THE FOLLOWING INCORRECT SUB-FIELD OF CHARSET OPTION IS IGNORED t.
Das folgende fehlerhafte Unterfeld t der Option CHARSET wurde ignoriert.
THE FOLLOWING SUB-FIEU) OF CHARSET t IS NOT CORRECT. DEFAULT ASSUMED FOR t.
Das folgende Unterfeld der Option CHARSET ist fehlerhaft. Es erfolgt die Standardannahme für t.
IOC0020I
IOC0023I
THE SPECIFICATION OF SORMGIN OPTION IS NOT CORRECT. DEFAULTS ASSUMED FOR
SOURCE MARGINS.
Die Angabe der Option SORMGIN ist fehlerhaft. Es erfolgen Standardannahmen für
die Quelltextbegrenzung.
IOC0025I
CONTROL CHARACTER POSITION CONFLICTS WITH SOURCE MARGINS OR SEQUENCE FIELD.
CONTROL CHARACTER IS IGNORED.
Die Position des Steuerzeichens widerspricht der Quelltextbegrenzungs- oder Folgefeld-Information. Das Steuerzeichen wurde ignoriert.
77
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0026I
ARGUMENTES) OF OPTION OUTSIDE ALLOWED RANGE. DEFAULTCS) ASSUMED FOR FOLLOWING
OPTION t.
Argument(e) der Option außerhalb des erlaubten Bereiches. Es erfolgen Standardannahmen für die folgende Option t.
IOC0030I
SPECIFIED NAME TOO L0N6. LEFTMOST EI6HT CHARACTERS USED.
Der angegebene Name ist zu lang. Die ersten acht Zeichen wurden verwendet.
NON-BLANK CHARACTER(S) FOLLOWING SEHICOLON IGNORED.
Andere Zeichen als Leerzeichen, die dem Semikolon folgen? wurden ignoriert.
CHARACTER-STRING •».' IKTERPRETED AS SEMICOLON. SCANNING OF OPTIONS TERMINATED.
Die Zeichenkette *».' wird als Semikolon angesehen. Die Durchmusterung der Optionen wurde abgebrochen.
IOC0033I
IOC0034I
IOC0036I U THE SPECIFICATION OF CONTROL OPTION IS NOT CORRECT. COMPILATION TERMINATED.
Die Angabe der Option CONTROL ist fehlerhaft. Die Übersetzung wurde abgebrochen«
IOC0037I
ILLEGAL DELIMITER AT BEGINNING OF STRING t. IT IS IGNORED.
Unerlaubter Begrenzer am Anfang der Kette t. Der Begrenzer wurde ignoriert.
IOC0038I
OPTION CLINE BUT NO OPTION SEQUENCE. DEFAULT SEQUENCE ASSUMED.
Die Option CLINE ist angegeben» aber nicht die Option SEQUENCE. Es erfolgt die
Standardannahme für SEQUENCE.
IOC0039I
THE FOLLOWING IDENTIFIER IS NOT A SUPPORTED OPTION AND IS IGN9RED t.
Die folgende Bezeichnung t ist vom PL1-"Optimierungscompiler nicht unterstützt und
wurde ignoriert.
IOC0040I
SEQUENCE FIELD CONFLICTS WITH SOURCE MARGINS. DEFAULT SEQUENCE ASSUMED.
Folgefeldfestlegung widerspricht Quelltextbegrenzungsfestlegung. Das Standardfolgefeld wurde angenommen.
IOC0041I
SOURCE MARGINS CONFLICT WITH SEQUENCE FIELD. SEQUENCE AND CLINE OPTIONS IGNORED.
Quelltextbegrenzungsfestlegung widerspricht Folgefeldfestlegung. Die Optionen
SEQUENCE und CLINE wurden ignoriert.
IOC0043I
COUNT OPTION CONFLICTS WITH NOSTMT OR NOLINE OPTION. COUNT OPTION IGNORED.
Die Option COUNT steht nicht im Einklang mit den Optionen NOSTMT oder NOLINE. Die
Option COUNT wurde ignoriert.
IOC0Q46I U INSUFFICIENT MAIN STORAGE IS AVAILABLE TO CONTINUE THIS COMPILATION.
Es ist zu wenig Speicherplatz verfügbar» um diese Übersetzung fortzusetzen«
IOC0047I
THE FOLLOWING SUB-FIELD OF TERMINAL OPTION IS NOT CORRECT. DEFAULT ASSUMED FOR t.
Das folgende Unterfeld der Option TERMINAL ist fehlerhaft. Es erfolgt die Standardannahme für t.
IOC0050I E DUMMY ENTRY CONSTANT ASSUMED 0N STATEMEOT.
IOC0050I E ENTRY CONSTANT MISSING ON XPROCEDURE STATEMENT. DUMMY ENTRY CONSTANT ASSUMED.
Die ENTRY-Konstante fehlt in der /CPROCEDURE-Klausel. Es wurde eine Pseudo-ENTRYKonstante angenommen.
IOC0051I U NUMBER OF PROCEDURES EXCEEDS n,
IOC0051I U IMPLEMENTATION RESTRICTION. NUMBER OF MACRO INTERPRETER PROCEDURES EXCEEDS n
IN A COMPILATION. PROCESSING TERMINATED.
Implementierungsbedingte Einschränkung. Die Anzahl der Makrointerpreter-Prozeduren übersteigt n während der Übersetzung. Die Verarbeitung wurde abgebrochen.
IOC0052I E d PREVIOUSLY DEFINED.
IOC0052I E ENTRY CONSTANT d PREVIOUSLY DEFINED. REFERENCE WILL TERMINATE PROCESSING.
ENTRY-Konstante d ist vorher definiert. Erfolgt eine Bezugnahme darauf» so wird
die Verarbeitung abgebrochen.
IOC0053I E ILLEGAL USE OF dIOC0053I E ILLEGAL USE OF FUNCTION d ON LEFT OF EQUAL SYMBOL. REFERENCE WILL TERMINATE
PROCESSING.
Unerlaubter Gebrauch der Funktion d auf der linken Seite des Gleichheitszeichens.
Erfolgt eine Bezugnahme darauf» so wird die Verarbeitung abgebrochen.
IOC005« E CONFLICTING USE OF d.
IOC0Q54I E ILLEGAL USE OF 2DENTIFIER d AS ENTRY CONSTANT. REFERENCE WILL TERMINATE
PROCESSING.
Unerlaubte Verwendung der Bezeichnung d als ENTRY-Konstante. Erfolgt
zugnahme darauf» so wird die Verarbeitung abgebrochen.
eine Be-
IOC0055I E PARAMETER LIST CONTAINS d MORE THAN ONCE.
IOC0055I E PARAMETER LIST COOTAINS PARAMETER d MORE THAN ONCE. ONLY THE FIRST OF THE
ARGUMENTS CORRESPONDING TO THIS PARAMETER CAN BE USED WITHIN THE PROCEDURE.
Die Parameterliste enthält den Parameter d mehr als einmal. Nur das erste der
Argumente» das diesem Parameter entspricht» kann in der Prozedur benutzt werden.
IOC0056I S NUMBER OF PARAMETERS EXCEEDS n.
IOC0056I S IMPLEMENTATION RESTRICTION, NUMBER OF PARAMETERS EXCEEDS n. REFERENCE WILL
TERMINATE PROCESSING.
Implementierungsbedingte Einschränkung. Die Anzahl der Parameter übersteigt n.
Erfolgt eine Bezugnahme darauf» so wird die Verarbeitung abgebrochen.
78
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0057I E MISSING PARAMETER.
IOC0057I E MISSING PARAMETER. CORRESPONDING ARGUMENT CANNOT BE USED WITHIN PROCEDURE.
Ein Parameter fehlt. Das entsprechende Argument kann nicht in der Prozedur verwendet werden.
IOC0058I E PARAMETER t ILLEGAL.
IOC0058I E PARAMETER t ILLEGAL. CORRESPONDING ARGUMENT CANNOT BE USED WITHIN PROCEDURE.
Parameter t ist nicht erlaubt. Das entsprechende t Argument kann nicht in der Prozedur verwendet werden.
IOC0059I S TEXT IGNORED FROM t TO NEXT COMMA OR SEMICOLON.
IOC0059I S MISSING COMMA OR ILLEGAL BLANK IN PARAMETER LIST. TEXT IGNORED FROM t TO HEXT
COMMA OR SEMICOLON.
In der Parameterliste fehlt ein Komma, oder sie enthält ein unerlaubtes Leerzeichen. Der Text wurde von t bis zum nächsten Komma oder Semikolon ignoriert.
IOC0060I S PARAMETER LIST COOTAINS SEMICOLON.
IOC0060I S PARAMETER LIST CONTAINS SEMICOLON. RIGHT PARENTHESIS ASSUMED.
Parameterliste enthält Semikolon, Rechte Klammer wurde angenommen.
IOC0061I E ILLEGAL RETURNED VALUE. TEXT FROM t TO SEMICOLON IGNORED.
IOC0061I E FUNCTION ATTRIBUTE NOT CHARACTER OR FIXED. TEXT IGNORED FROM t TO SEMICOLON.
Das Funktionsattribut ist nicht FIXED oder CHARACTER. Der Text wurde von t bis
zum Semikolon ignoriert.
IOC0062I E CHARACTER ASSUMED FOR RETURNED VALUE.
IOC0062I E NO FUNCTION ATTRIBUTE. CHARACTER ASSUMED.
Kein Funktionsattribut angegeben. Es wurde CHARACTER angenommen.
IOC0063I S MISSING SEMICOLON. TEXT FROM t TO NEXT SEMICOLON IGNORED.
IOC0063I S SEMICOLON MISSING IN XPROCEDURE STATEMENT. TEXT IGNORED FROM t TO NEXT SEMICOLON.
Das Semikolon wird in der ^PROCEDURE-Klausel vermißt. Der Text wurde von t bis
zum nächsten Semikolon ignoriert*
IOC006« E t IGNORED.
IOC006« E t IGNORED IN /CDEACTIVATE STATEMENT.
t wird in der /3DEACTIVATE-Anweisung ignoriert.
IOC0065I E CHARACTER ASSUMED FOR UNDECLARED d.
IOC0065I E IDENTIFIER d UNDECLARED. CHARACTER ATTRIBUTE ASSUMED.
Der Name d ist nicht vereinbart. Das Attribut CHARACTER wurde angenommen.
IOC0066I S ^PROCEDURE STATEMENT ILLEGAL.
IOC0066I S ^PROCEDURE STATEMENT IN MACRO INTERPRETER PROCEDURE. TEXT IGNORED TO NEXT XEND
STATEMENT.
/iPROCEDURE-Klau sei in Makrointerpreter-Prozedur. Der Text wurde bis zur nächsten
>JEND-Klausel ignoriert.
IOC0067I S XPROCEDURE STATEMENT REPLACED BY NULL STATEMENT.
IOC0067I S XPROCEDURE STATEMENT AFTER 'THEN' OR «ELSE1 REPLACED BY NULL STATEMENT. TEXT
JGNORED TO NEXT XEND STATEMENT.
XPROCEDURE-Klausel wurde nach THEN oder ELSE durch eine Leeranweisung ersetzt«
Der Text wurde bis zur nächsten ZEND-Klausel ignoriert.
IOC0068I S ILLEGAL 2RETURN STATEMENT IGNORED.
IOC0068I S ZRETURN STATEMENT ILLEGAL OUTSIDE MACRO INTERPRETER PROCEDURE. STATEMENT IGNORED.
XRETURN-Anweisung ist außerhalb der Makrointerpreter-Prozedur nicht erlaubt. Die
Anweisung wurde ignoriert.
IOC0069I E MISSING PARENTHESIS ASSUMED.
IOC0069I E MISSING PARENTHESIS ASSUMED IN RETURN STATEMElfT.
Die fehlende Klammer in der RETURN-Anweisung wurde eingefügt.
IOC0070I E ILLEGAL TEXT FROM t TO SEMICOLON IGNORED.
IOC0070I E ILLEGAL TEXT IGNORED FROM t TO SEMICOLON IN RETURN STATEMENT.
Der unerlaubte Text in der RETURN-Anweisung wurde von t bis zum Semikolon ignoriert.
IOC0071I E 'RETURNS(FIXED)1 ASSUMED.
IOC0071I E INCORRECT SPECIFICATION
OF DATA ATTRIBUTE IN XPROCEDURE STATEMENT.
'RETURNS(FIXED)1 ASSUMED.
Fehlerhafte Angabe von Datenattribut in /.PROCEDURE-Klausei, 'RETURNSCFIXED)• wurde angenommen.
IOC0072I E 'RETURNSCCHAR)1 ASSUMED.
IOC0072I E INCORRECT SPECIFICATION
OF DATA ATTRIBUTE IN ZPROCEDURE STATEMENT.
'RETURNSCCHAR)1 ASSUMED.
Fehlerhafte Angabe von Datenattribut in 2PR0CEDURE-Klausel, •RETURNSCCHAR)' wurde
angenommen.
IOC0073I E MISSING RIGHT PARENTHESIS ASSUMED IN ARGUMENT LIST FOR d.
IOC0073I E MISSING RIGHT PAREMTHESIS ASSUMED AT END OF ARGUMENT LIST FOR PROCEDURE d.
Die fehlende rechte Klammer wurde am Ende der Argumentliste der Prozedur d angenommen .
79
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0074I U ILLEGAL STATEMENT IN ARGUMENT LIST FOR d.
IOC0074I U MACRO INTERPRETER STATEMENT FOÜND IN ARGUMENT LIST FOR PROCEDURE d. PROCESSING
TERMINATED.
Eine Makrointerpreteranweisung wurde in der Argumentliste für die Prozedur d gefunden. Die Verarbeitung wurde abgebrochen.
IOC0075I E MISSING LEFT PARENTHESIS IN ARGUMENT LIST FOR d.
IOC0075I E ARGUMENT LIST FOR PROCEDURE d WITHOUT LEFT PARENTHESIS. INCORRECT ARGUMENT
LIST IGNORED.
Die Argumentliste der Prozedur d ist ohne linke Klammer. Die fehlerhafte Argumentliste wird ignoriert.
IOC0076I E TRUNCATED FORM d USED FOR REPLACEMENT.
IOC0076I E IDENTIFIER WITH MORE THAN n CHARACTERS. TRUNCATED FORM d USED.
Die Bezeichnung hat mehr als n Zeichen. Die gekürzte Form d wurde verwendet.
IOC0077I E NEGATIVE THIRD ARGUMENT OF 'SUBSTR1.
IOC0077I E NEGATIVE THIRD ARGUMENT OF SUBSTR BUILT-IN FUNCTION. NULL STRING RETURNED.
Das dritte Argument der Standardfunktion SUBSTR ist negativ. Eine leere Kette
wird zurückgegeben.
IOC0078I E STRING LENGTH LESS THAN THIRD ARGUMENT OF •SUBSTR'.
IOC0078I E STRING LENGTH LESS THAN THIRD ARGUMENT OF SUBSTR BUILT-IN FUNCTION. RETURNED
VALUE TRUNCATED AT END OF SOURCE STRING,
Die Kettenlänge ist kleiner als das dritte Argument der Standardfunktion SUBSTR.
Der Rückgabewert wird am Ende der Quellkette abgebrochen.
IOC0079I E SECOND PLUS THIRD ARGUMENT OF 'SUBSTR1 TOO LARGE.
I0C0079I E STRING LENGTH PLUS ONE LESS THAN SECOND PLUS THIRD ARGUMENT OF SUBSTR BUILT-IN
FUNCTION. RETURNED VALUE TRUNCATED AT END OF SOURCE STRING.
Widersprüchliche Kettenlängen beim Gebrauch der Standardfunktion SUBSTR. Der
Funktionswert wird am Ende der Quellkette abgeschnitten.
IOC0080I E SECOND ARGUMENT OF •SUBSTR1 SET TO ONE.
IOC0080I E SECOND ARGUMENT OF SUBSTR BUILT-IN FUNCTION LESS THAN ONE. VALUE SET TO ONE.
Das zweite Argument der Standardfunktion SUBSTR ist kleiner als 1. Der Wert wird
auf 1 gesetzt.
IOC0081I E STRING LENGTH LESS THAN SECOND ARGUMENT OF 'SUBSTR1.
IOC0081I E STRING LENGTH LESS THAN SECOND ARGUMENT OF SUBSTR BUILT-IN FUNCTION. NULL
STRING RETURNED.
Die Kettenlänge ist kleiner als das zweite Argument der Standardfunktion SUBSTR.
Eine leere Kette wird zurückgeben.
IOC0082I S ARGUMENT LIST CONTAINS UNINITIALIZED VARIABLE.
IOC0082I S BUILT-IN FUNCTION ARGUMENT LIST CONTAINS UNINITIALIZED VARIABLE. NULL STRING
ASSUMED.
Die Argumentliste einer Standardfunktion enthält eine' Variable» die nicht initialisiert ist. Es wurde eine leere Kette angenommen.
IOC0084I E RIGHT PARENTHESIS ASSUMED.
IOC0084I E RIGKT PARENTHESIS INSERTED BEFORE SEMICOLON IN XPROCEDURE STATEMENT.
Eine rechte Klammer wird vor dem Semikolon in der /CPROCEDURE-Klausel eingefügt.
IOC0085I E LEFT PARENTHESIS ASSUMED.
IOC0085I E LEFT PARENTHESIS INSERTED BEFORE MEMBER NAME.
Eine linke Klammer wird vor dem Buchnamen eingefügt.
IOC0086I E 'LENGTH1 INVOKED WITHOUT ARGUMENTS.
IOC0086I E LENGTH BUILT-IN FUNCTION INVOKED WITHOUT ARGUMENTS. FIXED ZERO RETURNED.
Die Standardfunktion LENGTH wurde ohne Argumente aufgerufen. Es wird der Wert
Null mit dem Attribut FIXED zurückgegeben.
IOC0087I E «INDEX1 INVOKED WITH LESS THAN TWO ARGUMENTS.
I0C0087I E INDEX BUILT-IN FUNCTION INVOKED WITH LESS THAN TWO ARGUMENTS. FIXED ZERO
RETURNED.
Die Standardfunktion INDEX wurde mit weniger als zwei Argumenten aufgerufen. Es
wird der Wert Null mit dem Attribut FIXED zurückgegeben.
IOC0088I E IDENTIFIER BEGINNING t EXCEEDS n CHARACTERS.
IOC0088I E IMPLEMENTATION RESTRICTION. TOO LONG IDENTIFIER BEGINNING t IS TRUNCATED TO
FIRST n CHARACTERS.
Implementierungsbedingte Einschränkung. Die Bezeichnung> die mit t beginnt» ist
zu lang und wird nach den ersten n Zeichen abgebrochen.
IOC0089I S NESTING LEVEL FOR 2INCLUDE STATEMENT EXCEEDS n.
IOC0089I S NESTING LEVEL FOR XINCLUDE STATEMENT EXCEEDS n. STATEMENT IGNORED. USE MACRO
COMPILER OPTION.
Die Schachtelungstiefe der XINCLUDE-Anweisung ist größer als n. Die Option MACRO
ist zu verwenden.
IOC0090I S MEMBER t NOT FOUND.
IOC0090I S MEMBER t NOT FOUND. MEMBER SPECIFICATION IN XINCLUDE STATEMENT IGNORED.
Das Buch,t wurde nicht gefunden. Die Angabe des Buchnamens in der KINCLUDE-AnWeisung wurde ignoriert.
80
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0091I S I/O ERROR INCLUDIN6 MEMBER t.
IOC0091I S I/O ERROR INCLUDIN6 MEMBER t. PROCESSING OF MEMBER TERMINATED.
Ein E/A-Fehler ist beim Einfügen des Buches t aufgetreten. Die Verarbeitung wurde
abgebrochen.
IOC0092I S TEXT BEGIHNING t INCORRECT. STATEMENT I6H0RED.
IOC0092I S TEXT BEGINNING t IH XINCLUDE STATEMENT IS INCORRECT. STATEMENT IGNORED.
Der mit t beginnende Text in der /ttNCLUDE-Anweisung ist fehlerhaft.
IOC0093I W t ASSUMED FOR XINCLUDE FILE.
IOC0093I W NO SEQUENCE FIELD SPECIFIED FOR 2INCLUDE FILE, t ASSUMED.
Die Sätze des in der XINCLUDE-Anweisung angegebenen Buches enthalten im Folgenummernfeld keine Daten. Die Option CLINE wurde angenommen.
IOC0094I H ILLEGAL CARRIAGE CONTROL POSITION IGNORED FOR MEMBER t.
IOC0094I W CARRIAGE CONTROL POSITION FOR MEMBER t CONFLICTS WITH SEQUENCE FIELD OR SOURCE
MARGINS. IT IS IGNORED.
Die Position des Steuerzeichens des Buches t steht im Widerspruch zum Folgefeld
oder zur Quelltextbegrenzung. Sie wurde ignoriert.
IOC0095I S SEQUENCE CONFLICTS WITH S0RM6IN FOR FILE, t ASSUMED.
IOC0095I S SEQUENCE FIELD CONFLICTS WITH SOURCE MARGINS FOR ZINCLUDE FILE, t ASSUMED.
Das Folgefeld steht im Widerspruch zur Quelltextbegrenzung der XINCLUDE-Datei. Es
wurde t angenommen.
IOC0100I U d NOT FOUND IN LIBRARY.
IOC0100I U MEMBER d NOT FOUND IN SOURCE STATEMENT LIBRARY. PROCESSING TERMINATED.
Das Buch d wurde in der Quelltextbibliothek nicht gefunden. Die Verarbeitung wurde abgebrochen.
IOC010II E RIGHT PARENTHESIS INSERTED.
IOC0101I E MISSING RIGHT PARENTHESIS INSERTED AFTER MEMBER NAME.
Die fehlende rechte Klammer wurde nach dem Buchhamen eingefügt.
IOC0I02I E LEFT PARENTHESIS INSERTED.
IOC0102I E MISSING LEFT PARENTHESIS INSERTED BEFORE MEMBER NAME.
Die fehlende linke Klammer wurde vor dem Buchnamen eingefügt.
IOC0103I E RETURNS ATTRIBUTE FOR d IGNORED.
IOC0103I E RETURNS ATTRIBUTE FOR d BUILT-IN FUNCTION IGNORED.
Das Attribut RETURNS wurde für die Standardfunktion d ignoriert.
IOC010« E EhfTRY ATTRIBUTE FOR d IGNORED.
IOC0104I E ENTRY ATTRIBUTE FOR d BUILT-IN FUNCTION IGNORED.
Das Attribut ENTRY wurde für die Standardfunktion d ignoriert.
IOC0105I S d INVALID BUILT-IN FUNCTION NAME.
IOC0105I S d IS NOT A VALID BUILT-IN FUNCTION NAME. REFERENCE WILL TERMINATE PROCESSING.
d ist kein gültiger Name für eine Standardfunktion. Erfolgt eine Bezugnahme darauf» so wird die Verarbeitung abgebrochen.
IOC0106I E DESCRIPTOR LIST OF ENTRY ATTRIBUTE IGNORED.
IOC0106I E PARAMETER DESCRIPTOR LIST OF ENTRY ATTRIBUTE IGNORED.
Die Parameterbeschreibungsliste des Attributes ENTRY wurde ignoriert.
IOC0107I E RETURNS ATTRIBUTE IGNORED.
IOC0107I E RETURNS ATTRIBUTE IGNORED IN DECLARE STATEMENT.
Das Attribut RETURNS wurde in der DECLARE-Anweisung ignoriert.
IOC0108I S SOURCE TEXT ENDS IN STRING.
IOC0108I S SOURCE TEXT ENDS IN STRING. QUOTE ASSUMED BEFORE END OF SOURCE TEXT.
Der Quelltext endet in einer Zeichenkette. Es wurde ein Apostroph vor
des Quelltextes angenommen.
dem Ende
IOC0109I S NO DELIMITER OH REPLACEMEOT VALUE STRING.
IOC0I09I S END OF STRING DELIMITER MISSING IN REPLACEMENT VALUE. IT IS ASSUMED AT END OF
STRING.
Der begrenzende Apostroph am Ende der Zeichenkette fehlt im Ersetzungswert. Er
wurde am Kettenende eingefügt.
IOC0110I E BIT STRING CONTAINS INVALID CHARACTER.
IOC0110I E BIT STRING CONTAINS INVALID CHARACTER. ASSUMED TO BE CHARACTER STRING.
Bitkette enthält ungültiges Zeichen. Es wurde angenommen» daß es sich
Zeichenkette handelt.
um eine
IOC0111I S SOURCE TEXT ENDS IN COMMENTT.
IOC0111I S SOURCE TEXT ENDS IN COMMENT, COMMENT DELIMITER ASSUMED BEFORE END OF SOURCE TEXT.
Der Quelltext endet im Kommentar. Es wurde ein Kommentarbegrenzer vor dem Ende
des Quelltextes angenommen.
IOC0112I S NO COMMENfT DELIMITER IN REPLACEMENT VALUE.
IOC0112I S END OF COMMENT DELIMITER MISSING IN REPLACEMENT VALUE. IT IS ASSUMED AT END OF
REPLACEMENT VALUE.
Der Begrenzer am Ende des Kommentars fehlt im Ersetzungswert. Er wurde am Ende
des Ersetzungswertes angenommen.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0113I E INVALID CHARACTER REPLACED BY BLANK.
IOC0113I E INVALID CHARACTER REPLACED BY BLANK.
Ungültiges Zeichen wird durch ein Leerzeichen ersetzt.
IOC0115I E CONFLICTING USE OF d.
IOC0115I E USE OF d IN THIS PROCEDURE CONFLICTS WITH PREVIOUS USE. REFERENCE WILL
TERMINATE PROCESSING.
Die Verwendung von d in dieser Prozedur stimmt nicht mit der vorangegangenen Verwendung überein. Eine Bezugnahme führt zum Abbruch der Verarbeitung.
IOC0116I E ''/.'
IGNORED IN LABEL PREFIX LIST.
IOC0116I E '/C1 IGNORED IN LABEL PREFIX LIST.
'X1 wird in der Markenpräfixliste ignoriert.
IOC0117I E LABEL MISSING BEFORE COLON.
IOC0117I E LABEL MISSING BEFORE COLON. COLON IGNORED.
Die Marke vor dem Doppelpunkt fehlt. Der Doppelpunkt wurde ignoriert»
IOC0118I S INCORRECT TEXT IGNORED FROM t TO SEMICOLON.
IOC0118I S INCORRECT TEXT IGNORED FROM t TO SEMICOLON.
Der fehlerhafte Text wurde von t bis zum Semikolon ignoriert.
IOC0119I E ILLEGAL USE OF d.
IOC0119I E IDENTIFIER d ILLEGALLY USED AS LABEL. REFERENCE WILL TERMINATE PROCESSING.
Die Bezeichnung d wird unerlaubt als Marke verwendet. Eine Bezugnahme führt r.um
Abbruch der Verarbeitung.
IOC0120I E d MULTIPLE USED AS LABEL.
IOC0120I E IDENTIFIER d MULTIPLE USED AS LABEL. REFERENCE WILL TERMINATE PROCESSING.
Die Bezeichnung d wird mehrfach als Marke verwendet. Eine Bezugnahme führt zum
Abbruch der Verarbeitung.
I0C0121I W LABEL PREFIX LIST ON DECLARE STATEMEIH1 IGNORED.
IOC0121I W LABEL PREFIX LIST ON DECLARE STATEMENT IGNORED.
Die Markenpräfixliste der DECLARE-Anweisung wurde ignoriert.
IOCO122I S CONFLICTING USE OF d.
IOC0122I S USE OF d CONFLICTS WITH PREVIOUS USE AS LABEL.
Die Verwendung von d steht im Widerspruch zur vorhergehenden Verwendung als Marke.
IOC0123I E NO ATTRIBUTE DECLARED FOR d.
IQC0123I E NO ATTRIBUTE DECLARED FOR PARAMETER d IN THIS PROCEDURE. CHARACTER ASSUMED.
Für den Parameter d ist in dieser Prozedur kein Attribut vereinbart. Das Attribut
CHARACTER wurde angenommen.
IOC0124I E UNDEFINED LABEL d.
IOC0124I E UNDEFINED LABEL d. REFERENCE WILL TERMINATE PROCESSING.
Die Marke d ist nicht definiert. Eine Bezugnahme führt zum Abbruch der Verarbeitung .
IOC0125I E SOURCE TEXT ENDS BEFORE LOGICAL END OF PROGRAM.
IOC0125I E SOURCE TEXT ENDS BEFORE LOGICAL END OF PROGRAM. ZEND STATEMENT ASSUMED.
Der Quelltext endet vor dem logischen Ende des Programms. Die XEND-Klausel wurde
angenommen.
IOC0126I E UNDEFINED LABEL d IN PROCEDURE.
IOC0126I E UNDEFINED LABEL d IN THIS PROCEDURE. REFERENCE WILL TERMINATE PROCESSING.
Undefinierte Marke d ist in dieser Prozedur vorhanden5 eine Bezugnahme führt zum
Abbruch der Verarbeitung.
IOC0127I E SEMICOLON AFTER IF EXPRESSION.
IOC0127I E EXPRESSION AFTER 'IF1 TERMINATED BY SEMICOLON. SEMICOLON IGNORED.
Der Ausdruck nach IF wird durch ein Semikolon beendet. Das Semikolon wurde ignoriert.
IOC0128I S INCORRECT IF STATEMEhTT IGNORED.
IOC0128I S EXPRESSION AFTER 'IF'1 NOT FOLLOWED BY 'X' OR 'THEN1 1 . IF STATEMENT IGNORED.
Dem Ausdruck nach 'IF
folgt kein 'X' oder 'THEN . Die IF-Anweisung wurde ignoriert.
IOC0129I E NO 1 '*• BEFORE 'THEN1.
IOC0129I E 'X MISSING BEFORE 'THEN1 IN XlF STATEMENT. 'X'
ASSUMED.
'X' fehlt vor 'THEN' in der XIF-Anweisung. 'X1 wurde angenommen.
1
IOC0130I E NO 'THEN
AFTER 'X'.
IOC0130I E 'THEN11 MISSING AFTER 'X1 IN XIF STATEMENT. 'THEN'
ASSUMED.
•THEN fehlt nach 'X' in der IF-Anweisung. 'THEN1 wurde angenommen,
IOC0131I E INCORRECT
STATEMENT AFTER 'XTHEN1 OR 'XELSE1.
IOC0131I E 'X1 MISSING BEFORE STATEMENT AFTER 'XTHEN1 OR 'XELSE1. 'X' ASSUMED.
'X' fehlt nach 'XTHEN' oder 'XELSE'. 'X' wurde angenommen.
IOC0132I E MISSING 'THEN1 ASSUMED.
IOC0132I E 'THEN1 MISSING IN IF STATEMENT. 'THEN' ASSUMED,
THEN fehlt in der IF-Anweisung. THEN wurde angenommen.
82
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0133I E ILLEGAL 'X1 IGNORED.
I0CQ133I E ILLEGAL lXl IN MACRO
INTERPRETER PROCEDÜRE IGNORED.
Unerlaubtes '/C1 in der Makroprozedur wurde ignoriert.
IOC0134I W LABEL PREFIX LIST. ON 'ELSE1 IGNORED.
IOC0I34I W LABEL PREFIX LIST ON 'ELSE' IGNORED.
Markenpräfixliste vor ELSE wurde ignoriert.
IOC0135I E NULL STATEMENT ASSUMED.
IOC0135I E NO STATEMENT AFTER 'THEN1 OR 'ELSE1. NULL STATEMENT ASSUMED.
Keine Anweisung nach THEN oder ELSE. Es wurde eine Leeranweisung angenommen»
IOC0136I E NO 'IF' BEFORE 'ELSE'.
IOC0136I E NO 'IF' BEFORE 'ELSE'. 'ELSE' IGNORED.
Kein IF vor ELSE. ELSE wurde ignoriert.
IOC0138I S /CINCLUDE STATEMENT INVALID IN PROCEDÜRE.
IOC0138I S INVALID XINCLUDE STATEMENT IGNORED IN MACRO INTERPRETER PROCEDÜRE.
Ungültige /JINCLUDE-Anweisung wurde in der Makrointerpreter-Prozedur ignoriert.
IOC0140I S ILLEGAL FIELD. TEXT IGNORED FROM t TO COMMA OR SEMICOLON.
IQC0140I S ILLEGAL FIELD IN XINCLUDE STATEMENT. TEXT IGNORED FROM t TO NEXT COMMA OR
SEMICOLON.
Unerlaubtes Feld in der /CINCLUDE-Anweisung. Der Text wird von t bis zum nächsten
Komma oder Semikolon ignoriert,
IOC0141I S NO OPERAND IN STATEMENT. IGNORED.
IOC0141I S NO OPERAND IN XINCLUDE STATEMENT, STATEMENT IGNORED.
Kein Operand in der XINCLUDE-Anweisung. Die Anweisung wurde ignoriert.
IOC0142I E MEMBER NAME TRUNCATED TO n CHARACTERS.
IOC0142I E IMPLEMENTATION RESTRICTION. MEMBER NAME TRUNCATED TO FIRST n CHARACTERS.
Implementierungsbedingte Einschränkung. Der Buchname wird auf die ersten n Zeichen verkürzt.
IOC0143I E RJGHT PARENTHESIS ASSUMED.
IOC0143I E MISSING RIGHT PARENTHESIS ASSUMED AFTER MEMBER NAME.
Die fehlende rechte Klammer wird nach dem Buchnamen eingefügt.
IOC0145I S DECLARE STATEMENT IGNORED.
IOC0145I S ILLEGAL DECLARE STATEMENT AFTER ITHENI OR 'ELSE'
IGNORED.
Die unerlaubte DECLARE-Anweisung nach •THEN1 oder 'ELSE1 wurde ignoriert.
IOC0146I E NO OPERAND IN STATEMENT. IGNORED.
IOC0146I E NO OPERAND IN /2DECLARE STATEMENT. STATEMENT IGNORED.
Kein Operand in der /CDECLARE-Anweisung• Die Anweisung wurde ignoriert.
IOC0147I S FACTORING LEVEL EXCEEDS n.
IOC0147I S IMPLEMENTATION RESTRICTION. FACTORING LEVEL EXCEEDS n IN DECLARE STATEMEJfT.
TEXT TO NEXT SEMICOLON IGNORED.
Implernentierungsbedingte Einschränkung. Das Ausklammern von Attributen in der
DECLARE-Anweisung ist mehr als n-fach. Der Text wurde bis zum nächsten Semikolon
ignoriert.
IOC0148I E REDUNDANT COMMA IGNORED.
I0C0148I E REDUNDANT COMMA OR MISSING OPERAND IN DECLARE STATEMENT. COMMA IGNORED.
Redundantes Komma oder fehlender Operand in der DECLARE-Anweisung. Das Komma wurde ignoriert.
IOC0149I E DUMMY IDENTIFIER ASSUMED.
IOC0149I E MISSING IDEOTTFIER. DUMMY ASSUMED.
Ein Name fehlt. Ein Pseudo-Name wurde angenommen.
IOC0150I E IDENTIFIER d MULTIPLE DECLARED.
IOC0150I E IDENTIFIER d MULTIPLE DECLARED. REFERENCE WILL TERMINATE PROCESSING.
Der Name d ist mehrfach vereinbart» Eine Bezugnahme führt zum Abbruch der Verarbeitung .
IOC0151I S TEXT IGNORED FROM t TO NEXT SEMICOLON.
IOC01511 S SYNTAX ERROR IN DECLARE STATEMENT. TEXT IGNORED FROM t TO NEXT SEMICOLON.
Syntaxfehler in der DECLARE-Anweisung. Der Text wurde von t bis zum nächsten Semikolon ignoriert.
IOC0152I E LABEL d CANNOT BE DECLARED.
IOC0152I E LABEL d CANNOT BE DECLARED. REFERENCE WILL TERMINATE PROCESSING.
Die Marke d kann nicht vereinbart werden. Eine Bezugnahme führt
Verarbeitung.
zum Abbruch der
IOC0153I E REDUNDANT RIGHT PARENTHESIS IGNORED.
IOC0153I E REDUNDANT RIGHT PARENTHESIS IGNORED.
Die redundante Klammer wurde ignoriert.
IOC015« E t IGNORED.
IOC0154I E INCORRECT ATTRIBUTE t IGNORED.
Das fehlerhafte Attribut t wurde ignoriert.
83
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0155I E RIGKT PAREKTHESIS ASSUMED.
IOC0155I E MISSING RIGHT PARENTHESIS ASSUMED.
Die fehlende Klammer wurde angenommen.
XDC0156I E RETURNS BUT NO ENTRY ATTRIBUTE FOR d.
IOC0156I E RETURNS BUT NO ENTRY ATTRIBUTE SPECIFIED IN DECLARE STATEMENT BEGINNING BEFORE
OR AT THIS LINE.
In der DECLARE-Anweisung> die vor oder in dieser Zeile beginnt» wurde das Attribut RETURNS, aber nicht ENTRY angegeben.
IOC0157I E t ASSUMED FOR d.
IOC0157I E NO ATTRIBUTE SPECIFIED FOR IDENTIFIER d. t ASSUMED.
Für den Namen d wurde kein Attribut angegeben. Es wird t angenommen.
IOC0158I I COMPILE TIME WILL BE
IOC0158I I COMPILE TIME WILL BE
SPECIFIED INSTEAD OF
Die Übersetzungszeit
INCLUDE anstelle von
REDUCED BY SPECIFYING INCLUDE OPTION INSTEAD OF MACRO.
REDUCED FOR THIS PROGRAM IF INCLUDE COMPILER OPTION IS
MACRO.
wird für dieses Programm reduziert» wenn die Compiler-Option
MACRO angegeben wird.
IOC0159I S ILLEGAL BRANCH.
IOC0159I S /CGOTO d IS AN ILLEGAL BRANCH INTO INCLUDED TEXT. EXECUTION WILL TERMINATE
PROCESSING.
/(GOTO d ist eine unerlaubte Verzweigung im eingeschlossenen Text. Die Ausführung
dieser Anweisung führt zum Abbruch.
IOC0161I E MEMBER NAME TRUNCATED TO n CHARACTERS.
IOC0161I E IMPLEMENTATION RESTRICTION. MEMBER NAME t TRUNCATED TO FIRST n CHARACTERS.
Implementierungsbedingte Einschränkung. Der Buchname t wurde auf die ersten n
Zeichen verkürzt.
IOC0162I E LABEL PREFIX LIST IGNORED.
IOC0162I E ILLEGAL LABEL PREFIX LIST ON LISTING CONTROL STATEMENT IGNORED.
Markenpräfixliste vor einer Steueranweisung ist nicht zulässig und
riert.
wurde igno-
IOC0163I E CONFLICTING ATTRIBUTE t IGNORED FOR d.
IOC0I63I E CONFLICTING ATTRIBUTES FOR IDENTIFIER d. ATTRIBUTE t IGNORED.
Widersprüchliche Attribute für die Bezeichnung d. Das Attribut t wurde ignoriert.
IOC0164I E CONFLICTING DECLARATION OF d.
IOC0164I E DECLARATION OF IDENTIFIER d CONFLICTS WITH PREVIOUS USE. REFERENCE WILL
TERMINATE PROCESSING.
Die Vereinbarung der Bezeichnung d widerspricht der vorangegangenen Verwendung*
Eine Bezugnahme führt zum Abbruch der Verarbeitung*
IOC0165I E ZERO ASSUMED FOR MISSING OPERAND.
IOC0165I E DECIMAL FIXED ZERO ASSUMED FOR MISSING OPERAND.
Eine Null mit den Attributen DECIMAL FIXED wurde für den fehlenden Operanden angenommen .
IOC0166I S t REPLACED BY PLUS.
IOC0166I S ILLEGAL OPERATOR t REPLACED BY PLUS.
Unzulässiger Operator t wurde durch ein Pluszeichen ersetzt.
IOC0167I W BLANK INSERTED AFTER t.
IOC0167I W BLANK INSERTED BETWtEN CONSTANT t AND FOLLOWING LETTER.
Ein Leerzeichen wurde zwischen die Konstante t und den folgenden Buchstaben eingefügt.
IOC0168I E «NOT1 REPLACED BY 'HE'.
IOC0168I E OPERATOR 'NOT1 USED AS INFIX OPERATOR. REPLACED BY I NE I .
Der Operator NOT wird als Infixoperator verwendet. Er wurde durch NE ersetzt«
IOC0169I W TEXT FOLLOWING 'ZPAGE1 IGNORED TO NEXT SEMICOLON.
IOC0169I W IMPLEMENTATION RESTRICTION. TEXT FOLLOWING 'XPAGE' IGNORED
TO NEXT SEMICOLON.
Implementierungsbedingte Einschränkung. Der "XPAGE1 folgende Text wurde bis zum
nächsten Semikolon ignoriert.
IOC0170I E CONFLICTING USE OF d.
IOC0170I E USE OF IDENTIFIER d IN EXPRESSION CONFLICTS WITH PREVIOUS USE. REFERENCE WILL
TERMINATE PROCESSING.
Die Verwendung des Namens d im Ausdruck widerspricht der vorangegangenen Verwendung . Eine Bezugnahme führt zum Abbruch der Verarbeitung*
IOC0171I W TEXT IN SAME LINE AS 'ZSKIP1 OR 'JCPAGE1.
IOC0171I W IMPLEMENTATION RESTRICTION. TEXT IN SAME LINE AS XSKIP OR XPAGE STATEMENT
PREVENTS FORMATTING.
Implementierungsbedingte Einschränkung. Programmtext und Steueranweisungen (XSKIP
oder XPAGE) stehen in der gleichen Zeile. Hierdurch wird eine Formatierung an
dieser Stelle verhindert.
IOC0172I S PLUS OPERATOR ASSUMED.
IOC0172I S OPERATOR MISSING. PLUS ASSUMED.
Operator fehlt. Pluszeichen wurde angenommen.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0173I S ZERO EXPRESSION ASSUMED.
IOC0173I S EXPRESSION MISSING. DECIMAL FIXED ZERO ASSUMED.
Ein Ausdruck fehlt. Es wurde Null mit den Attributen DECIMAL FIXED angenommen.
IOC017« S t REPLACED BY ZERO.
IOC017M S OPERAND t INCORRECT. REPLACED BY DECIMAL FIXED ZERO.
Der Operand t ist fehlerhaft. Er wurde durch eine Null mit den Attributen DECIMAL
FIXED ersetzt.
IOC0175I E LEFT PARENTHESIS ASSUMED.
IOC0175I E MISSING LEFT PARENTHESIS ASSUMED AT BEGINNING OF EXPRESSION.
Die fehlende linke Klammer am Anfang des Ausdruckes wurde angenommen.
IOC0176I U REFERENCE TO IDENTIFIER OR STATEMENTT WHICH IS IN ERROR.
IOC0176I U REFERENCE TO IDENTIFIER OR STATEMENT WHICK IS IN ERROR. PROCESSING TERMINATED.
Es wurde versucht> auf einen fehlerhaften Namen Bezug zu nehmen oder eine fehlerhafte Anweisung oder Klausel auszuführen. Die Verarbeitung wurde abgebrochen.
IOC0177I W SURPLUS AßGUMEICTS TO d IGNORED.
IOC0177I W SURPLUS ARGUMENTS TO FUNCTION d IGNORED.
Die überzähligen Argumente der Funktion d wurden ignoriert.
I0C0178I W TOO FEW ARGUMENTS TO d,
IOC0178I W MISSING ARGUMENTS TO FUNCTION d ASSUMED TO BE NULL STRINGS.
Es wurde angenommen» daß die fehlenden Argumente der Funktion d
sind.
leere Ketten
IOC0180I U PROCEDURE d NOT FOUND.
IOC0180I U REFERENCED PROCEDURE d NOT FOUND. PROCESSING TERMINATED.
Die Prozedur d> auf die Bezug genommen wurde> ist nicht vorhanden. Die Verarbeitung wurde abgebrochen.
IOC0181I U RECURSIVE USE OF d ILLEGAL.
IOC0181I U RECURSIVE USE OF PROCEDURE d ILLEGAL. PROCESSING TERMINATED.
Die rekursive Verwendung der Prozedur d ist nicht erlaubt. Die Verarbeitung wird
abgebrochen.
IOC0182I E TOO FEW ARGUMENTS TO SUBSTR BUILT-IN FUNCTION.
IOC0182I E TOO FEW ARGUMENTS SPECIFIED FOR SUBSTR BUILT-IN FUNCTION. FUNCTION WILL RETURN
NULL STRING.
Für die Standardfunktion SUBSTR sind zu wenig Argumente angegeben. Als Funktionswert wird eine leere Kette zurückgegeben.
IOC0183I E SURPLUS ARGUMENTS TO t IGNORED.
IOC0183I E SURPLUS ARGUMENTS TO BUILT-IN FUNCTION t IGNORED.
Die überzähligen Argumente der Standardfunktion t werden ignoriert.
IOC018« E FIXEDOVERFLOW.
I0C0184I E FIXEDOVERFLOW. RESULT TRUNCATED TO RIGHTMOST 5 DIGJTS.
Festkommaüberlauf. Das Ergebnis wird nach den fünf rechtsstehenden Ziffern abgebrochen .
IOC0185I E ZERQDIVIDE.
IOC0185I E ZERODIVIDE. RESULT SET TO ONE,
Division mit dem Divisor Null. Das Ergebnis wird gleich 1 gesetzt.
IOC0186I S SOURCE TEXT ENDS IN STATEMENT.
IOC0186I S SOURCE TEXT ENDS IN STATEMENT. EXECUTION OF STATEMENT WILL TERMINATE PROCESSING.
Der Quelltext endet in der Anweisung. Die Ausführung der Anweisung führt zum Abbruch der Verarbeitung.
IOC0187I E IDENTIFIER BEGINNING t TOO LONG.
IOC0187I E IMPLEMENTATION RESTRICTION. TOO LONG IDENTIFIER BEGINNING t TRUNCATED TO
LEFTMOST 31 CHARACTERS.
Implementierungsbedingte Einschränkung. Die mit t beginnende Bezeichnung
lang. Sie wurde auf die ersten 31 Zeichen verkürzt.
ist zu
IOC0188I S PRECISION OF t EXCEEDS n.
IOC0188I S IMPLEMENTATION RESTRICTION. PRECISION OF CONSTANT t EXCEEDS n. DECIMAL FIXED
ZERO ASSUMED.
Implementierungsbeschränkte Einschränkung. Die Genauigkeit der Konstanten
übersteigt n. Es wurde eine Null mit den Attributen DECIMAL FIXED angenommen.
t
IOC0189I E QUESTION MARK IGNORED.
IOC0189I E QUESTION MARK IGNORED.
Das Fragezeichen wurde ignoriert.
IOC0190I S PRECISION OF CONVERTED BIT STRING EXCEEDS n.
IOC0190I S IMPLEMENTATION RESTRICTION. BIT STRING CONVERTS TO DECIMAL FIXED NUMBER WITH
PRECISION EXCEEDING n. RESULT TRUNCATED ON THE LEFT.
Implementierungsbedingte Einschränkung. Die Bitkette wird in eine Zahl mit den
Attributen DECIMAL FIXED mit einer Genauigkeit konvertiert» die größer ist als n.
Das Resultat wird links gekürzt.
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0191I S STRING CANMOT BE CONVERTED TO BIT STRING.
IOC0191I S STRING CONTAINS
CHARACTER OTHER THAN "O1 OR "I1 AND CANNOT BE CONVERTED TO BIT
STRING. >Ot ASSUMED FOR ILLEGAL CHARACTERS.
Die Kette enthält andere Zeichen als '0' oder '1' und kann nicht in eine Bitkette
konvertiert werden. '0' wird für unerlaubte Zeichen angenommen.
IOC0192I S STRING CANNOT BE CONVERTED TO DECIMAL FIXED.
IOC0192I S STRING CANNOT BE CONVERTED TO DECIMAL FIXED. FIXED ZERO RESULT ASSUMED.
Die Kette kann nicht in DECIMAL FIXED konvertiert werden. Als Ergebnis wird Null
mit dem Attribut FIXED angenommen.
I0C0193I E '/£'
MISSING ON LISTING CONTROL STATEMENT.
IOC0193I E 'X1 MISSING ON LISTING CONTROL STATEMENT IN MACRO INTERPRETER PROCEDURE.
'*/.* fehlt in der Steueranweisung in der Makrointerpreter-Prozedur.
IOC019« U REFERENCE TO d TERMINATED PROCESSING.
IOC019M U REFERENCE TO MULTIPLE-DECLARED OR ILLEGAL USE OF 3DEOTIFIER d. PROCESSING
TERMINATED.
Es wird auf eine mehrfach vereinbarte Bezeichnung d Bezug genommen oder die Bezeichnung illegal verwendet. Die Verarbeitung wurde abgebrochen.
I0C0I95I S d UNINITIALIZED.
IOC0195I S VARIABLE d UNINITIALIZED. ZERO OR NULL STRING VALUE GIVEN.
Die Variable d besitzt keinen Anfangswert. Null oder leerer Kettenwert wurde angenommen .
IOC0197I U I/O ERROR SEARCHING FOR d,
IOC0197I U UNRECOVERABLE I/O ERROR SEARCHING FOR ZINCLUDE MEMBER d. PROCESSING TERMINATED.
Bei der Suche nach dem Buch d trat ein nichtkorrigierbarer E/A-Fehler auf. Die
Verarbeitung wurde abgebrochen.
IOC0199I U d NOT FOUND ON DATA SET.
IOC0199I U XINCLUDE MEMBER d NOT FOUND. PROCESSING TERMINATED.
Das ZINCLUDE-Buch d wurde nicht gefunden. Die Verarbeitung wurde abgebrochen.
IOC020« U NESTING OR REPLACEMENT LEVEL EXCEEDS MAXIMUM.
IOC020« U IMPLEMENTATION RESTRICTION. NESTING OR REPLACEMENT LEVEL EXCEEDS MAXIMUM.
PROCESSING TERMINATED.
Implementierungsbedingte Einschränkung. Die SchachteInngs- oder Ersetzungstiefe
ist größer als das Maximum. Die Verarbeitung wurde abgebrochen.
IOC0206I W INPUT RECORD LENGTH LESS THAN LEFT MARGIN OF SORMGIN OPTION.
IOC0206I W INPUT RECORD LENGTH LESS THAN LEFT MARGIN OF SORMGIN OPTION. RECORD IGNORED.
Die Eingabesatzlänge ist kleiner als die linke Begrenzung gemäß der Option
SORMGIN. Der Satz wurde ignoriert.
I0C0207I S GOTO STATEMENT IGNORED.
IOC02071 S OPERAND IN GOTO STATEMENT MISSING. STATEMENT IGNORED.
Der Operand in der GOTO-Anweisung fehlt. Die Anweisung wurde ignoriert.
IOC0208I E CONFLICTING USE OF d.
IOC0208I E USE OF IDEOTIFIER d IN KGOTO STATEMENT CONFLICTS WITH PREVIOUS USE. REFERENCE
WILL TERMINATE PROCESSING.
Die Verwendung des Namens d in der XGOTO-AnWeisung widerspricht der vorangegangenen Verwendung. Eine Bezugnahme führt zum Abbruch der Verarbeitung
IOC0209I S SEMICOLON MISSING. TEXT FROM t TO NEXT SEMICOLON IGNORED.
IOC0209I S SEMICOLON MISSING AFTER XGOTO STATEMENT. TEXT IGNORED FROM t TO NEOT SEMICOLON.
Das Semikolon fehlt am Ende der XGOTO-AnWeisung. Der Text wird von t bis zum
nächsten Semikolon ignoriert.
IOC0210I U ILLEGAL BRANCH. 1
IOC0210I U OPERAND OF 'GOTO IS LABEL IN INCLUDE TEXT OR ITERATIVE GROUP. PROCESSING
TERMINATED.
Der Operand von GOTO ist eine Marke in eingefügtem Text oder in iterativer Gruppe. Die Verarbeitung wurde abgebrochen.
I0C0211I S STATEMEOT ILLEGAL IN PROCEDURE.
IOC0211I S ILLEGAL 'XACTIVATE' OR •ZDEACTIVATE IN MACRO INTERPRETER PROCEDURE. STATEMENT
IGNORED.
Unerlaubtes "ZACTIVATE1 oder •XDEACTIVATE in der Makrointerpreter-Prozedur. Die
Anweisung wurde ignoriert.
OPERAND IGNORED.
IOC0212I E STATEMENT WITHOUT
IOC0212I E •XACTIVATE11 OR '>3>EACTIVATE' WITHOUT OPERAND. STATEMENT IGNORED.
'/CACTIVATE oder 'XDEACTIVATE' sind ohne Operand. Die Anweisung wurde ignoriert.
I0CG213I E REDUNDANT COMMA IGNORED.
IOC0213I E REDUNDANT COMMA OR MISSING OPERAND IN XACTIVATE OR /ODEACTIVATE STATEMENT.
COMMA IGNORED.
Redundantes Komma oder fehlender Operand in der JCACTIVATE- oder /CDEACTIVATEAnweisung. Das Komma wurde ignoriert.
IOC0214I S INCORRECT FIEIJD t IGNORED.
IOC021« S INCORRECT FIELD t IN XACTIVATE OR XDEACTIVATE STATEMENT IGNORED.
Die fehlerhafte Angabe t in der XACTIVATE- oder XDEACTIVATE-Anweisung wurde ignoriert.
86
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
IOC0215I S IDENTIFIER d IGNORED.
IOC0215I S IDENTIFIER d IS NOT VARIABLE OR PROCEDURE NAME. IT IS IGNORED IN /CACTIVATE
OR /EEACTIVATE STATEMENT.
Die Bezeichnung d ist kein Variablen- oder Prozedurname. Sie wurde in
^ACTIVATE- oder /CDEACTIVATE-An Weisung ignoriert.
der
IOC0216I S TEXT IGNORED FROM t TO COMMA OR SEMICOLON.
IOC0216I S MISSING COMMA OR INCORRECT BLANK IN /CACTIVATE OR /EEACTIVATE STATEMENT. TEXT
IGNORED FROM t TO COMMA OR SEMICOLON.
Es fehlt ein Komma oäßr es ist ein fehlerhaftes Leerzeichen in der ZACTIVATEoder ZDEACTIVATE-Anweisung. Der Text wurde von t bis zum Komma oder Semikolon
ignoriert.
IOC0217I S NON-ITERATIVE DO STATEMENT ASSUMED.
IOC0217I S SYNTACTICAL ERROR IN DO STATEMENT. NON-ITERATIVE DO STATEMENT ASSUMED.
Syntaktischer Fehler in der DO-Klausel. Eine nichtiterative DO-Klausel wurde angenommen.
IOC0218I W ITERATIVE GROUP WITHOUT MAXIMUM VALUE.
IOC0218I W ITERATIVE GROUP WITHOUT MAXIMUM VALUE.
Iterative Gruppe ohne Maximalwert.
I0C0219I E SEMICOLON ASSUMED BEFORE •*'.
IOC0219I E MISSING SEMICOLON ASSUMED BEFORE '/C'.
Das fehlende Semikolon wird vor 'X' angenommen.
IOC0220I E SECOND *TO'
REPLACED BY 'BY'.
IOC0220I E SECOND •TO1 FOUNDED
IN ITERATION SPECIFICATION REPLACED BY 'BY1.
Das zweite 'TO1, das in der DO-Spezifikation gefunden wurde» wurde
ersetzt.
IOC0221I E SECOND 'BY1 REPLACED BY 'TO1.
IOC0221I E SECOND 'BY' FOUNDED IN ITERATION SPECIFICATION REPLACED BY 'TO1.
Das zweite 'BYS das in der DO-Spezifikation gefunden wurde» wurde
ersetzt.
durch 'BY1
durch 'TO'
I0C0222I E SEMICOLON MISSING. TEXT FROM t TO NEKT SEMICOLON IGNORED.
IOC0222I E SEMICOLON MISSING IN DO STATEMEOT. TE>CT FROM t TO NEXT SEMICOLON IGNORED.
Das Semikolon fehlt in der DO-Klausel. Der Text wurde von t bis zum nächsten Semikolon ignoriert.
IOC0223I E NULL STATEMENT ASSUMED BEFORE END STATEMENT.
IQC0223I E END STATEMENTT
MUST NOT FOLLOW 'THEN1 OR »ELSE
NULL STATEMENT ASSUMED
BEFORE 'END1.
Die END-Klausel darf nicht nach THEN oder ELSE folgen. Es wurde eine Leeranweisung vor END angenommen.
IOC0224I E SEMICOLON MISSING, TEXT FROM t TO NEJCT SEMICOLON IGNORED.
IOC022« E SEMICOLON MISSING IN END STATEMENT. TEXT FROM t TO NEXT SEMICOLON IGNORED.
Das Semikolon fehlt in der END-Klausel. Der Text wurde von t bis zum nächsten
Semikolon ignoriert.
IOC0225I E REDUNDANT *END STATEMENT IGNORED.
IOC0225I E REDUNDANT /SEND STATEMENT IGNORED.
Die überzählige ZEND-Anweisung wurde ignoriert.
IOC0226I E REFERENCE TO UNKNOWN LABEL IGNORED.
I0C0226I E REFERENCE TO UNKNOWN LABEL OR ENTRY CONSTANT IGNORED.
Die Bezugnahme auf eine unbekannte Marke oder Eingangsnamenkonstante wurde ignoriert.
IOC0227I E V, ASSUMED
BEFORE 'END1.
IOC0227I E MISSING i/Cl ASSUMED
IN >CEND STATEMENT OF PROCEDURE.
Das fehlende 'X1 in der XEND-Klausel der Prozedur wurde angenommen.
IOC0228I E t NOT ENTRY CONSTANT OR LABEL. IGNORED.
I0C0228I E IDENTIFIER t IN XEND STATEMENT NOT LABEL OR ENTRY CONSTANT. IDENTIFIER IGNORED.
Die Bezeichnung t in der XEND-Klausel ist keine Marke oder ENTRY-Konstante. Die
Bezeichnung wurde ignoriert.
IOC0229I E RETURN STATEMENT MISSING IN PROCEDURE.
IOC0229I E NO RETURN STATEMENT IN PROCEDURE t. NULL VALUE WILL BE RETURNED.
In der Prozedur t fehlt die RETURN-Anweisung. Der Wert Null wird zurückgegeben.
I0C0230I U ERROR NUMBER n IN COMPILER PHASE p.
IOC0230I U ERROR NUMBER n IN COMPILER PHASE p.
Fehler Nummer n in der Compiler-Phase p.
IOC0233I W INVALID CARRIAGE CONTROL CHARACTER t.
IOC0233I W INVALID CARRIAGE CONTROL CHARACTER t. BLANK ASSUMED.
Ungültiges Vorschubsteuerzeichen t. Ein Leerzeichen wurde angenommen.
IOC023« I TOO MANY STATEMENTS IN THIS RECORD FOR CORRECT NUMBERING.
IOC0234I I LINE CONTAINS MORE THAN 30 STATEMENTS. FOLLOWING STATEMENTS GET THE NUMBER 31.
Die Zeile enthält mehr als 30 Anweisungen. Folgende Anweisungen erhalten die Nummer 31.
87
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
I0C0235I W LINE NUMBER EXCEEDS n.
IOC0235I H MAXIMUM LINE NUMBER EXCEEDED. FOLLOWING LINE NUMBERS SET TO n.
Die maximale Zeilennummer wurde überschritten. Die darüberliegenden Zeilennummern
wurden auf n gesetzt.
IOC0236I W NON-INCREASING RECORD SEQUENCE NimBER FOLLOWS.
IOC0236I N NON-INCREASING RECORD SEQUENCE NUMBER FOLLOWS THIS STATEMENT. LINE NUMBER(S)
MODIFIED.
Die Folgenummer dieses Satzes ist nicht größer als die Zeilennummer des vorangegangenen Satzes. Die Zeilennummer(n) wurde!n) modifiziert.
IOC0237I S QUOTE ASSUMED [AFTER t U .
IOC0237I S END OF SOURCE TEXT ENCOUNTERED AFTER UNMATCHED QUOTE. MATCHING QUOTE INSERTED
[AFTER tll.
Das Ende des Quelltextes wurde nach unpaarigem Apostroph erreicht. Der zugehörige
abschließende Apostroph wurde eingefügt [nach tll.
IOC0238I S n MISSING END STATEMENT(S) ASSUMED TO FOLLOW SOURCE TEXT.
IOC0236I S END OF SOURCE TEXT ENCOUNTERED BEFORE LOGICAL END OF EXTERNAL PROCEDURE. n END
STATEMENTCS) ASSUMED.
Das Ende des Quelltextes wurde vor dem logischen Ende der externen Prozedur erreicht, n END-Klauseln wurden eingefügt.
IOC0239I S SOURCE TEXT CONTINUES AFTER END OF EXTERNAL PROCEDURE.
IOC0239I S LOGICAL
END OF EXTERNAL PROCEDURE DETECTED BEFORE END OF SOURCE TEXT STATEMENTS.
'END1 IGNORED.
Das logische Ende der externen Prozedur wurde vor dem Ende der Quelltextanweisungen erreicht. Die End-Klausel wurde ignoriert.
IOC0240I S COMMENT DELD1ITER '*/' ASSUMED [AFTER t U .
IOC0240I S END OF SOURCE TEXT ENCOUNTERED BEFORE END OF COMMEtfT. COMMENT DELIMITER
ASSUMED [AFTER t U .
Das Ende des Quelltextes wurde vor Kommentarende erreicht. Der Kommentarbegrenzer
wurde eingefügt [nach t U .
IOC0241I S END ÖF SOURCE TEXT ENCOUNTERED. t IGNORED.
IOC0241I S END OF SOURCE TEXT FOUND BEFORE END OF STATEMENT, t IGNORED.
Das Ende des Quelltextes wurde vor dem Ende der Anweisung erreicht, t wurde ignoriert.
IOC0242I U NO PL1 TEXT RECOGNIZABLE.
IQC0242I U NO PL1 TEXT RECOGNIZABLE.
Kein PL1-Text wurde gefunden.
IOC0243I W XCONTROL STATEMENT NOT SUPPORTED.
IOC0243I W XCONTROL STATEMENT NOT SUPPORTED.
Die ^CONTROL-Anweisung wird nicht unterstützt.
IOC02WI W OBSOLETE OPTION t REPLACED BY VALID EQUIVALENT.
I0C0244I W OBSOLETE ENVIRONMENT OPTION t HAS BEEN REPLACED BY VALH3 EQUIVALENT.
Die veraltete ENVIRONMENT-Option t wurde durch ihr gültiges Äquivalent ersetzt.
I0C0245I E ENVIRONMENT OPTION [AFTER tl] NOT SUPPORTED. t IGNORED.
I0C0245I E ENVIRONMENT OPTION [AFTER tll NOT SUPPORTED. t IGNORED.
Die ENVIRONMENT-Option [nach t U wird nicht unterstützt, t wurde ignoriert.
IOC0246I H STATEMENT NOT SUPPORTED.
IOC0246I W THIS STATEMENT IS NOT SUPPORTED AND IS IGNORED.
Diese Anweisung ist nicht implementiert und wurde ignoriert.
IOC0247I W SYNTACTICAL ERROR IN NON-SUPPORTED STATEMENT.
IOC0247I W SYNTACTICAL ERROR IN NON-SUPPORTED STATEMENT [. STATEMENT IGNORED3.
Syntaktischer Fehler in nicht implementierter Anweisung. [Die Anweisung
ignoriert.1
wurde
IOC02«! W OPTION t NOT SUPPORTED.
IOC0248I W OPTION t NOT SUPPORTED t. STATEMENT IGNORED 1.
Die Option t ist nicht implementiert. [Die Anweisung wurde ignoriert].
I0C0249I W ON CONDITION NOT SUPPORTED.
IOC0249I W ON CONDITION NOT SUPPORTED. ON STATEMENT INCLUDING ON-UNIT IGNORED.
Die ON-Bedingung ist nicht implementiert. ON-Anweisung einschließlich ON-Einheit
wurden ignoriert.
IOC0250I W ON CONDITION t NOT SUPPORTED.
I0C0250I W ON CONDITION t NOT SUPPORTED l. STATEMENT IGNORED].
Die ON-Bedingung t ist nicht implementiert. [Die Anweisung wurde ignoriert.2
IOC0252I S INCORRECT OR NO OPERAND [AFTER tll.
IOC0252I S INCORRECT OR NO OPERAND IN EXPRESSION [AFTER tlL
Falscher oder fehlender Operand im Ausdruck [nach tl].
IOC0253I S INCORRECTLY USED PREFIX OPERATOR [AFTER t U .
IOC0253I S INCORRECTLY USED PREFIX OPERATOR [AFTER t U .
Falsch verwendeter Präfix-Operator [nach tl].
88
PL1-0C Benutzung shinweise
10/89
D0S-4/ES
IOC0254I S INCORRECT EXPRESSION, n SUBSTITUTED
FOR t.
IOC025M S INCORRECT EXPRESSION AFTER "1F1. n SUBSTITUTED FOR t.
Falscher Ausdruck nach IF. t wurde durch n ersetzt.
IOC0255I S CONSTANT t TOO LONG.
IOC0255I S IMPLEMENTATION RESTRICTION. LENGTH OF ARITHMETIC CONSTANT t EXCEEDS MAXIMUM.
Implementierungsbedingte Einschränkung. Die Länge der arithmetischen Konstanten t
übersteigt den Maximalwert.
IOC0256I S NO EXPONENT IN t.
IOC0256I S FLOATING POINT CONSTANT t SPECIFIED WITHOUT EXPONENT.
Die Gleitkomma-Konstante t wurde ohne Exponenten angegeben.
IOC0257I S BINARY POSITION IN t NOT ZERO OR ONE.
IOC0257I S DIGIT POSITIONCS) IN BINARY CONSTANT t CONTAINCS) OTHER CHARACTERCS) THAN ZERO
AND ONE.
Die Ziffernpositionen in der binären Konstanten t enthalten andere Zeichen als
Null oder Eins.
IOC0258I W BLANK ASSUMED [AFTER tl1 TO SEPARATE CONSTANT AND NAME.
IOC0258I W MISSING SPACE BETWEEN CONSTANT AND FOLLOWING NAME. BLANK ASSUMED lAFTER tll.
Fehlender Zwischenraum zwischen Konstante und folgendem Namen. Ein Leerzeichen
wurde eingefügt [nach tll.
IOC0259I S EXPONENT OF t TOO LONG.
IOC0259I S LENGTH OF EXPONENT IN CONSTANT t EXCEEDS MAXIMUM.
Die Länge des Exponenten in der Konstanten t übersteigt den Maximalwert.
IOC0260I S MANTISSA MISSING IN CONSTANT t.
IOC0260I S MANTISSA MISSING IN CONSTANT t.
Die Mantisse fehlt in der Konstanten t.
IOC0261I S BIT POSITION IN t NOT ZERO OR ONE.
IOC0261I S BIT STRING CONSTANT t CONTAINS OTHER CHARACTERS THAN ZERO AND ONE.
Die Bitkettenkonstante t enthält andere Zeichen als Null und Eins.
IOC0262I S 'PROCEDUREi1 ASSUMED TO BE FIRST STATEMENT.
IOC0262I S PROCEDURE STATEMEOT MISSING. »PROCEDUREi1 ASSUMED.
Die PROCEDURE-Klausel fehlt. 'PROCEDUREi* wurde eingefügt.
IOC0263I E COLON ASSUMED [AFTER tl].
I0C0263I E tl ASSUMED TO BE A LABEL OR ENTRY CONSTANT. COLON ASSUMED.
tl wurde als LABEL- oder ENTRY-Konstante gedeutet. Ein Doppelpunkt wurde eingefügt.
I0C0264I S SYNTACTICAL ERROR. t IGNORED.
IOC0264I S SYNTACTICAL ERROR AT START OF STATEMENT, t IGNORED.
Syntaktischer Fehler am Beginn der Anweisung, t wurde ignoriert.
IOC0265I S PRECEDING DECLARE STATEMENT ASSUMED TO BE CONTINUED.
IOC0265I S SYNTACTICAL ERROR AT START OF STATEMENT. PRECEDING DECLARE STATEMENT ASSUMED
TO BE CONTINUED.
Syntaktischer Fehler am Beginn der Anweisung. Vorangegangene DECLARE-Anweisung
wurde trotz Semikolon fortgesetzt.
IOC0266I S ILLEGAL CHARACTER [AFTER tll. t IGNORED.
IOC0266I S THIS STATEMENT OR THE FOLLOWING TEXT CONTAINS ILLEGAL CHARACTER [AFTER tll.
t IGNORED.
Diese Anweisung oder der folgende Text enthält ein unerlaubtes Zeichen (nach tl].
t wurde ignoriert.
IOC0267I W SEMICOLON IN CHARACTER STRING.
IOC0267I W SEMICOLON APPEARS IN CHARACTER-STRING CONSTANT.
Semikolon erscheint in einer Zeichenkettenkonstanten.
IOC0268I W SEMICOLON IN CQMMENT.
IOC0268I W SEMICOLON APPEARS IN COMMENTCS) IN OR FOLLOWING THIS STATEMENT.
Semikolon erscheint im Kommentar in oder nach dieser Anweisung.
IOC0269I S STATEMENT TOO LONG. TEXT FROM tl TO t2 IGNORED.
IOC0269I S IMPLEMEfCTATION RESTRICTION. STATEMENT TOO LONG. TEXT BEGINNING tl AND ENDING t2
IGNORED.
Implementierungsbedingte Einschränkung. Anweisung zu lang. Text von tl bis t2
wurde ignoriert.
IOC0270I S INVALID CONTEXT [AFTER tll, t REPLACED BY ' j 1 .
IOC0270I S INVALID COKTEXT AFTER KEYWORD tl. NULL STATEMENT SUBSTITUTED FOR t.
Ungültiger Text nach Schlüsselwort tl. t wurde durch die Leeranweisung ersetzt.
IOCQ271I S QUOTE ASSUMED [AFTER tll.
I0C0271I S STATEMENT CONTAINS UNMATCHED QUOTE AND IS TOO LONG. MATCHING QUOTE INSERTED
[AFTER tll.
Die Anweisung enthält einen unpaarigen Apostroph und ist zu lang. Der zugehörige
abschließende Apostroph wurde eingefügt tnach tll.
89
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0272I E NAME tl TRUNCATED TO t2.
IOC0272I E TRUNCAT1ON OF TOO LONG NAME tl RESULTS IN t2.
Kürzung des zu langen Namens tl zu t2.
IOC0273I S INCORRECT PRECISION SPECIFICATION. t IGNORED.
IOC0273I S FIRST SPECIFICATION IN PRECISION ATTRIBUTE IS NOT AK UNSIGNED INTEGER, t IGNORED.
Die erste Angabe im Genauigkeitsattribut ist keine vorzeichenlose ganze Zahl, t
wurde ignoriert.
IOC0274I S PRECISION ATTRIBUTE TRUNCATED [AFTER tl3.
I0C0274I S SECOND SPECIFICATION IN PRECISION ATTRIBUTE MISSING. ATTRIBUTE TRUNCATED
[AFTER tll.
Die zweite Angabe im Genauigkeitsattribut fehlt. Das Attribut wurde gekürzt [nach
tu.
IOC0275I S ILLEGAL CHARACTER [AFTER t U . t IGNORED.
IOC0275I S ILLEGAL CHARACTER USED IN PICTURE STRING [AFTER t U . t IGNORED.
Ungültiges Zeichen in Abbildungskette [nach t U . t wurde ignoriert.
IOC0276I S PARENTHESIS ÖMITTED [AFTER tll. t IGNORED.
IOC0276I S RIGHT PARENTHESIS OMITTED IN REPETITION OR SCALING FACTOR IN PICTURE STRING
[AFTER t U . t IGNORED.
Rechte Klammer fehlt in Wiederholungs- oder Skalierungsfaktor in Abbildungskette
[nach t U . t wurde ignoriert.
IOC0277I S ILLEGAL REPETITION FACTOR [AFTER t U . t IGNORED.
IOC0277I S REPETITION FACTOR IN PICTURE STRING [AFTER tl 1 IS NOT AN UNSIGNED INTEGER.
t IGNORED.
Wiederholungsfaktor in Abbildungskette [nach tl 1 ist keine Vorzeichenlose ganze
Zahl, t wurde ignoriert.
IOC0278I S INCORRECT PICTURE STRING [AFTER t U . t IGNORED,
IOC0278I S NO PICTURE CHARACTER FOLLOWS REPETITION FACTOR IN PICTURE STRING [AFTER t U .
t IGNORED.
In der Abbildungskette [nach tl I folgt dem Wiederholungsfaktor kein Abbildungszeichen, t wurde ignoriert.
IOC0279I S INCORRECT PICTURE STRING [AFTER tl]. t IGNORED.
IOC0279I S MISSING LEFT PARENTHESIS [AFTER tl1 IN PICTURE STRING. t IGNORED.
Linke Klammer [nach tl] fehlt in Abbildungskette, t wurde ignoriert.
IOC0280I S INCORRECT PICTURE STRING [AFTER tll. t IGNORED.
IOC02801 S INCORRECT SCALING FACTOR IN PICTURE STRING [AFTER tll. t IGNORED.
Falscher Skalierungsfaktor in Abbildungskette [nach tll. t wurde ignoriert.
IOC0281I S ILLEGAL STATEMEhTT AFTER 'ELSE1 REPLACED
BY ' } ' .
IOC0281I S NpN-ALLOWED STATEMENT AFTER «ELSE1. NULL STATEMENT ASSUMED.
Nicht erlaubte.Anweisung nach ELSE. Eine Leeranweisung wurde eingefügt.
IOC0282I S ILLEGAL STATEMENT AFTER 'THEN1 REPLACED BY • } • .
IOC0282I S NON-ALLOWED STATEMENTT AFTER 'THEN1. NULL STATEMEOT1 ASSUMED.
Nicht erlaubte Anweisung nach THEN. Eine Leeranweisung wurde eingefügta
IOC0283I S ILLEGAL NAME AFTER 'END1 IGNORED.
IOC0283I S NAME AFTER 'END1 DOES NOT REFER TO A LABEL OR ENTRY CONSTANT TO BE MATCHED.
NAME IGNORED.
Der Name nach END bezieht sich nicht auf eine passende LABEL- oder ENTRY-Konstante. Der Name wurde ignoriert.
IOC0284I U TOO MANY PROCEDURE/BEGIN/ON STATEMENTS.
IOC0284I U IMPLEMEOTATION RESTRICTION. NUMBER OF PROCEDURE/BEGIN/ON STATEMENTTS EXCEEDS
MAXIMUM.
Implementierungsbedingte Einschränkung. Die Anzahl der PROCEDURE- und BEGIN-Klauseln sowie ON-Anweisungen übersteigt den Maximalwert.
IOC0285I U BLOCK NESTING LEVEL EXCEEDS LIMIT.
IOC0285I U IMPLEMENTATION RESTRICTION. PROCEDURE/BEGIN BLOCK NESTING LEVEL EXCEEDS MAXIMUM.
Implementierungsbedingte Einschränkung. Das Schachtelungsniveau des PROCEDUREoder BEGIN-Blockes übersteigt die zulässige Grenze.
IOC0286I S MISSING 'THEN11 INSERTED [AFTER t U .
I0C0286I S MISSING 'THEN INSERTED [AFTER tl1 IN IF STATEMENT.
In der IF-Anweisung wurde das fehlende THEN eingefügt [nach tll.
IOC0287I S '5' SUBSTITUTED FOR INCORRECT ON-UNIT.
I0C0287I S NULL STATEMENT SUBSTITUTED FOR INCORRECT ON-UNIT.
Falsche QN-Einheit wurde durch Leeranweisung ersetzt.
IOC0288I
IOC02881
INCORRECTLY POSITIONED PREFIXES ASSUMED TO FOLLOW 'ELSE'.
INCORRECTLY POSITIONED PREFIX/PREFIXES ASSUMED TO FOLLOW •ELSE1
Fehlerhaft gesetztes Präfix wird nach ELSE eingefügt.
IOC0289I S INVALID OR MISSING STATEMENT AFTER 'THEN11.
XOC0289I S INVALID OR MISSING STATEMENT AFTER 'THEN . NULL STATEMENT ASSUMED.
Ungültige oder fehlende Anweisung nach THEN. Eine Leeranweisung wurde eingefügt.
90
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
IOC0290I S INVALID OR MISSING STATEMENT AFTER 'ELSE1.
IOC0290I S INVALID OR MISSING STATEMENT AFTER 'ELSE1. NULL STATEMENT ASSÜMED.
Ungültige oder fehlende Anweisung nach ELSE. Eine Leeranweisung wurde eingefügt.
IOC0291I S INCORRECTLY POSITIONED 'ELSE1 IGNORED.
IOC0291I S INCORRECTLY POSITIONED KEYWORD «ELSE1. 'ELSE1 IGNORED.
Falsch positioniertes Schlüsselwort ELSE wurde ignoriert.
IOC0292I W I/O CONDITION COMPLETED BY 'SYSIN' OR 'SYSPRINT1.
IOC0292I W I/O ON CONDITION
SPECIFIED WITHOUT FILE REFERENCE,. CONDITION COMPLETED
BY 'SYSIN1 OR 'SYSPRINT1.
E/A-ON-Bedingung wurde ohne FILE-Bezugnähme angegeben. Die Bedingung wurde durch
SYSIN oder SYSPRINT ergänzt.
IOC0293I S 'ERROR1 SUBSTITUTED FOR INVALID ON CONDITION.
IOCQ293I S INCORRECTLY SPECIFIED ON CONDITION [AFTER tll. «ERROR1 SUBSTJTUTED FOR t.
Fehlerhaft angegebene ON-Bedingung [nach tll. t wurde durch ERROR ersetzt.
IOC0294I S SURPLUS COMMA [AFTER tl3 IGNORED.
IOC0294I S ITEM OMITTED OR SURPLUS COMMA IN LIST [AFTER tll. COMMA IGNORED.
In der Liste [nach tl3 fehlt entweder ein Element» oder ein Komma ist überflüssig. Das Komma wurde ignoriert.
IOC0295I E MISSING LEFT PARENTHESIS INSERTED [AFTER tl].
IOC0295I E MISSING LEFT PARENTHESIS INSERTED [AFTER tll.
Fehlende linke Klammer wurde eingefügt [nach tll.
IOC0296I S INCORRECT DO SPECIFICATION.
IOC0296I S INCORRECT DO SPECIFICATION [AFTER tll.
Fehlerhafte DO-Spezifikation [nach tl3.
IOC0297I S EXPRESSION OMITTED AFTER 'BY1 OR 'TO'.
IOC0297I S EXPRESSION OMITTED AFTER 'BY1 OR 'TO1. DO SPECIFICATION IGNORED,
Ausdruck fehlt nach BY oder TO. DO-Spezifikation wurde ignoriert.
IOC0298I S ON-UNIT ILLEGALLY CONTAINS 'RETURN1 C. STATEKENT IGNORED3.
IOC0298I S ON-UNIT ILLEGALLY CONTAINS 'RETURN' [. STATEMENT IGNORED3.
ON-Einheit enthält RETURN-Anweisung. [Anweisung würde ignoriert!.
IOC0299I S INCORRECT IN OPTION IGNORED.
IOC0299I S LEFT PARENTHESIS AFTER 'IN' MISSING. IN OPTION IGNORED .
Linke Klammer nach IN fehlt. IN-Option wurde ignoriert.
IOC0300I S ENTRY CONSTANT MISSING. DUMMY ASSUMED.
IOC0300I S ENTRY CONSTANT MISSING AT START OF PROCEDURE OR ENTRY STATEMEhTT. DUMMY EKTRY
CONSTANT ASSUMED.
Am Beginn der PROCEDURE- oder ENTRY-Anweisung fehlt die ENTRY-Konstante. Eine
ENTRY-Konstante wurde eingefügt.
IOC0301I S ENTRY STATEMENT IN BEGIN BLOCK IGNORED.
IOC0301I S BEGIN BLOCK CONTAINS ENTRY STATEMENT I. STATEMENT IGNORED3.
BEGIN-Block enthält ENTRY-Anweisung. [Anweisung wurde ignoriert*1
IOC0302I S INCORRECT IN OPTION, t IGNORED.
IOC0302I S INCORRECT IN OPTION IN FREE STATEMENT, t IGNORED.
Fehlerhafte IN-Option in FREE-Anweisung. t wurde ignoriert.
IOC0303I S ILLEGAL TEXT, t IGNORED.
IOC0303I S STATEMENTT CONTAINS ILLEGAL TEXT, t IGNORED.
Anweisung enthält falschen Text, t wurde ignoriert.
IOC030« S INCORRECT OPTION [AFTER ill. t IGNORED.
IOC030« S INCORRECT OR MULTIPLE OPTION [AFTER tl]. t IGNORED.
Fehlerhafte oder mehrfach angegebene Option [nach tl]. t wurde ignoriert.
IOC0305I E INCORRECT LABEL ATTRIBUTE [AFTER tl].
IOC0305I E INCORRECT ITEM IN LABEL ATTRIBUTE LIST [AFTER tl3. t IGNORED.
Fehlerhaftes Element in der LABEL-Attributliste [nach tl]. t wurde ignoriert.
IOC0306I S SURPLUS LABEL PREFIX/PREFIXES. t IGNORED.
IOC0306I S IMPLEMENTATION RESTRICTION. LENGTH OF LABEL PREFIX LIST EXCEEDS MAXIMUM.
PREFIX/PREFIXES t IGNORED.
Implementierungsbedingte Einschränkung. Die Länge der LABEL-Präfixliste
steigt die zulassige Grenze, t wurde ignoriert.
über-
IOC0307I S INCORRECT CONDITION PREFIX [AFTER tl3. t IGNORED.
IOC0307I S COLON IN CONDITION PREFIX LIST OMITTED. t IGNORED.
Doppelpunkt fehlt in der Bedingungspräfixliste, t wurde ignoriert.
IOC0308I E INCORRECT SEQUENCE OF PREFIXES. PREFIXES ACCEPTED.
IOC0308I E CONDITION PREFIX t INCORRECTLY SPECIFIED AFTER LABEL PREFIX BUT ALL PREFIXES
ACCEPTED,
Die Reihenfolge von Bedingungspräfix t und Markenpräfix ist nicht richtig;
trotzdem wurden alle Präfixe akzeptiert.
91
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0309I S INCORRECTLY SEQUENCED PREFIX t IGNORED.
IOC0309I S CHECK OR NOCHECK PREFIX INCORRECTLY SPECIFIED AFTER LABEL PREFIX. t IGNORED,
CHECK- oder NOCHECK-Präfix wurde nach dem Markenpräfix angegeben, t wurde ignoriert.
IOC0310I E COLON ASSUMED CAFTCR tll.
I0C0310I E MISSING COLON IN CONDITION PREFIX LIST. COLON ASSUMED [AFTER tl].
Fehlender Doppelpunkt in Bedingungspräfixliste. Ein Doppelpunkt wurde eingefügt
[nach tl3.
IOC0311I S INCORRECTLY PARENTHESIZED ITEMCS) [AFTER tlJ. t IGNORED.
IOC0311I S CONTENTS OF PARENTHESIZED LIST INCORRECT [AFTER tll. t IGNORED.
Der Inhalt der eingeklammerten Liste ist fehlerhaft [nach tl]. t wurde ignoriert,
I0C0312I E ILLEGALLY SPECIFIED CONDITION PREFIX LIST IGNORED.
IOC0312I E THIS STATEMENT MUST NOT BEGIN WITH A CONDITION PREFIX LIST. SPECIFIED LIST
IGNORED.
Diese Anweisung darf nicht mit einer Bedingungspräfixliste beginnen. Die Liste
wurde ignoriert.
IOC0313I S ILLEGAL FACTORING [AFTER tll.
I0C0313I S ILLEGAL FACTORING IN ALLOCATE STATEMENT [AFTER tll. TEXT UP TO NEXT SEMICOLON
IGNORED.
Ungültiges Ausklammern in ALLOCATE-Anweisung [nach tll. Text bis zum nächsten
Semikolon wurde ignoriert.
IOC031« S 'INITIAL1 FACTORING LEVEL [AFTER tll GREATER THAN n.
IOC031« S IMPLEMENTATION RESTRIKTION. MORE THAN n FACTORING LEVELS IN INITIAL ATTRIBUTE.
ATTRIBUTE IGNORED.
Implementierungsbedingte Einschränkung. Das Niveau der Schachtelung im INITIALAttribut übersteigt n. Das Attribut wurde ignoriert.
IOC0315I S SIGN BEFORE t IGNORED.
IOC0315I S SIGN IN FRONT OF STRUCTURE LEVEL NUMBER t INVALID AND IGNORED.
Ein Vorzeichen vor der Strukturstufennummer t ist unzulässig und wurde ignoriert.
IOC0316I S LEVEL NUMBER ZERO REPLACED BY ONE.
IOC0316I S LEVEL NUMBER ZERO [AFTER tl1 INVALID AND REPLACED BY ONE.
Die Stufennummer Null [nach tll ist falsch und wurde durch Eins ersetzt.
IOC0317I S ILLEGAL t IN •RETURNS1 IGNORED.
IOC0317I S ATTRIBUTE t MUST NOT BE SPECIFIED IN RETURNS ATTRIBUTE AND IS THEREFORE IGNORED.
Attribut t darf nicht im RETURNS-Attribut angegeben werden und wurde deshalb
ignoriert.
IOC0318I S ASSIGNMENT STATEMENT INCORRECT [AFTER tll. t IGNORED.
IQC0318I S SYNTACTICAL ERROR IN ASSIGNMENT STATEMENT [AFTER tll. t IGNORED.
Syntaktischer Fehler in Ergibtanweisung [nach tll. t wurde ignoriert.
IOC0319I W INCORRECTLY USED '/CSKIP1 OR 'XPAGE'.
IOC0319I W INCORRECTLY USED XSKIP^ OR KPAGE STATEMENT. LISTING STATEMENT IGNORED.
Falscher Gebrauch der /CSKIP- oder XPAGE-Anweisung. Anweisung wurde ignoriert.
IOC0320I S FORMAT LIST MISSING [AFTER tll.
IOC0320I S FORMAT LIST MISSING IN EPIT-DIRECTED I/O STATEMENT, t FORMAT ASSUMED.
Formatliste fehlt in EDIT-gesteuerter E/A-Anweisung. Das Format t wurde eingefügt.
IOC0321I S ERROR IN DATA LIST [AFTER tll. t IGNORED.
IOC0321I S MISSING OR INCORRECT DATA LIST ITEM [AFTER tll. t IGNORED.
Fehlendes oder falsches Datenlistenelement [nach tll. t wurde ignoriert
IOC0322I S ERROR IN FORMAT LIST [AFTER tll. t IGNORED.
I0C0322I S MISSING OR INCORRECT FORMAT ITEM [AFTER tll. t IGNORED .
Fehlendes oder falsches Formatelement [nach tll. t wurde ignoriert.
IOC0323I W NO LABEL IN FORMAT STATEMENT.
I0C0323I W LABEL PREFIX MISSING IN FORMAT STATEMENT.
Markenpräfix fehlt in FORMAT-Anweisung.
I0C0324I S ILLEGALLY USED KEYWORD [AFTER tll. t IGNORED.
IOC0324I S DO SPECIFICATION CONTTAINS ILLEGAL KEYWORD [AFTER tll. t IGNORED.
DO-Spezifikation enthält falsches Schlüsselwort [nach tll. t wurde ignoriert.
I0C0325I S LABEL PREFIX OF ON-UNIT IGNORED.
IOC0325I S ON-UNIT MUST NOT BEGIN WITH LABEL PREFIX. LABEL PREFIX IGNORED.
ON-Einheit darf nicht mit Markenpräfix beginnen. Markenpräfix wurde ignoriert.
IOC0326I S END OF STATEMENT ASSUMED [AFTER tll.
IOC0326I S END OF STATEMENT ASSUMED [AFTER tl]. TEXT UP TO NEXT SEMICOLON IGNORED.
Das Ende der Anweisung wurde angenommen [nach tll. Der Text bis zum nächsten Semikolon wurde ignoriert.
IOC0327I S ATTRIBUTE INCORRECT [AFTER tl3. t IGNORED.
IOC0327I S ERROR IN ATTRIBUTE SPECIFICATION [AFTER tll. t IGNORED .
Fehler in der Angabe des Attributes [nach tll. t wurde ignoriert.
92
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0328I S INCORRECTLY USED 'DO1 REPLACED BY 'BEGIN1.
IOC0328I S DO GROUP MUST NOT BE USED AS ON-UNIT. DO STATEMENT REPLACED BY •BEGINi'.
DO-Gruppe
darf nicht als ON-Einheit angewendet werden. DO-Klausel wurde durch
'BEGIN*1 ersetzt.
IOC0329I S MULTIPLE USE OF OPTION, t IGNORED.
IOC0329I S MULTIPLE USE OF SAME OPTION IN THIS STATEMENTT. t IGNORED.
Mehrfache Anwendung derselben Option in dieser Anweisung oder Klausel.
ignoriert.
t wurde
IOC0330I S REPLY OPTION MISSING. TEXT tAFTER tl1 IGNORED.
IOC0330I S EVEKT OPTION BUT NO REPLY OPTION SPECIFIED IN DISPLAY STATEMENT.
TEXT [AFTER tl] IGNORED.
In der DISPLAY-Anweisung wurde die EVENT-Option> aber keine REPLY-Option angegeben. Text [nach tl 1 wurde ignoriert.
IOC0331I E LEFT PARENTHESIS ASSUMED BEFORE EXPRESSION.
IOC0331I E LEFT PARENTHESIS OMITTED BEFORE EXPRESSION IN DELAY OR DISPLAY STATEMENT.
PARENTHESIS ASSUMED.
Linke Klammer wurde vor dem Ausdruck in der DELAY- oder DISPLAY-Anweisung
eingefügt.
IOC0332I S INCORRECT FORMAT ITEM [AFTER « ] . t IGNORED.
IOC0332I S ERROR IN FORMAT ITEM [AFTER tl]. t IGNORED.
Fehler im Formatelement [nach tll. t wurde ignoriert.
IOC0333I E RIGHT PARENTHESES ASSUMED [AFTER tl].
IOC0333I E MISSING RIGHT PARENTHESIS AFTER DO SPECIFICATION ENDING t IN DATA LIST.
PARENTHESIS ASSUMED.
Rechte Klammer nach DO-Spezifikation fehlt bei t 'in Datenliste. Klammer wurde
eingefügt.
IOC0334I S MORE THAN n NESTING LEVELS IN DATA LIST [AFTER tll.
IOC0334I S IMPLEMENTATION RESTRICTION. MORE THAN n NESTING LEVELS IN DATA LIST [AFTER
tl] [. STATEMENT IGNORED].
Implementierungsbedingte Einschränkung. Mehr als n Schachtelungsstufen in Datenliste [nach tll. [Anweisung wurde ignoriert.]
IOC0335I S INCORRECT CALL STATEMENT.
IOC0335I S SYNTACTICAL ERROR IN CALL STATEMENT [. STATEMENT IGNORED ].
Syntaktischer Fehler in CALL-Anweisung. [Anweisung wurde ignoriert.]
IOC0336I S INCORRECTLY USED ENTRY STATEMENT IGNORED.
IOC0336I S ENTRY STATEMENT ILLEGALLY COOTAINED IN DO GROUP [. STATEMENT IGNORED3.
ENTRY-Klausel ist in DO-Gruppe enthalten. [Klausel wurde ignoriert.]
IOC0337I S INCORRECT STATEMENT, t IGNORED.
IOC0337I S SYNTACTICAL ERROR AT START OF STATEMENT, t IGNORED.
Syntaktischer Fehler am Beginn der Anweisung, t wurde ignoriert.
IOC0338I S INCORRECT OPTION [AFTER tl]. t IGNORED.
I0C0338I S INVALID OPTION IN PROCEDURE/BEGIN/ENTRY STATEMENT, t IGNORED.
Fehlerhafte Option in PROCEDURE-> BEGIN- oder ENTRY-Klausel. t wurde ignoriert.
IOC0339I S FORMAT LIST NESTING LEVEL EXCEEDS n [AFTER tl].
IOC0339I S IMPLEMENTATION RESTRICTION. NESTING OF FORMAT LISTS EXCEEDS n LEVELS [AFTER tl]
[. STATEMENT IGNORED].
Implementierungsbedingte Einschränkung. Die Schachtelungstiefe der Formatliste
übersteigt n [nach tll. [Die Anweisung wurde ignoriert.]
IOC0340I S MISSING EQUAL SYMBOL [AFTER tl]. t IGNORED.
IQC0340I S MISSING EQUAL SYMBOL IN DO SPECIFICATION. t IGNORED.
Fehlendes Gleichheitszeichen in DO-Spezifikation. t wurde ignoriert«
IOC0341I S ILLEGAL CONTROL VARIABLE [AFTER tll. t IGNORED.
IOC0341I S ILLEGAL CONTROL VARIABLE [AFTER tl] IN DO SPECIFICATION. t IGNORED.
Fehlerhafte Laufvariable [nach tl ] in DO-Spezifikation. t wurde ignoriert.
IOC0342I S NESTING LEVEL OF PARENTHESES EXCEEDS n [AFTER tl].
IOC0342I S IMPLEMENTATION RESTRICTION. NESTING OF PARENTHESES EXCEEDS n LEVELS [AFTER tl]
[. STATEMENT IGNORED].
Implementierungsbedingte Einschränkung« Die
Schachtelungstiefe der Klammern
übersteigt n [nach tll. [Anweisung wurde ignoriert.]
IOC0343I U STATEMENT NESTING LEVEL EXCEEDS LIMIT.
IOC0343I U IMPLEMENTATION RESTRICTION. SUMMARIZED NESTING LEVELS OF BLOCKS GROUPS AND IF
STATEMENTS EXCEED LIMIT. PROCESSING TERMINATED.
Implementierungsbedingte Einschränkung. «Die gesamte
Schachtelungstiefe von
Blöcken, Gruppen und IF-Anweisungen übersteigt die Grenze. Die Verarbeitung wurde
abgebrochen.
IOC0344I S OPTION(S) t OMITTED IN RECORD I/O STATEMENT.
IOC0344I S OPTIONCS) t OMITTED IN RECORD I/O STATEMENT E . STATEMENT IGNORED].
Option t fehlt in RECORD-E/A-Anweisung. [Anweisung wurde ignoriert.]
93
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0345I S t IN 'OPTIONS1 LIST IGNORED.
IOC0345I S ERROR IN 'OPTIONS1 LIST, t IGNORED.
Fehler in Optionenliste, t wurde ignoriert.
IOC0346I S MISSING REFERENCE AFTER 'LOCATE11
IOCQ346I S MISSING REFERENCE AFTER 'LOCATE [. STATEMENT IGNORED3.
Fehlende Bezugnahme nach LOCATE. [Anweisung wurde ignoriert.]
IOC0347I E COLON ASSUMED [AFTER tll.
IOC0347I E MISSING COLON AT END OF CONDITION PREFIX. COLON ASSUMED [AFTER tll.
Fehlender Doppelpunkt nach dem Bedingungspräfix wurde eingefügt [nach tl3.
IOC0348I S MULTIPLE T0 1 OR 'BY11 [AFTER tll. t IGNORED.
'BY [AFTER tli IN DO SPECIFICATION. t IGNORED.
IOC0348I S MULTIPLE TO1 OR
Mehrfaches 'TO1 oder •BY1 [nach tl3 in DO-Spezifikation. t wurde ignoriert.
IOCQ349I S FILE OPTION MISSING. t IGNORED.
IOC0349I S MISSING FILE OPTION OR SURPLUS COMMA IN OPEN OR CLOSE STATEMENT, t IGNORED.
Fehlende FILE-Option oder überflüssiges Komma in OPEN-oder CLOSE-Anweisung.
t wurde ignoriert.
IOC0350I S SYNTACTICAL ERROR [AFTER tl1. t IGNORED.
I0C0350I S SYNTACTICAL ERROR IN ENVIRONMENT OPTION [AFTER tll. t IGNORED.
Syntaktischer Fehler in ENVIRONMENT-Option [nach tll. t wurde ignoriert.
IOC0351I S INVALID ITEM [AFTER tll. t IGNORED.
IOC0351I S INVALID PARAMETER SPECIFICATION [AFTER tll. t IGNORED.
Fehlerhafte Parameterangäbe [nach tl]. t wurde ignoriert.
IOC0352I S INVALID OPTION [AFTER tll. t IGNORED.
IOC0352I S INVALID OPTION IN DEFAULT STATEMENT [AFTER i l l t IGNORED.
Fehlerhafte Option in DEFAULT-Anweisung [nach tll. t wurde ignoriert.
IOC0353I S INCORRECT SPECIFICATION [AFTER tll. t IGNORED.
I0C0353I S INCORRECT SPECIFICATION [AFTER tl3 IN RANGE OPTION, t IGNORED.
Fehlerhafte Angabe [nach tl3 in RANGE-Option. t wurde ignoriert.
IOC035« S INCORRECT SPECIFICATION [AFTER tll. t IGNORED.
IOC0354I S INCORRECT SPECIFICATION [AFTER tl1 IN GENERIC ATTRIBUTE, t IGNORED.
Fehlerhafte Angabe [nach tl 1 im GENERIC-Attribut. t wurde ignoriert.
IOC0355I S ERROR IN POSITION ATTRIBUTE, t IGNORED.
I0C0355I S INCORRECT SPECIFICATION IN POSITION ATTRIBUTE, t IGNORED.
Fehlerhafte Angabe im POSITION-Attribut. t wurde ignoriert.
I0C0356I S INCORRECT SPECIFICATION [AFTER tll. t IGNORED.
IOC0356I S INCORRECT SPECIFICATION EAFTER tl1 IN NAME LIST, t IGNORED.
Fehlerhafte Angabe [nach tll in der Namenliste, t wurde ignoriert.
IOC0357I S INVALID KEYWORD, t IGNORED.
I0CQ357I S ATTRIBUTE SPECIFICATION IN DEFAULT STATEMENT COhTTAINS INVALID KEYWORD, t IGNORED.
Attributangabe in DEFAULT-Anweisung enthält fehlerhaftes Schlüsselwort, t wurde
ignoriert.
IOC0358I S NO 'WHEN1 IN 'GENERIC1 [AFTER tll. t IGNORED.
IOC0358I S NO WHEN OPTION [AFTER tll IN GENERIC ATTRIBUTE, t IGNORED.
Keine WHEN-Option [nach tll im GENERIC-Attribut. t wurde ignoriert.
IOC0359I S INCORRECT DIMENSION SPECIFICATION [AFTER tll. t REPLACED BY 10.
IOC0359I S INCORRECT SPECIFICATION [AFTER tll IN DIMENSION ATTRIBUTE, t REPLACED BY 10.
Fehlerhafte Angabe [nach tl 1 im Dimensionsattribut, t wurde durch 10 ersetzt.
IOC0360I S ILLEGAL OPTION EAFTER tll. t IGNORED.
IOC0360I S ILLEGAL OPTION IN GET/PUT STATEMENT [AFTER tll. t IGNORED.
Ungültige Option in GET/PUT-Anweisung [nach tll. t wurde ignoriert.
IOC0361I S EXPRESSION INVALID OR MISSING.
IOC0361I S MISSING OR INVALID EXPRESSION IN DELAY OR DISPLAY STATEMENT. [STATEMENT IGNORED.3
Fehlender oder falscher Ausdruck in DELAY- oder DISPLAY-Anweisung. [Anweisung
wurde ignoriert.3
IOC0362I S INVALID OPTION [AFTER tll. t IGNORED.
IOC0362I S OPTION [AFTER tll INVALID IN THIS CONTEXT. t IGNORED.
Option [nach tll in diesem Zusammenhang ungültig, t wurde ignoriert.
IOC0363I E COMMA ASSUMED EAFTER tll.
IOC0363I E CONSTANT IN ATTRIBUTE LIST. COMMA ASSUMED [AFTER tll.
Konstante in Attributliste. Komma wurde eingefügt [nach tll.
IOC0364I S NO NAME [AFTER tll. t IGNORED.
IOC0364I S NAME MISSING [AFTER tll IN DECLARE/DEFAULT/ALLOCATE STATEMENT, t IGNORED.
Name fehlt [nach tll in DECLARE-, DEFAULT- oder ALLOCATE-Anweisung. t wurde ignoriert.
IOC0365I S DATA LIST MISSING [AFTER tll,
IOC0365I S DATA LIST MISSIMG [AFTER tl1 E. STATEMENT IGNORED1.
Datenliste fehlt [nach tll. [Anweisung wurde ignoriert.]
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOCQ366I S INVALID REFERENCE IAFTER tll. t IGNORED.
IOC0366I S INVALID REFERENCE [AFTER tlI IN FREE STATEMENT, t IGNORED.
Ungültige Bezugnahme [nach tl] in FREE-Anweisung. t wurde ignoriert.
IOC0367I W TOO FEW PARENTHESES FOR TEXT [AFTER tl] TO BE DO SPECIFICATION.
IOC0367I W ONE OR MORE MISSING PARENTHESES IN TEXT [AFTER tl ] TO BE DO SPECIFICATION.
TEXT ITEMS ASSUMED TO BE DATA LIST ITEMS.
Eine oder mehrere fehlende Klammern im Text [nach tl3 der DO-Spezifikation.
Textelement wird als Datenlistenelement angenommen.
IOC0368I S NO EXPRESSION [AFTER tll. t ASSUMED.
IOC0368I S EXPRESSION OMITTED IN FORMAT ITEM [AFTER tll. t ASSUMED.
Ausdruck fehlt im Formatelement [nach tl]. t wurde eingefügt.
IOC0369I S CONFLICTING ITEMS IN CONDITION PREFIX LIST.
IOC0369I S CONFLICTING ITEMS IN CONDITION PREFIX LIST. ENABLING ITEM IGNORED.
Widersprüchliche Elemente in der Bedingungspräfixliste. Entsprechendes
wurde ignoriert.
Element
IOC0370I S NO EXPRESSION [AFTER tll.
IOC0370I S EXPRESSION OMITTED IN A FORMAT ITEM [AFTER tll. 'ERROR1 WILL BE RAISED DURING
EXECUTION.
Ausdruck fehlt im A-Formatelernent [nach tl]. Während der Ausführung wird ERROR
auftreten.
IOC0371I S INVALID NUMBER OF SPECIFICATIONS [AFTER tll. t IGNORED .
IOC0371I S INCORRECT NUMBER OF SPECIFICATIONS IN FORMAT ITEM [AFTER tll. t IGNORED.
Falsche Anzahl von Angaben im Formatelement [nach tll. t wurde ignoriert.
IOC0372I E COMMA ASSUMED [AFTER tll.
IOC0372I E COMMA ASSUMED [AFTER tll.
Komma wurde eingefügt [nach tl].
IOC0373I S ERROR IN P FORMAT ITEM [AFTER tll. t IGNORED.
IOC0373I S P FORMAT ITEM CONTAINING CHARACTER PICTURE STRING [AFTER tll. t IGNORED.
P-Formatelement enthält Zeiohenketten-Abbildungskette [nach tll. t wurde ignoriert.
IOC0374I S SYNTACTICAL ERROR [AFTER tll.
IOC0374I S SYNTACTICAL ERROR IN LISTING CONTROL STATEMENT [AFTER tll. TEXT IGNORED UP TO
NEXT SEMICOLON.
Syntaktischer Fehler in der Auflistungsanweisung [nach tl3. Text wurde bis zum
nächsten, Semikolon ignoriert.
IOC0375I S SYNTACTICAL ERROR [AFTER tll.
I0C0375I S SYNTACTICAL ERROR IN DECLARE OR DEFAULT STATEMENT [AFTER tll.
Syntaktischer Fehler in DECLARE- oder DEFAULT-Anweisung [nach tll.
IOC0376I S DATA LIST INVALID [AFTER tll. t IGNORED.
I0C0376I S INCORRECTLY USED DO SPECIFICATION IN DATA LIST OF GET STATEMENT [AFTER -tll.
t IGNORED.
Fehlerhaft angewendete DO-Spezifikation in Datenliste der GET-Anweisung [nach
tll. t wurde ignoriert.
IOC0377I S MISSING OR INVALID FORMAT LIST [AFTER tll.
IOC0377I S FORMAT STATEMENT CONTAINS INVALID OR NO FORMAT LIST [AFTER tll. A FORMAT ASSUMED.
FORMAT-Anweisung enthält ungültige oder keine Formatliste [nach tll. A-Format
wurde eingefügt.
IOC0378I S LENGTH OF PICTURE STRING t EXCEEDS LIMIT.
IOC0378I S IMPLEMENTATION RESTRICTION. LENGTH OF PICTURE STRING EXCEEDS LIMIT. PICTURE
STRING t IGNORED.
Implementierungsbedingte Einschränkung. Abbildungsketteist zu lang. Abbildungs^
kette t wurde ignoriert.
IOC0379I E NESTING LEVEL OF FACTORIZATION EXCEEDS LIMIT [AFTER tlJ. t IGNORED.
IOC0379I E IMPLEMENTATION RESTRICTION. NESTING LEVEL OF FACTORIZATION EXCEEDS LIMIT
[AFTER tll. t IGNORED.
Implementierungsbedingte Einschränkung. Schachtelungsniveau [nach tl1
tief, t wurde ignoriert.
ist
zu
IOC0380I I TASK OPTION SPECIFIED. 'REENTRANT1 ASSUMED.
IOC0380I I TASK OPTION SPECIFIED. PROCEDURE ASSUMED TO BE REENTRAtfT.
Die TASK-Option wurde angegeben. Die REENTRAKT-Option wurde eingefügt.
IOC0381I W BLANK ASSUMED [AFTER tll.
IOC0381I W NO BLANK BETWEEN KEYWORD AND STRING CONSTANT. BLANK ASSUMED [AFTER tll.
Kein Leerzeichen zwischen Schlüsselwort und Kettenkonstante. Leerzeichen wurde
eingefügt [nach tll.
IOC038EI S 'LIKE' IGNORED.
IOCQ3S2I S LIKE ATTRIBUTE INVALID IN PARAMETER DESCRIPTOR LIST OF ENTRY ATTRIBUTE AND
THEREFORE IGNORED.
In der Parameterbeschreibungsliste für das ENTRY-Attribut ist das LIKE-Attribut
ungültig und wurde deshalb ignoriert.
95
PL1-0C Benutzungshinweise
10/89
DQS-4/ES
IOC0383I E INVALID INITIAL ATTRIBUTE tAFTER tl].
IOCQ383I E INVALID SPECIFICATION IN INITIAL ATTRIBUTE [AFTER tlJ. ATTRIBUTE IGNORED.
Fehlerhafte Angabe im INITIAL-Attribut [nach tl]. Attribut wurde ignoriert.
IOC038« E INVALID OPTION [AFTER tll.
I0CQ384I E ILLEGALLY USED OPTION [AFTER tll IN RECORD I/O STATEMENT. OPTION t ASSUMED.
Falsch angewendete Option [nach tl ] in RECORD-E/A-Anweisung. Option t wurde eingefügt.
IOC0385I I n ADDITIONAL1 END STATEMENTCS) ASSUMED.
IOC03851 I SINGLE 'END EFFECTS MULTIPLE CLOSURE OF BLOCKS/GROUPS. n ADDITIONAL END
STATEMENTS ASSUMED.
Einfaches END bewirkt mehrfaches Schließen von Blöcken/Gruppen, n zusätzliche
END-Klauseln wurden eingefügt.
IOC0386I E SEMICOLOJ* ASSUMED [AFTER tll.
I0C0386I E SEMICOLON ASSUMED [AFTER tll.
Semikolon wurde eingefügt [nach tl].
IOC0387I E RIGHT PARENTHESIS ASSUMED [AFTER ill.
IOC0387I E RIGHT PARENTHESIS ASSUMED [AFTER tll.
Rechte Klammer wurde eingefügt [nach tl].
IOC0390I S MORE THAN n QUALIFIERS IN REFERENCE BEGINNING t.
IOC0390I S IMPLEMENTATION RESTRICTION. QUALIFIED REFERENCE BEGINNING t CONTAINS MORE THAN
n QUALIFIERS. EXCESSIVE QUALIFIERS IGNORED.
Implementierungsbedingte Einschränkung. Mehrstufige Bezugnahme» beginnend mit t>
enthält mehr als n Stufen. Überzählige Stufen wurden ignoriert.
IOC0391I E LABEL VALUE LIST IGNORED.
IOC0391I E LIST IN LABEL ATTRIBUTE INVALID IN DEFAULT STATEMENT. LIST IGNORED.
In der DEFAULT-AnWeisung ist die Liste im LABEL-Attribut ungültig. Die Liste wurde ignoriert.
IOC0392I S QUALIFICATION OR SUBSCRIPT ON ENTRY PREFIX IGNORED.
IOC0392I S IMPLEMENTATION RESTRICTION. QUALIFIED/SUBSCRIPTED REFERENCE IN EtfTRY PREFIX
INVALID. QUALIFIERCSVSUBSCRIPT LIST IGNORED.
Implementierungsbedingte Einschränkung. Mehrstufige oder indizierte Bezugnahmen
im ENTRY-Präfix sind ungültig und wurden ignoriert.
IOC0393I E ADJUSTABLE EXTENT INVALID IN »RETURNS1.
IOC0393I E ADJUSTABLE BOUND/LENGTH/SIZE IN ATTRIBUTE SPECIFICATION OF RETURNS ATTRIBUTE
IGNORED.
Veränderliche Grenze/Länge in der Attribut-Angabe des RETURNS-Attributes wurde
ignoriert.
IOC0394I E ARGUMENT SPECIFICATION t IGNORED.
IOC039M E ERROR IN ARGUMENT SPECIFICATION IN INTERLANGUAGE OPTION, t IGNORED.
Fehler in der Argumentangabe der Sprachenanpassungsoption, t wurde ignoriert.
IOC0395I E PARAMETER SRECIFICATION t IGNORED.
I0C0395I E ERROR IN PARAMETER SPECIFICATION IN INTERLANGUAGE OPTION, t IGNORED.
Fehler in der Parameterangabe der Sprachenanpassungsoption, t wurde ignoriert.
IOC0396I E INVALID OPTION t IGNORED.
IOC0396I E ILLEGAL SPECIFICATION IN OPTIONS. OPTION IGNORED.
Fehlerhafte Angabe in der OPTIONS-Option wurde ignoriert.
IOC0397I E CONFLICTING 'OPTIONS1 SPECIFICATION. t ASSUMED.
IOC0397I E CONFLICTING ItfTERLANGUAGE OPTIONS SPECIFIED. t ASSUMED .
Widersprüchliche Sprachenanpassungsoptionen, t wurde eingefügt.
IOC0398I E EXTENT SPECIFIED OUTSIDE VALUE OPTION.
IOC0398I E LENGTH/SIZE/PRECISION IN DEFAULT STATEMENT OUTSIDE VALUE OPTION. RESULTS OF
EXECUTION UNDEFINED.
Länge/Genauigkeit in DEFAULT-AnWeisung wurde außerhalb der VALUE-Option angegeben. Ergebnis der Ausführung ist unbestimmt.
IOC0399I E ATTRIBUTE t ILLEGAL IN DEFAULT STATEMEOT.
IOC0399I E ATTRIBUTE t ILLEGAL IN DEFAULT STATEMENT. ATTRIBUTE IGNORED.
Attribut t in DEFAULT-Anweisung ist ungültig und wurde ignoriert»
IOC0400I U ATTRIBUTE FACTORING LEVEL EXCEEDS n.
IOC040QI U IMPLEMENTATION RESTRICTION. LEVEL OF ATTRIBUTE FACTORING EXCEEDS n. PROCESSING
TERMINATED.
Klammerung von Attributen übersteigt n. Die Verarbeitung wurde abgebrochen.
IOC0401I S MORE THAN n PARAMETERS.
IOC0401I S IMPLEMENTATION RESTRICTION. NUMBER OF PARAMETERS EXCEEDS n. EXCESSIVE PARAMETERS
IGNORED.
Implementierungsbedingte Einschränkung. Die Anzahl der Parameter übersteigt n.
Überzählige Parameter wurden ignoriert.
IOC0402I E DECLARATION OF d IGNORED.
IOC0402I E ATTRIBUTE INTERNAL ILLEGALLY USED IN ENTRY DECLARATION. DECLARATION OF d IGNORED.
In der ENTRY-Vereinbarung wurde das INTERNAL-Attribut falsch angewendet. Die Vereinbarung von d wurde ignoriert.
96
PL1-QC Benutzungshinweise
10/89
DQS-4/ES
IOC0403I S NESTED LIKE ATTRIBUTE IN DECLARATION OF d.
IOC0403I S LIKE ATTRIBUTE IN DECLARATION OF d ILLEGALLY REFERS TO STRUCTURE ALSO DECLARED
WITH LIKE ATTRIBUTE. STRUCTURE EXPANSION TRUNCATED AT LATTER LIKE ATTRIBUTE.
Das LIKE-Attribut in der Vereinbarung von d bezieht sich auf . eine Struktur» die
auch mit dem LIKE-Attribut vereinbart ist. Die Strukturerweiterung wurde am letzten LIKE-Attribut abgebrochen.
IOC0404I S 'LIKE1 REFERENCE FOR d IS NOT A STRUCTURE.
IOC040« S LIKE ATTRIBUTE IN DECLARATION OF d DOES NOT REFER, TO STRUCTURE. ATTRIBUTE
IGNORED.
Das LIKE-Attribut in der Vereinbarung von d bezieht sich nicht auf eine Struktur.
Das Attribut wurde ignoriert.
IOC0405I S •LIKE1 REFERENCE FOR d IS AHBIGUOUS.
IOC0405I S LIKE ATTRIBUTE IN DECLARATION OF d CONTAINS AHBIGUOUS REFERENCE. UNPREDICTABLE
SELECTION MADE.
Das LIKE-Attribut in der Vereinbarung von d enthält eine mehrdeutige Bezugnahme.
Eine Undefinierte Auswahl wurde vorgenommen.
IOC0406I S LIKE ATTRIBUTE FOR d CONTAINS INVALID REFERENCE.
IOC0406I S LIKE ATTRIBUTE IN DECLARATION OF d REFERS TO NON-STRUCTURE OR TO STRUCTURE
ALSO CONTAINING LIKE ATTRIBUTE. FORMER LIKE ATTRIBUTE IGNORED.
Das LIKE-Attribut in der Vereinbarung von d bezieht sich nicht auf eine Struktur
oder bezieht sich auf eine Struktur> die auch das LIKE-Attribut enthält. Das erste LIKE-Attribut wurde ignoriert.
IOC0407I U TOO MANY DEFAULT SPECIFICATIONS AND LIKE ATTRIBUTES.
I0C0407I U IMPLEMENTATION RESTRICTION. TOO MANY DEFAULT SPECIFICATIONS AND LIKE ATTRIBUTES
IN THIS BLOCK. PROCESSING TERMINATED.
Implementierungsbedingte Einschränkung. Zu viele DEFAULT-Angaben und LIKE-Attribute in diesem Block. Die Verarbeitung wurde abgebrochen.
IOC040SI S INVALID ATTRIBUTE SPECIFICATION IN VALUE OPTION.
IQC0408I S CONFLICTING OR REPEATED OR INVALID ATTRIBUTE SPECIFICATION IN VALUE OPTION.
RESULTS OF EXECUTION UNDEFINED.
Die Attribute in der VALUE-Option widersprechen sich oder wiederholen sich oder
sind ungültig. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0409I E PRECISION/SIZE/LENGTH OMITTED IN VALUE OPTION.
IOC0409I E PRECISION/SIZE/LENGTH QMITTED FOR ATTRIBUTE IN VALUE OPTION. ATTRIBUTE IGNORED.
Genauigkeit/Länge fehlt für das Attribut in der VALUE-Option. Das Attribut wurde
ignoriert.
IOC0410I S MULTIPLE DECLARATION OF d.
IOC0410I S MULTIPLE DECLARATION OF NAME d IN THE SAME STRUCTURE,
Mehrfache Vereinbarung des Namens d in derselben Struktur.
IOC0411I S MULTIPLE DECLARATION OF d IGNORED.
IOC0411I S MULTIPLE DECLARATION OF NAME d. DECLARATION IGNORED.
Mehrfache Vereinbarung des Namens d. Vereinbarung wurde ignoriert.
IOC0412I S MAJOR STRUCTURE LEVEL NUMBER ASSUMED TO BE ONE.
IOC0412I S FIRST STRUCTURE LEVEL NUMBER NOT ONE. ONE HAS BEEN ASSUMED.
Die erste Strukturstufennummer ist nicht 1. 1 wurde angenommen.
IOC04I3I S LOGICAL LEVEL NUMBER OF MEMBER REDUCED TO n.
IOC0413I S IMPLEMEhTTATION RESTRICTION. LOGICAL LEVEL OF STRUCTURE MEMBER EXCEEDS LIMIT.
LEVEL NUMBER ASSUMED TO BE n.
Implementierungsbedingte Einschränkung. Die logische Stufe eines Strukturmitglieds übersteigt die Grenze. Die Stufennummer wurde auf n gesetzt.
IOC041« S SPECIFIED LEVEL NUMBER OF MEMBER REDUCED TO n.
IOC041M S IMPLEMENTATION RESTRICTION. SPECIFIED STRUCTURE LEVEL NUMBER EXCEEDS LIMIT.
LEVEL NUMBER ASSUMED TO BE n.
Implementierungsbedingte Einschränkung.
Die angegebene
Strukturstufennummer
übersteigt die Grenze. Die Stufennummer wurde auf n gesetzt.
IOC0415I E INVALID REPETITION OF t.
IOC0415I E REREATED SPECIFICATION OF ATTRIBUTE t IS INVALID. SECOND ATTRIBUTE IGNORED.
Wiederholte Angabe des Attributes t ist ungültig• Das zweite Attribut wurde ignoriert.
IOC0416I E ATTRIBUTE t FOR D IGNORED.
IOC0416I E ATTRIBUTE t IN DECLARATION OF D IGNORED.
Das Attribut t in der Vereinbarung von D wurde ignoriert.
IOC0417I E AMBIGUOUS •DEFAULT' FOR d. t IGNORED.
IOC0417I E AMBIGUOUS DEFAULT SPECIFICATION IS TO BE APPLIED ON DECLARATION OF d.
ATTRIBUTE t IGNORED.
Eine mehrdeutige DEFAULT-Angabe soll auf die Vereinbarung von d angewendet werden. Das Attribut t wurde ignoriert.
97
PL1-0C Benutzungshinweise
10/89
DÖS-4/ES
IOC0418I E 'DEFAULT1 AMBIGUOUS FOR RANGE tl. t2 I6N0RED.
IOC0418I E AMBIGUOUS DEFAULT SPECIFICATION IS TO BE APPLIED ON ANY 3MPLICIT OR CONTEKTUAL
DECLARATION OF NAHES IN RANGE tl« ATTRIBUTE t2 IGNORED.
Eine mehrdeutige DEFAULT-Angäbe soll auf eine implizite oder textabhängige Vereinbarung von Namen angewendet werden, die dem durch 'RANGECtD' definierten Bereich angehören. Das Attribut t2 wurde ignoriert.
IOC0419I I NO MAIN OPTION ON EXTERNAL PROCEDURE.
I0C0419I I MAIN OPTION NOT SPECIFIED FOR EXTERNAL PROCEDURE.
Die MAIN-Option wurde für die externe Prozedur nicht angegeben.
IOC0420I S PICTURE CHARACTER [AFTER tl1 REPLACED BY t.
IOC0420I S ERROR IN PICTURE STRING. PICTURE CHARACTER [AFTER tl] REPLACED BY t.
Fehler in der Abbildungskette. Abbildungszeichen [nach tl] wurde durch t ersetzt.
IOC0421I S NO DIGIT SPECIFIER IN FIELD OF PICTURE t.
IOC0421I S NO DIGIT SPECIFIER IN FIELD OF PICTURE STRING t. RESULTS OF EXECUTION UNDEFINED.
Kein Ziffernabbildungszeichen in der Abbildungskette t. Die Ergebnisse der
Ausführung sind Undefiniert.
IOC0422I S PRECISION OF FIELD IN PICTURE t EXCEEDS n.
IQC0422I S IMPLEMENTATION RESTRIKTION. PRECISION H1PLIHD FROM FIELD OF PICTURE STRING t
EXCEEDS n. PICTURE IGNORED.
Implementierungsbedingte Einschränkung. Die Stelligkeitsangabe in der Abbildungskette t übersteigt n. Das PICTURE-Attribut wurde ignoriert.
I0C0423I S ILLEGAL SCALING FACTOR IN PICTURE t IGNORED.
IOC0423I S ILLEGAL SCALING FACTOR IN PICTURE STRING t. SCALING FACTOR IGNORED.
Ungültiger Skalierungsfaktor in der Abbildungskette t. Der Skalierungsfaktor wurde ignoriert.
IOC0424I S INVALID PICTURE t.
IOC0424I S ILLEGALLY SPECIFIED PICTURE CHARACTER(S) AFTER SCALING FACTOR IN PICTURE
STRING t IGNORED.
Falsch angegebene(s) Abbildungszeichen nach dem Skalierungsfaktor in der Abbildung skette t wurdetn) ignoriert.
I0C0425I E INVALID PICTURE. t REPLACED BY 'X1.
IOC0425I E ILLEGAL CHARACTER IN CHARACTER STRING PICTURE. 'X1 SUBSTITUTED FOR t.
Ungültiges Zeichen in der Zeichenketten-Abbildungskette. t wurde durch
setzt.
'X' er-
IOC0426I E PRECISION OF d REDUCED TO n.
IOC0426I E IMPLEMENTATION RESTRICTION. PRECISION OF d EXCEEDS LIMIT. PRECISION n ASSUMED.
Implementierungsbedingte Einschränkung. Die Genauigkeit von d übersteigt die
Grenze. Die Genauigkeit n wurde angenommen.
IÖC0427I E INVALID 'RANGE1 t IGNORED.
IOC0427I E ERROR IN RANGE OPTION t. OPTION IGNORED.
Fehler in RANGE-Option t. Die Option wurde ignoriert.
IOC0428I E ZERO VALUE ASSUMED FOR SCALE FACTOR.
IOC0428I E IMPLEMENTATION RESTRICTION. SCALE FACTOR EXCEEDS LIMIT. SCALE FACTOR ZERO
ASSUMED.
Implementierungsbedingte Einschränkung. Skalierungsfaktor übersteigt Grenze. Skalierung sfaktor Null wurde angenommen.
IOC0429I E t WITHIN 'RETURNS1 IGNORED.
IOC0429I E IMPLEMENTATION RESTRICTION. ILLEGAL ATTRIBUTE t IN RETURNS ATTRIBUTE IGNORED.
Implementierungsbedingte Einschränkung. Ungültiges Attribut t im RETURNS-Attribut
wurde ignoriert.
IOC0430I S d HAS BOUND GREATER THAN n.
IOC0430I S IMPLEMENTATION RESTRICTION. UPPER BOUND IN DIMENSION ATTRIBUTE OF d GREATER
THAN n. BOUND n ASSUMED.
Implementierungsbedingte Einschränkung. Die obere Grenze im Dimensionsattribut
von d ist größer als n. Die Grenze n wurde angenommen.
IQC0431I S d HAS BOUND LESS THAN n.
IOC0431I S IMPLEMENTATION RESTRICTION. LOWER BOUND IN DIMENSION ATTRIBUTE OF d LESS THAN n.
BOUND n ASSUMED.
Implementierungsbedingte Einschränkung. Die untere Grenze im Dimensionsattribut
von d ist kleiner als n. Die Grenze n wurde angenommen.
IOC0432I S LOWER BOUND n OF d EXCEEDS UPPER BOUND.
I0C0432I S LOWER BOUND EXCEEDS UPPER BOUND IN DIMENSION ATTRIBUTE OF d. BOUNDS INTERCHANGED.
Untere Grenze übersteigt obere Grenze im Dimensionsatt-ribut von d. Die Grenzen
wurden ausgetauscht.
IOC0433I S d HAS MORE THAN n DIMENSIONS.
IOC0433I S IMPLEMENTATION RESTRICTION. NUMBER OF DIMENSIONS IN DECLARATION OF d EXCEEDS n.
MAXIMUM ASSUMED.
Implementierungsbedingte Einschränkung. Die Anzahl der Dimensionen in der Vereinbarung von d übersteigt n. Das Maximum wurde angenommen.
98
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0434I S t NOT AN ENTRY EXPRESSION. IGNORED.
IOC0434I S t IN GENERIC ATTRIBUTE IS NO ENTRY EXPRESSION. EXPRESSION IGNORED.
t im GENERIC-Attribut ist kein ENTRY-Ausdruck. Der Ausdruck wurde ignoriert.
IOC0435I S AMBIGÜOUS REFERENCE t IN 'GENERIC1.
IOC0435I S AMBIGÜOUS REFERENCE t IN GENERIC ATTRIBUTE. GENERIC SELECTION UNPREDICTABLE.
Mehrdeutige Bezugnahme t im GENERIC-Attribut. GENERIC-Auswahl ist Undefiniert.
IOC0436I E ILLEGAL QUALIFICATION OF ATTRIBUTE t FOR d.
IOC0436I E ILLEGAL QUALIFICATION OF ATTRIBUTE t FOR MEMBER d IN GENERIC ATTRIBUTE.
QUALIFICATION IGNORED.
Ungültige Angabe des Attributes t für das Mitglied d im GENERIC-Attribut. Das
ungültige Attribut wurde ignoriert.
IOC0437I S ATTRIBUTE t FOR d INVALID.
IOC0437I S ILLEGAL ATTRIBUTE SPECIFIED FOR MEMBER d IN GENERIC ATTRIBUTE. ILLEGAL
ATTRIBUTE IGNORED.
Ungültiges Attribut wurde für das Mitglied d im GENERIC-Attribut angegeben.
ungültige Attribut wurde ignoriert.
Das
IOC0438I S t CONFLICTS WITH PREVIOUS ATTRIBUTES FOR d.
IOC0438I S CONFLICTING ATTRIBUTES OF MEMBER d IN GENERIC ATTRIBUTE. LAST OF CONFLICTING
ATTRIBUTES IGNORED.
Widersprüchliche Attribute des Mitgliedes d im GENERIC-Attribut. Das letzte der
sich widersprechenden Attribute wurde ignoriert.
IOC0439I E t IN VALUE LIST OF d NOT A LABEL CONSTANT.
IOC0439I E t IN LABEL ATTRIBUTE OF NAME d IS NOT A LABEL CONSTANT AND IS IGNORED.
t im LABEL-Attribut des Namens d ist keine LABEL-Konstante und wurde ignoriert.
IOC0440I S ADJUSTABLE EXTENTS FOR d INVALID WITH 'STATIC1.
IOC0440I S ADJUSTABLE LENGTH/BOUND/SIZE CONFLICTS WITH STATIC ATTRIBUTE IN DECLARATION OF dLENGTH/BOUND/SIZE n ASSUMED.
Veränderliche Länge/Grenze widerspricht dem STATIC-Attribut in der Vereinbarung
von d. Die Lange/Grenze n wurde angenommen.
IOC0441I S ADJUSTABLE EXTENT INVALID FOR PARAMETER d.
I0CQ441I S ADJUSTABLE LENGTH/BOUND/SIZE CONFLICTS WITH PARAMETER ATTRIBUTE IN DECLARATION
OF d. LENGTH/BOUMO/SIZE •*• ASSUMED.
Veränderliche Länge/Grenze widerspricht dem Parameterattribut in der Vereinbarung
von d. Die Länge/Grenze '*' wurde angenommen.
IOC0442I S ADJUSTABLE EXTENT INVALID FOR 'BASED1 d.
IOC0<*42I S ADJUSTABLE LENGTH/BOUND/SIZE CONFLICTS WITH BASED STORAGE CLASS IN DECLARATION
OF d. LENGTH/BOUND/SIZE n ASSUMED .
Veränderliche Länge/Grenze widerspricht dem BASED-Attribut in der Vereinbarung
von d. Die Lange/Grenze n wurde angenommen.
I0CQ443I S '*' EXTENT INVALID FOR d NOT 'CONTROLLED' OR »PARAMETER1.
IOC0443I S d DECLARED WITH '*'-LENGTH/BOUND/SIZE BUT NOT WITH PARAMETER OR CONTROLLED
ATTRIBUTE. LENGTH/BOUND/SIZE n ASSUMED.
d war mit der '*'-Länge/Grenze vereinbart worden, aber nicht mit dem Parameteroder CONTROLLED-Attribut. Die Länge/Grenze n wurde angenommen.
IOC0444I S 'REFER' EXTENT INVALID FOR NON-BASED VARIABLE d.
I0C0444I S REFER OPTION ILLEGALLY USED IN DECLARATION OF d NOT CONTAINED IN A BASED
STRUCTURE. LENGTH/BOUND/SIZE n ASSUMED.
Die REFER-Option ist in der Vereinbarung von d ungültig» weil sie nicht in einer
BASED-Struktur enthalten ist. Die Länge/Grenze n wurde angenommen.
IOC0445I S AMBIGÜOUS REFER OBJECT t IN DECLARATION OF d.
IOC0445I S REFER OBJECT t IN DECLARATION OF d IS AMBIGÜOUS. UNPREDICTABLE SELECTION.
Das REFER-Objekt t in der Vereinbarung ist mehrdeutig. Die Auswahl ist Undefiniert.
IOC0446I W REFER OBJECT t FOR d MAY BE INVALID.
IQCQ446I W WHEN PADDING OCCURS IN STRUCTURE MAPPING USE OF REFER OPTION WITH OBJECT t IN
DECLARATION OF d WILL BE INVALp AND MAY CAUSE UNDEFINED RESULTS.
Wenn aufgrund der Strukturvereinbarung die Datengruppierung ungenutzten Speicherplatz enthält, ist die Benutzung der REFER-Option mit dem Objekt t in der Vereinbarung von d ungültig und kann Undefinierte Ergebnisse hervorbringen.
IOC0447I S REFER OBJECT t FOR d NOT PREVIOUS SCALAR ITEM.
IOC0447I S REFER OBJECT t IN DECLARATION OF d IS NOT A PREVIOUSLY DECLARED SCALAR ELEMENT
OF THE SAME STRUCTURE. LENGTH/BOUND/SIZE n ASSUMED.
Das REFER-Objekt t in der Vereinbarung von d ist kein vorher vereinbartes skalares Element derselben Struktur. Die Länge/Grenze n wurde angenommen.
IOC0448I I d ASSUMED TO BE NON-CONNECTED.
I0C0448I I ARRAY PARAMETER d ASSUMED TO BE NON-CONNECTED. OPTIMIZATION MAY BE INHIBITED.
Der Feldparameter d wurde nicht-zusammenhängend gespeichert. Die Optimierung kann
verhindert worden sein«
99
PL1-0C Benutzung»hinweise
10/89
D0S-4/ES
I0Ctt9I E DEFAULT 'BUILTIN' OR 'GENERIC1 FOR d IGNORED.
IOC0449I E BÜILTIN OR GENERIC ATTRIBUTE TO BE APPLIED BY DEFAULT STATEMEHT TO IMPLICITLY
DECLARED NAME d CONFLICTS WITH CONTECT. ATTRIBUTE IGNORED.
Das BUILTIN- oder GENERIC-Attribut, das durch die DEFAULT-Anweisung auf den implizit vereinbarten Namen d angewendet wird, widerspricht dem Kontext. Das Attribut wurde ignoriert.
IOC0450I S AGGREGATES INVALID IN GENERIC DESCRIPTOR LIST FOR t.
IOC0450I S IMPLEMENTATION RESTRICTION. ILLEGAL SPECIFICATION OF AGGREGATE FOR MEMBER t IN
GENERIC ATTRIBUTE. MEMBER IGNORED.
Implementierungsbedingte Einschränkung. Ungültige Angabe einer Gruppierung für
das Mitglied t im GENERIC-Attribut. Das Mitglied wurde ignoriert.
I0CQ451I S 'INITIAL1 INVALID FOR STATIC EKTRY VARIABLE.
IOC0451I S INITIAL ATTRIBUTE INVALID FOR STATIC ENTRY VARIABLE d. NO INITIALIZATIOK
PERFORMED.
Das INITIAL-Attribut ist ungültig für die' STATIC ENTRY-Variable d. Keine
itialisierung wurde nicht durchgeführt.
In-
IOC0452I S ENTRY REFERENCE t INVALID IN 'GENERIC1.
IOC0452I S IMPLEMENTATION RESTRICTION. BASED/DEFINED/SUBSCRIPTED ENTRY REFERENCE IN
GENERIC ATTRIBUTE ILLEGAL. ENTRY REFERENCE IGNORED.
Implementierungsbedingte Einschränkung. BASED-> DEFINED -oder indizierte ENTRYBezugnähme im GENERIC-Attribut ist ungültig. Die ENTRY-Bezugnähme wurde ignoriert.
IOC0453I S d IS NOT 'BASED1.
I0C0453I S d USED IN LOCATE STATEMENT BUT NOT 'BASED' [. STATEMENT IGNORED].1
d wurde in der LOCATE-Anweisung benutzt, ist aber nicht 'BASED , [Die Anweisung
wurde ignoriert.1
IOC045« S d IS NOT LEVEL ONE.
IOC0454I S d USED IN ALLOCATE STATEMENT BUT NOT LEVEL-ONE NAME. THIS AND ANY FOLLOWING
ALLOCATE ITEMS IGNORED.
d wurde in der ALLOCATE-Anweisung angegeben, ist aber kein Name der Stufe 1. Dieses und alle folgenden ALLOCATE-Elemente wurden ignoriert.
IQC0455I S d IS NOT 'BASED1 OR •CONTROLLED'.
IOC0455I S d USED IN ALLOCATE STATEMENT BUT NOT 'BASED1 OR 'CONTROLLED'. THIS AND ANY
FOLLOWING ALLOCATE ITEMS IGNORED.
d wurde in der ALLOCATE-Anweisung benutzt» ist aber nicht 'BASED' oder 'CONTROLLED'. Dieses und alle folgenden ALLOCATE-Elemente wurden ignoriert«
I0C0456I E FINAL MEMBERS MISSING FROM STRUCTURE.
IOC0456I E FINAL MEMBERCS) MISSING FROM STRUCTURE DESCRIPTION IN ALLOCATE STATEMENT.
COMPLETED BY DECLARE STATEMENT SPECIFICATION(S).
Die letzten Mitglieder der Strukturbeschreibung fehlen in der ALLOCATE-Anweisung.
Die ALLOCATE-Anweisung wurde mit Hilfe der DECLARE-Anweisung vervollständigt.
IOC0457I E LEVEL NUMBER PRECEDING d IGNORED.
I0C0457I E ILLEGALLY SPECIFIED LEVEL NUMBER PRECEDING d IGNORED.
Ungültig angegebene Stufennummer vor d wurde ignoriert.
I0CQ458I E DIMENSION ATTRIBUTE
IOC0458I E DIMENSION ATTRIBUTE
ALLOCATE STATEMENT.
Dimensionsattribut
ALLOCATE-Anweisung.
MISSING FOR d.
NOT SPECIFIED FOR DIMEN5I0NED STRUCTURE MEMBER d IN
DECLARED DIMENSIONS USED.
fehlt für das dimensionierte Strukturmitglied d
Die vereinbarten Dimensionen wurden benutzt.
in
der
IOC0459I S INCORRECT NUMBER OF DIMENSIONS FOR d.
I0C0459I S INCORRECT NUMBER OF DIMENSIONS FOR d IN ALLOCATE STATEMENT.
Falsche Anzahl von Dimensionen für d in der ALLOCATE-Anweisung.
IOC0460I S CONFLICTING ATTRIBUTE t FOR d IGNORED.
IOC0460I S CONFLICTING ATTRIBUTE t FOR d IN ALLOCATE STATEMENT. ATTRIBUTE IGNORED.
Widersprechendes Attribut t für d in der ALLOCATE-Anweisung. Das Attribut wurde
ignoriert.
IOC0461I E ILLEGAL ATTRIBUTE t FC R d IGNORED.
IOC0461I E ILLEGAL ATTRIBUTE t FC k d IN ALLOCATE STATEMENT. ATTRIBUTE IGNORED.
Ungültiges Attribut t für d in der ALLOCATE-Anweisung• Das Attribut wurde ignoriert.
IOC0462I E LEVEL NUMBER FOR t REPLACED BY ONE.
IOC0462I E INCORRECT LEVEL NUMBER FOR t IN ALLOCATE STATEMENT. NUMBER ONE ASSUMED.
Falsche Stufennummer für t in der ALLOCATE-Anweisung. Die Nummer 1 wurde angenommen .
IOC0463I E STRUCTURING ERROR FOLLOWING d.
IOC0463I E INCORRECT STRUCTURING AFTER t IN ALLOCATE STATEMENT. DECLARED STRUCTURING USED
FOR INVALID PART OF STRUCTURE.
Falsche Strukturierung nach t in der ALLOCATE-Anweisung. Die vereinbarte Strukturierung wurde für den ungültigen Teil der Struktur benutzt.
100
PL1-0C Benutzungshinweise
10/89
D05-4/ES
IOC0464I E ILLEGAL ATTRIBUTECS) FOR IBASEDI d IGNORED.
I0C0464I E ILLEGAL ATTRIBUTECS) SPECIFIED FOR BASED VARIABLE d IN ALLOCATE STATEMENT.
ATTRIBUTECS) IGNORED.
Ungültige Attribute wurden für die BASED-Variable d in der ALLOCATE-Anweisung
angegeben. Die Attribute wurden ignoriert.
IOC0465I E «SET1 OR 'IN' INVALID FOR 'CONTROLLED1 d.
IOC0465I E SET OR IN OPTION CONFLICTS WITH CONTROLLED VARIABLE d IN ALLOCATE STATEMENT.
OPTION IGNORED.
SET- oder IN-Option widerspricht der COKTROLLED-Variablen d in der ALLOCATEAnweisung. Die Option wurde ignoriert.
IOC0466I E "CHAR1 'BIT' OR 'AREA1 WITHOUT EXTENT.
IOC0466I E MISSING LENGTH/SIZE IN CHARACTER/BIT/AREA ATTRIBUTE IN ALLOCATE STATEMENT.
ATTRIBUTE IGNORED.
Fehlende Länge im CHARACTER/BIT/AREA-Attribut in der ALLOCATE-Anweisung.
Attribut wurde ignoriert.
Das
IOC0467I W d IS STRING OVERLAY DEFINED,
I0C0467I W STRING OVERLAY DEFINING IN EFFECT FOR d. NOT COMPATIBLE WITH THE PL1 NORMAL
COMPILER.
Für d wurde überlagerndes Definieren von Ketten bewirkt. Das ist nicht kompatibel
mit dem PL1-Normalcompiler.
IOC0463I S STRING LENGTH OR AREA SIZE REDUCED TO MAX.
IOC0468I S IMPLEMENTATION RESTRICTION. STRING LENGTH OR AREA SIZE EXCEEDS LIMIT.
IMPLEMENTATION MAXIMUM ASSUMED.
Implementierungsbedingte Einschränkung. Ketten- oder Bereichslänge übersteigt die
Grenze. Das Maximum wurde angenommen.
IOC0469I S d DEFINED ON 'DEFINED1 OR 'BASED1.
I0C0469I S d ILLEGALLY SPECIFIED TO BE DEFINED ON BASED OR DEFINED VARIABLE. DEFINED
ATTRIBUTE IGNORED.
d wurde bei einer BASED- oder DEFINED-Variablen als 'DEFINED' angegeben.
DEFINED-Attribut wurde ignoriert.
Das
IOC0470I S d ISUB-DEFINED ON CROSS-SECTION.
IOC0470I S d ILLEGALLY SPECIFIED TO BE ISUB-DEFINED ON A CROSS-SECTION. DEFINED ATTRIBUTE
IGNORED.
d wurde als NSUB-DEFINED in einem Teilfeld angegeben. Das DEFINED-Attribut wurde
ignoriert.
IOC0471I S d DEFINED WITH WRONG NUMBER 0F SUBSCRIPTS.
IOC0471I S d ILLEGALLY SPECIFIED TO BE ISUB-DEFINED ON A BASE WITH WRONG NUMBER OF
SUBSCRIPTS. DEFINED ATTRIBUTE IGNORED.
d wurde als nSUB-DEFINED bei einer Basis mit falscher Anzahl von Indizes angegeben. Das DEFINED-Attribut wurde ignoriert.
IOC0472I S d ISUB-DEFINED CONFLICTS WITH 'POSITION'.
I0C0472I S d ILLEGALLY SPECIFIED TO BE ISUB-DEFINED WITH THE POSITION ATTRIBUTE. DEFINED
ATTRIBUTE IGNORED.
v
d wurde als nSUB-DEFINED mit dem POSITION-Attribut angegeben. Das DEFINED-Attribut wurde ignoriert.
IOC0473I S MAPPING OF DEFINED ITEM d CONFLICTS WITH BASE.
IOC0473I S MAPPING OF ELEMENT d OF ISUB-DEFINED ARRAY CONFLICTS WITH THAT OF BASE.
DEFINED ATTRIBUTE IGNORED.
Das Element d des nSUB-definierten Feldes widerspricht der Basis. Das DEFINEDAttribut wurde ignoriert.
IOC0474I E CONFLICT BETWEEN DEFINED ITEM d AND BASE ATTRIBUTES IGNORED.
IOC0474I E ATTRIBUTES OF ISUB-DEFINED ITEM d CONFLICT WITH ATTRIBUTES OF BASE. CONFLICT
IGNORED.
Die Attribute des nSUB-definierten Elementes d widersprechen den Attributen der
Basis. Der Widerspruch wurde ignoriert.
IOC0475I E SIMPLE DEFINING ASSUMED AS ATTRIBUTES OF d CONFLICT WITH BASE,
IOC0475I E ATTRIBUTES OF DEFINED ITEM d CONFLICT WITH ATTRIBUTES OF BASE. SIMPLE DEFINING
ASSUMED.
Die Attribute des DEFINED-Elementes d widersprechen den Attributen der Basis.
Einfaches Definieren wurde angenommen.
IOC0476I S d DEFINED ON NON-CONNECTED AGGREGATE.
IOC0476I S d ILLEGALLY SPECIFIED TO BE STRING OVERLAY DEFINED ON A NON-CONNECTED AGGREGATE.
DEFINED ATTRIBUTE IGNORED.
d wurde fälschlicherweise als kettenüberlagernd-definiert mit einer nicht-zusammenhängend gespeicherten Datengruppierung als Basis angegeben. Das DEFINED-Attribut wurde ignoriert.
IOC0477I S ATTRIBUTES OF DEFINED ITEM d CONFLICT WITH BASE.
IOC0477I S ATTRIBUTES OF DEFINED ITEM d CONFLICT WITH ATTRIBUTES OF BASE. DEFINED
ATTRIBUTE IGNORED.
Die Attribute des DEFINED-Elementes d widersprechen den Attributen der Basis. Das
DEFINED-Attribut wurde ignoriert.
101
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
I0C0478I S »POSITION1 VALUE FOR d LESS THAN ONE OR EXCEEDS n.
I0CQ478I S IMPLEMENTATION RESTRICTION. VALUE IN POSITION ATTRIBUTE FOR d IS LESS THAN ONE
OR GREATER THAN n. POSITION ATTRIBUTE IGNORED.
Implementierungsbedinpte Einschränkung. Der Wert im POSITION-Attribut für d ist
kleiner als 1 oder größer als n. Das POSITION-Attribut wurde ignoriert«
IOC0479I E ERROR IN DEFINED ATTRIBUTE FOR d.
IOC0479I E ERROR IN USE OF DEFINED ATTRIBUTE. ATTEMPT TO ASSUME ST RING OVERLAY DEFINING.
Fehler im DEFINED-Attribut. Es wurde versucht» kettenüberlagerndes Definieren
anzunehmen.
IOC0480I S AMBIGUOUS BASE REFERENCE IN 'DEFINED1 FOR d.
IOC0480I S AMBIGUOUS BASE REFERENCE IN DEFINED ATTRIBUTE FOR d.
UNPREDICTABLE SELECTION MADE.
Mehrdeutige Basisbezugnahme im DEFINED-Attribut für d. Eine Undefinierte Auswahl
wurde getroffen.
IOC0481I S NON-VARIABLE BASE IN 'DEFINED1 FOR d.
IOC04811 S d ILLEGALLY SPECIFIED TO BE DEFINED ON A NON-VARIABLE BASE. DEFINED ATTRIBUTE
IGNORED.
d wurde bei einer Basis> die keine Variable ist* als 'DEFINED1 angegeben. Das
DEFINED-Attribut wurde ignoriert.
IOC0482I W SIMPLE DEFINING IN EFFECT FOR d.
IOC0482I W SIMPLE DEFINING IN EFFECT FOR d. ADD t TO DECLARATION IF STRING OVERLAY
DEFINING INTENDED.
Einfaches Definieren gilt für d. In die Vereinbarung ist t einzufügen» wenn kettenüberlagerndes Definieren beabsichtigt ist.
I0C0483I E STRING OVERLAY DEFINING ASSUMED FOR d.
IOC0483I E STRING LENGTK OF DEFINED ITEM d EXCEEDS BASE ITEM LENGTH. STRING OVERLAY
DEFINING ASSUMED.
Die Länge der Kette des DEFINED-Elementes d Übersteigt die Länge des Basis-Elementes. Es wurde kettenüberlagerndes Definieren angenommen.
IOC0484I E MAXIMUM LENGTHS OF DEFINED ITEM d AND BASE DIFFER.
IOC0484I E MAXIMUM LENGTH OF VARYING STRING OR AREA SIZE IN SIMPLE DEFINING OF ITEM d NOT
THE SAME AS IN CORRESPONDING BASE ITEM. RESULTS OF EXECUTION UNDEFINED.
Die maximale Länge der VARYING-Kette oder der AREA-Variablen beim einfachen Definieren des Elementes d ist nicht die gleiche wie im korrespondierenden Basiselement. Die Ergebnisse der Ausführung sind Undefiniert«
IOC0485I S ILLEGAL USE OF t IN £ALL STATEMENT.
IOC0485I S ILLEGAL USE OF BUILT-IN FUNCTION t IN CALL STATEMENT t. STATEMENT IGNORED 2.
Falsche Anwendung der Standardfunktion t in der CALL-AnWeisung. [die Anweisung
wurde ignoriert.1
I0C0486I S ILLEGAL USE OF d IN 'FETCH1 OR «RELEASE1.
IOC0486I S ILLEGAL USE OF d IN FETCH OR RELEASE STATEMENT l. STATEMENT IGNORED1.
Falsche Anwendung von d in der FETCH- oder RELEASE-Anweisung. [Die Anweisung wurde ignoriert. ]
IOC0487I E ILLEGAL USE OF SUBSCRIPTED LABEL PREFIX t.
IOC0487I E SUBSCRIPTED LABEL PREFIX t DOES NOT REFER TO A NON-STATIC LABEL ARRAY.
PREFIX IGNORED.
Die indizierte LABEL-Bezugnähme t enthält nicht den Namen einer Nicht-STATICLABEL-Feldvariablen. Das Präfix wurde ignoriert.
IOC0488I S d TO BE INITIALIZED BY BOTH PREFIX AND 'INITIAL'.
IOC0488I S LABEL VARIABLE d IS TO BE INITIALIZED BY BOTH LABEL PREFIX AND INITIAL
ATTRIBUTE. INITIAL ATTRIBUTE IGNORED.
Die LABEL-Variable d soll sowohl durch Markenpräfix als auch durch das INITIALAttribut initialisiert werden. Das INITIAL-Attribut wurde ignoriert.
I0C0489I S CONFLICT IN USE OF d AS t.
IOC0489I S USE OF d AS t CONFLICTS HITH XTS DECLARED ATTRIBUTES [. STATEMENT IGNORED].
Die Anwendung von d als t widerspricht den vereinbarten Attributen. [Die Anweisung wurde ignoriert.1
IOC0490I E d HAS INVALID ATTRIBUTES. OPTION IGNORED.
IOC049OI E ATTRIBUTES OF d CONFLICT HITH USE IN ENVIRONMENT OPTION. OPTION IGNORED.
Die Attribute von d widersprechen der Anwendung in der ENVIRONMENT-Option. Die
Option wurde ignoriert.
I0C0491I S USE OF d CONFLICTS WITH PREVIOUS DECLARATION.
I0C0491I S CONFLICTING OR MULTIPLE DECLARATION OF LABEL CONSTANT d. LABEL PREFJX
COOTAINING IT IGNORED.
Widersprechende oder mehrfache Vereinbarung der LABEL-Konstanten d. Das Markenpräfix wurde ignoriert.
IOC0492I E t ASSUMED TO BE EXTERNAL ENTRY.
IOC0492I E UNDECLARED NAME t* EXTERNAL ENTRY ASSUMED.
Nicht vereinbarter Name t. Er wird als EXTERNAL ENTRY-Konstante angenommen.
102
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0493I S t ASSUMED TO BE AN ARRAY.
IOC0493I S CQNTEOTUAL BUILTIN
DECLARATION OF t CONFLICTS WITH DIMEHSION ATTRJBimE
FROM •DEFAULT1. ASSUMED TO BE AN ARRAY.
Die textabhängige
BUILTIN-Vereinbarung
von t widerspricht dem Dimensionsattribut
von 'DEFAULT1 und wurde als ein Feld angenommen.
IOC0494I S CONFLICT BETWEEN ATTRIBUTES OF d AND USE AS t.
I0C0494I S USE OF d AS t IN DIMENSION ATTRIBUTE CONFLICTS WITH ITS DECLARED ATTRIBUTES.
BOUNDS OF n TO 10 ASSUMED.
Die Anwendung von d als t im Dimensionsattribut widerspricht den vereinbarten
Attributen. Die Grenzen von n bis 10 wurden angenommen.
IOC0495I E CONFLICT BETWEEN ATTRIBUTES OF d AND USE AS t.
IOC0495I E USE OF d AS t IN LOCATOR QUALIFICATION CONFLICTS WITH ITS DECLARED ATTRIBUTES.
QUALIFICATION IGNORED.
Die Anwendung von d als t in der Zeigerzuordnung widerspricht den vereinbarten
Attributen. Die Zuordnung wurde ignoriert.
IOC0496I S CONFLICT BETWEEN ATTRIBUTES OF d AND USE AS t.
IOC0496I S USE OF d AS t IN ADJUSTABLE STRING LENGTH OR AREA SIZE SPECIFICATION CONFLICTS
WITH ITS DECLARED ATTRIBUTES. DEFAULT LENGTH/SIZE ASSUWED.
Die Anwendung von d als t in der Angabe der dynamischen Ketten- oder AREA-Länge
widerspricht den vereinbarten Attributen« Die Standardlänge wurde angenommen.
IOC0497I S CONFLICT BETWEEN ATTRIBUTES OF d AND USE AS t.
IOC0497I S USE OF d AS t IN DEFINED/INITIAL/POSmON ATTRIBUTE CONFLICTS WtTH ITS
DECLARED ATTRIBUTES. ATTRIBUTE IGNORED.
Die Anwendung von d als t im DEFINED/INITIAL/POSITION-Attribut widerspricht den
vereinbarten Attributen. Das Attribut wurde ignoriert.
IOC0498I E CONFLICT BETWEEN ATTRIBUTES OF d AND USE AS t.
IOC0498I E USE OF d AS t CONFLICTS WITH ITS DECLARED ATTRIBUTES. ATTRIBUTES ASSUMED
ACCORDING TO CONTTEXT.
Die Anwendung von d als t widerspricht den vereinbarten Attributen. Die Attribute
werden entsprechend dem Kontext angenommen.
IOC0499I E CONFLICT BETWEEN ATTRIBUTES OF d AND USE AS t.
IOC0499I E USE OF d AS t IN SET OR IN OFTION CONFLICTS WITH ITS DECLARED ATTRIBUTES.
OPTION IGNORED.
Die Anwendung von d als t in der SET- oder IN-Option widerspricht den vereinbarten Attributen. Die' Option wurde ignoriert.
IOC0500I S d INVALID IN TARGET POSITION.
IOC0500I S ILLEGAL USE OF NON-VARIABLE NAME d AS TARGET [. STATEMENT IGNORED3.
Falsche Anwendung eines Nicht-Variablennamens d als Ziel. [Die Anweisung wurde
ignoriert. 1
IOC0501I S t NOT DECLARED BUT USED AS QUALIFIER.
IOC0501I S QUALIFIED REFERENCE BEGINNING WITH t CONTAINS UNDECLARED NAME
[. STATEMENT IGNORED1.
Die mehrstufige Bezugnahme beginnend mit t enthält einen nicht vereinbarten Namen. [Die Anweisung wurde ignoriert.]
IOC0502I S ILLEGAL USE OF d AS BUILTIN NAME OR MISSING ARGUMENT LIST.
IOC0502I S d IS EITHER ILLEGALLY DECLARED TO BE A BUILTIN NAME OR A BUILTIN NAME ILLEGALLY
USED WITHOUT ARGUMENT LIST I. STATEMENT IGNORED 1.
d soll entweder fälschlicherweise als BUILTIN-Name vereinbart werden» oder d ist
ein BUILTIN-Name und wurde ohne Argumentliste verwendet. [Die Anweisung wurde
ignoriert.]
IOC0503I S d NOT LABEL KNOWN IN 1 CURRENT BLOCK.
IOC0503I S NAME FOLLOWING 'GOTO IS NOT A LABEL KNOWN IN THE CURRENT BLOCK
[. STATEMENT IGNORED].
Der Name, der dem GOTO folgt» ist keine Marke in dem entsprechenden Block. [Die
Anweisung wurde ignoriert.]
IOC0504I S ILLEGAL USE OF d AS PSEUDO-VARIABLE.
I0C0504I S ILLEGAL USE OF d AS PSEUDO-VARIABLE.
Falsche Anwendung von d als Pseudovariable.
IOC0505I S d INVALID IN FRÖN OPTION.
IOC0505I S INVALID REFERENCE d IN FROM OPTION [. STATEMENT IGNORED 1.
Falsche Bezugnahme d in der FROM-Option. [Die Anweisung wurde ignoriert.]
IOC0506I S ILLEGAL USE OF d AS CONTROL VARIABLE IN «DO1.
IOC0506I S ILLEGAL USE OF d AS CONTROL VARIABLE IN DO SPECIFICATION. SIMPLE DO STATEMENT
ASSUMED.
Falsche Anwendung von d als Laufvariable in der DO-Spezifikation. Eine einfache
DO-Klausel wurde angenommen.
IOC0507I W t IS NOT IMPLICITLY "BUILTIN1.
I0C0507I W 2MPLICIT DECLARATION OF BUILT-IN FUNCTION NAME t DOES NOT IMPLY THE BUILTIN
ATTRIBUTE.
Die implizite Vereinbarung des Standardfunktionsnamens t schließt nicht
BUILTIN-Attribut ein.
das
103
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0508I 3 REFERENCE BEGINNING t IS AMBIGUOUS.
IOC050SI S AMBIGUOUS REFERENCE TO A STRUCTURE MEMBER BEGINNING t. UNPREDICTABLE 5ELECTI0N
MADE.
Mehrdeutige Bezugnahme auf ein Strukturmitglied beginnend mit t. Die Auswahl ist
Undefiniert.
IOC0509I S SURPLUS SUBSCRIPTS FOR d.
IOC0509I S SURPLUS SUBSCRIPTS FOR ENTRY VARIABLE d [. STATEMENT IGNORED].
Zu viele Indizes für die ENTRY-Variable d. [Die Anweisung wurde ignoriert.]
IOC0510I S INCORRECT NUMBER OF ARGUMENTS FOR ENTRY.
11X05101 S INCORRECT NUMBER OF ARGUMENTS IN ENTRY REFERENCE E. STATEMENT IGNOREDL
Falsche Anzahl von Argumenten in der ENTRY-Bezugnähme. [Die Anweisung wurde ignoriert. 1
IOC0511I S INVALID 'GOTO1 INTO ITERATIVE 'DO1,
IOC0511I S BRANCH INTO ITERATIVE GROUP SPECIFIED BY GOTO STATEMENT IS INVALID
[. STATEMENT IGNOREDJ.
Ein Sprung in eine iterative Gruppe durch eine GOTO-AnWeisung ist ungültig. [Die
Anweisung wurde ignoriert.1
I0C0512I S INVALID 'GOTO1 TO FORMAT STATEMENT.
IOC0512I S BRANCH TO FORMAT STATEMENT SPECIFIED BY GOTO STATEMENT IS INVALID
[. STATEMEOT IGNOREDJ.
Ein Sprung zu einer FORMAT-Anweisung durch eine GOTO-Anweisung ist ungültig. [Die
Anweisung wurde ignoriert.1
IOC0513I S NO SIMPLE AREA REFERENCE IN 'OFFSET1 WITHIN "RETURNS1.
IOC0513I S OFFSET ATTRIBUTE IN RETURNS ATTRIBUTE DOES NOT CONTAIN A SIMPLE AREA REFERENCE.
INVALID SPECIFICATION IGNORED.
Das OFFSET-Attribut im RETURNS-Attribut enthält keine einfache AREA-Bezugnähme.
Die ungültige Angabe wurde ignoriert.
IOC0514I S INVALID INITIAL ATTRIBUTE IGNORED.
IOC0514I S SCALAR DECLARATION ILLEGALLY CONTAIKS NON-SCALAR INITIAL ATTRIBUTE. ATTRIBUTE
IGNORED.
Eine skalare Vereinbarung enthält ein nicht-skalares INITIAL-Attribut. Das Attribut wurde ignoriert.
IOC0515I S THIS PSEUDO-VARIABLE IS INVALID AS CONTROL VARIABLE.
IOC0515I S SPECIFIED PSEUDO-VARIABLE NOT ALLOWED AS COOTROL VARIABLE IN DO SPECIFICATION.
SIMPLE DO STATEMENT ASSUMED.
Die angegebene Pseudovariable ist nicht als Laufvariable in einer DO-Spezifikation zulassig. Eine einfache DO-Klausei wurde angenommen.
IOC05I6I U STATEMENT TOO LONG. COMPILATION TERMINATED IN PHASE P.
IOC0516I U IMPLEMENTATION RESTRICTION. STATEMENT TOO LONG. COMPILATION TERMINATED IN
PHASE p.
Implementierungsbedingte Einschränkung. Die Anweisung ist zu lang. Die Übersetzung wurde in Phase p abgebrochen«
IOC0517I S INVALID R FORMAT ITEM d.
IOC0517I S INVALID R FORMAT ITEM d [. STATEMENT IGNOREDL
Ungültiges R-Formatelernent d. [Die Anweisung wurde ignoriert.1
IOC05I8I S d IS NOT 'BASED* OR 'CONTROLLED•.
IOC0518I S NON-BASED OR NON-CONTROLLED ITEM d IN FREE STATEMENT [.1 STATEMENT IGNORED1.
Das Element d in der FREE-Anweisung ist nicht 'BASED oder nicht •CONTROLLED1.
[Die Anweisung wurde ignoriert.1
IOC0519I S ILLEGALLY USED STRING PSEUDO-VARIABLE.
IOC0519I S IMPLEMENTATION RESTRICTION. ILLEGALLY USED STRING PSEUDO-VARIABLE.
Implementierungsbedingte Einschränkung. Die Pseudovariable STRING wurde
angewendet.
falsch
IOC0520I S STRING LENGTH EXCEEDS n.
I0C0520I S IMPLEMENTATION RESTRICTION. STRING LENGTH EXCEEDS n. REPETITION FACTOR OF ONE
ASSUMED.
Implementierungsbedingte Einschränkung. Die Kettenlänge übersteigt n. Der Niederholung sfaktor 1 wurde angenommen.
IOC0529I W EXTENDED FLOAT ARITHMETIC REQUIRED OR TO BE SIMULATED.
IOC0529I W EXTENDED FLOAT ARITHMETIC REQUIRED OR TO BE SIMULATED BECAUSE EXTENDED
PRECISION ITEMS ARE USED.
Erweiterte Gleitkomma-Arithmetik wird gefordert oder muß simuliert werden> weil
Elemente mit erweiterter Genauigkeit verwendet werden.
IOC0530I I 'ORDER1 MAY INHIBIT OPTIMIZATION.
IOCQ530I I ORDER OPTION APPLIES TO THIS BLOCK. OPTIMIZATION MAY BE INHIBITED.
Die ORDER-Option wird auf diesen Block angewendet. Die Optimierung kann dadurch
eingeschränkt werden.
IOC0531I S AREA SPECIFIED FOR OFFSET IN EHTRY DECLARATION IGNORED.
IOC0531I S IMPLEMENTATION RESTRICTION. AREA REFERENCE IN OFFSET ATTRIBUTE FOR PARAMETER
DESCRIPTION INVALID. REFERENCE IGNORED.
Implementierungsbedingte Einschränkung. Eine AREA-Bezugnähme im OFFSET-Attribut
für die Parameterbeschreibung ist ungültig. Dia Bezugnahme wurde Ignoriert.
104
PL1-0C Benutzungshinweise
10/89
IOC0532I S STRUCTURE TERMINATED AFTER n MEMBERS.
IOC0532I S IMPLEMENTATION RESTRICTION. STRUCTURE TERMINATED AFTER n ITEMS.
Implementierungsbedingte Einschränkung« Die Struktur wurde nach n
gebrochen .
D0S-4/ES
Elementen ab-
IOC0533I H BUILTIN SUBROUTIHE KILL NOT BE USED FOR d.
IOC0533I W d DECLARED AS EXTERNAL ENTRV REFERS TO USER-DEFIHED SUBROUTINE. BUILTIN
SUBROUTINE WITH THE SAME NAME HILL NOT BE USED.
d wurde als EXTERNAL ENTRY-Konstante vereinbart und bezieht sich auf eine vom
Anwender definierte Routine. Das StandardunterProgramm mit demselben Namen wird
nicht benutzt.
IOC0534I W ASSEMBLER OPTION IGNORED.
IOC0534I W ASSEMBLER OPTION CANNOT BE SPECIFIED IN PROCEDURE OR ENTRY STATEMENT. OPTION
IGNORED.
Die ASSEMBLER-Option darf nicht in einer PROCEDURE- oder ENTRY-Klausei angegeben
werden. Die Option wurde ignoriert.
IOC0536I W INTER OPTION ASSUMED.
I0C0536I W ASSEMBLER OPTION SPECIFIED HITHOUT INTER OPTION. INTER OPTION ASSUMED.
Die ASSEMBLER-Option wurde ohne INTER-Option angegeben. Die INTER-Option wurde
eingefügt.
IOC0537I W PARAMETER TO MAIN PROCEDURE NOT VARYING CHARACTER STRING.
IOC0537I H PARAMETER IN PROCEDURE STATEMENT OF MAIN PROCEDURE IS NOT VARYING CHARACTER
STRING.
Der Parameter in der PROCEDURE-Klausei der Hauptprozedur ist keine VARYING-Zeichenkette.
IOC0549I W EXTERNAL ENTRY NAME BEGINS 'IHE*.
IOC0549I H EXTERNAL ENTRY NAME BEGINNING 'IHE' POSSIBLY REFERS TO LIBRARY MODULE OF THE
PL1 NORMAL COMPILER.
Die mit 'IHE1 beginnende EXTERNAL ENTRY-Konstante bezieht sich möglicherweise auf
einen Bibliotheksmodul des PL1-Normalcompilers.
IOC0569I E INITIALIZATION INVALID FOR STATIC LABEL d.
IOC0569I E INITIALIZATION INVALID FOR STATIC LABEL VARIABLE d. INITIALIZATION ATTEMPTED.
Die Initialisierung ist ungültig für die STATIC LABEL-Variable d. Die Initialisierung wurde versucht.
IOC0570I S INVALID BIT AGGREGATE DEFINING IGNORED.
IOC0570I S IMPLEMENTATION RESTRICTION. INVALID USE OF DEFINED ATTRIBUTE FOR BIT AGGREGATE d.
ATTRIBUTE IGNORED.
Implementierungsbedingte Einschränkung. Falsche Anwendung des DEFINED-Attributes
für die Bitketten-Datengruppierung d. Das Attribut wurde ignoriert.
IOC0590I S INCORRECTLY DECLARED VARIABLE. STATEMENT IGNORED.
IOC0590I S A VARIABLE USED IN THIS STATEMENT IS INCORRECTLY DECLARED E. STATEMENT IGNOREDI.
Eine Variable in dieser Anweisung wurde nicht korrekt vereinbart. [Die Anweisung
wurde ignoriert.]
IOC0591I S [PROLQGUE CODE.3 LOCATOR QUALIFICATION FOR NON-BASED VARIABLE d
IOC059II S CPROLOGUE CODE.] LOGATOR QUALIFICATION INVALE) FOR NON-BASED VARIABLE d
[.RESULTS OF PROLOGUE UNDEFINED] t. STATEMEKT IGNORED].
CProlog-Code.] Die ZeigerZuordnung für die Nieht-BASED-Variable d ist ungültig.
EDie Ergebnisse des Prologs sind Undefiniert.1 [Die Anweisung wurde ignoriert.)
IOC0593I S [PROLOGUE CODE.] AGGREGATE d INVALID AS LOCATOR QUALIFIER.
IOC0593I S [PROLOGUE CODE.] AGGREGATE d ILLEGALLY USED FOR LOCATOR
QUALIFICATION [.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED].
[Prolog-Code.] Die Gruppierung d wurde in einer Zeigerzuordnung benutzt. [Die
Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde ignoriert.]
IOC0594I S [PROLOGUE CODE.3 LOCATOR QUALIFIGATION RECURSIVE OR MORE THAN n LEVELS.
IOC0594I S IMPLEMENTATION RESTRICTION. [PROLOGUE CODE.} LOCATOR QUALIFICATION IS
RECURSIVE OR HAS MORE THAN n LEVELS [.RESULTS OF PROLOGUE UNDEFINED]
[.STATEMENTT IGNORED].
Implementierungsbedingte Einschränkung. [Prolog-Code.3 Die Zeigerordnung ist rekursiv oder hat mehr als n Stufen. [Die Ergebnisse des Prologs sind Undefiniert.3
IOC0595I S [PROLOGUE CODE.3 NO LOCATOR QUALIFICATION FOR BASED VARIABLE d.
IOC0595I S [PROLOGUE CODE.3 REQUIRED LOCATOR QUALIFICATION MISSING IN REFERENCE TO BASED
VARIABLE d [.RESULTS OF PROLOGUE UNDEFINED].
[Prolog-Code.] Erforderliche ZeigerZuordnung fehlt in der Bezugnahme auf die
BASED-Variable d. [Die Ergebnisse des Prologs sind Undefiniert.]
IOC0596I S [PROLOGUE CODE.] t INVALID AS LOCATOR QUALIFIER.
IOC0596I S [PROLOGUE CODE.3 INVALID USE OF BUILT-IN FUNCTION t AS LOCATOR QUALIFIER
[.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED3.
[Prolog-Code.3 Falsche Anwendung der Standardfunktion t in der Zeigerzuordnung.
[Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde Ignoriert.]
IOC0597I S [PROLOGUE CODE.3 ENTRY d INVALID AS LOCATOR QUALIFIER.
I0C0597I S [PROLOGUE CODE.] INVALID USE OF ENTRY d AS A LOCATOR QUALIFIER [.RESULTS OF
PROLOGUE UNDEFINED] [. STATEMENT IGNORED].
[Prolog-Code.1 Falsche Anwendung der ENTRY-Variablen d in der ZeigerZuordnung.
[Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde ignoriert.]
105
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0598I S [PROLQGUE CODE. 1 EXPRESSION IKVALID AS ARGUMENT TO 'STRING'.
IOC0598I S [PR0L06UE CODE.] INVALID USE OF EXPRESSION AS ARGUMENT TO STRING BUILT-IN
FUNCTION [.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED].
[Prolog-Code. 1 Falsche Anwendung eines Ausdrucks als Argument der Standardfunktion STRING. [Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde
ignoriert.1
IOC0599I S [PROLOGUE CODE.] INVALID ARGUMENT TO "STRING1.
I0CQ599I S [PROLOGUE CODE.1 ELEMENTS OF ARGUMENT TO STRING BUILT-IN FUNCTION MUST BE
EITHER ALL CHARACTER OR ALL BIT [.RESULTS OF PROLOGUE UNDEFINED1.
[Prolog-Code.3 Die Elemente des Arguments der Standardfunktion STRING müssen entweder alle vom Zeichenkeitentyp oder alle vom Bitkettentyp sein. [Die Ergebnisse
des Prologs sind Undefiniert.!
IOC0600I S [PROLOGUE CODE.1 NO ARGUMENTS PASSED TO t.
IOC0600I S [PROLOGUE CODE.] NO ARGUMENTS PASSED TO BUILT-IN FUNCTION OR PSEUDO-VARIABLE t
[.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNOREDL
[Prolog-Code.] Keine Argumente entsprechend der Standardfunktion oder Pseudovariablen t. [Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde
ignoriert.3
IOC060II S INVALID ARGUMENT TO t.
IOC0601I S EXPRESSION OR CONSTANT INVALID AS ARGUMENT TO PSEUDO-VARIABLE t [. STATEMENT
IGNORED].
Der Ausdruck oder die Konstante ist als Argument der Pseudovariablen t ungültig•
[Die Anweisung wurde ignoriert.]
IOC0602I S [PROLOGUE CODE.] DATA TYPE OF ARGUMENT d INVALID FOR t.
IOC0602I S [PROLOGUE CODE.] DATA TYPE OF ARGUMENT d INVALID FOR BUILT-IN FUNCTION t
[.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED1.
[Prolog-Code.] Der Datentyp des Argumentes d ist ungültig für die Standardfunktion t. [Die Ergebnisse des Prologs sind Undefiniert. ] [Die Anweisung wurde ignoriert. 1
IOC0603I S [PROLOGUE CODE.] MISSING 'AREA1 FOR 'OFFSET1 d.
IOC0603I S [PROLOGUE CODE. 1 NO AREA VARIABLE PROVIDED FOR OFFSET VARIABLE d [.RESULTS OF
PROLOGUE UNDEFINED ] [. STATEMENT IGNORED 1.
[Prolog-Code.1 Die AREA-Variable für die OFFSET™Variable d fehlt. [Die Ergebnisse
des Prologs sind Undefiniert.] [Die Anweisung wurde ignoriert.]
IOC0605I W VARIABLE IN 'INITIAL' FOR d MAY BE UNINITIALIZED.
IOC0605I H INITIAL ATTRIBUTE FOR d MAY CONTAIN AN UNINITIALIZED VARIABLE. RESULTS OF
EXECUTION UNDEFINED.
Das INITIAL-Attribut für d kann eine nicht initialisierte Variable enthalten. Die
Ergebnisse der Ausführung sind Undefiniert.
IOC0606I S d NOT LEVEL ONE.
IOC0606I S d IN FREE STATEMENT NOT LEVEL ONE [. STATEMENT IGNORED ].
d in der FREE-Anweisung hat nicht die Stufe 1. [Die Anweisung wurde ignoriert.]
IOC0607I S [PROLOGUE CODE.] INVALID EXPRESSION IN 'DECLARE1 OR •DEFAULT1.
IOC0607I S [PROLOGUE CODE.1 DECLARE OR DEFAULT STATEMENT CONTAINS AN INVALID
EXPRESSION [.RESULTS OF PROLOGUE UNDEFINED] [.STATEMENT IGNORED].
[Prolog-Code.3 Die DECLARE- oder DEFAULT-AnWeisung enthält einen ungültigen Ausdruck. [Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde ignoriert. ]
IOC0608I S [PROLOGUE CODE.] CONSTANT INVALID AS ARGUMENT TO 'ADDR'.
IOC0608I S [PROLOGUE CODE.] CONSTANT IS INVALID ARGUMENT TO ADDR BUILT-IN FUNCTION
[.RESULTS OF PROLOGUE UNDEFINED] [ . STATEMENT IGNORED].
[Prolog-Code.] Eine Konstante ist als
Argument der Standardfunktion ADDR
ungültig. [Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde
ignoriert.3
IOC0609I S [PROLOGUE CODE. ] ARGUMENT n TO d IS NOT AN ARRAY.
IOC0609I S [PROLOGUE CODE.1 ARGUMENT NUMBER n TO ENTRY d IS NOT AN ARRAY BUT THE
CORRESPONDING PARAMETER HAS A ' • BOUND [.RESULTS OF PROLOGUE UNDEFINED].
[Prolog-Code.] Das n-te Argument zum Eingangspunkt d muß ein Feld sein. [Die Ergebnisse, des Prologs sind Undefiniert.3
IOC06I0I S [PROLOGUE CODE.1 AGGREGATE ARGUMENT d INVALID FOR ELEMENT PARAMETER.
IOC0610I S [PROLOGUE CODE.] PARAMETER CORRESPONDING TO AGGREGATE ARGUMENT d IS AN
ELEMENT [.RESULTS OF PROLOGUE UNDEFINED].
[Prolog-Code. ] Der Parameter» der dem Gruppierungsargument d entspricht, ist ein
Element. [Die Ergebnisse des Prologs sind Undefiniert.]
IOC0611I S RECORD VARIABLE d NOT 'CONNECTED1.
IOC0611I S RECORD VARIABLE d IS NOT CONNECTED [. STATEMENT IGNORED].
Die Satzvariable d ist nicht 'CONNECTED'. [Die Anweisung wurde ignoriert.]
IOC0612I S [PROLOGUE CODE.] ARGUMENT n TO d INVALID FOR CONTROLLED PARAMETER.
IOC0612I S [PROLOGUE CODE.] ARGUMENT NUMBER n TO ENTRY d INVALID FOR CONTROLLED
PARAMETER [.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED].
[Prolog-Code.3 Das n-te Argument zum Eingangspunkt d ist für einen CONTROLLEDParameter ungültig. [Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung
wurde ignoriert.]
106
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0613I S [PROLOGUE CODE.] ARGUMENT n TO d MAS TOO MANY DIMENSIONS.
IOC0613I S IMPLEMENTATION RESTRICTION. [PROLOGUE CODE.] RESULT OF EXPRESSION IN ARGUMENT
NUMBER n TO ENTRY d HAS TOO MANY DIMENSIONS [.RESULTS OF PROLOGUE UNDEFINED]
[. STATEMENT IGNOREDl.
Implementierungsbedingte Einschränkung. [Prolog-Code.3 Das Ergebnis des Ausdrucks
im n-ten Argument zum Eingangspunkt d hat zu viele Dimensionen. [Die Ergebnisse
des Prologs sind Undefiniert.! [Die Anweisung wurde ignoriert.3
I0C0614I S [PROLOGUE CODE.] •*' USED AS ARGUMENT TO d.
IOC0614I S [PROLOGUE CODE.3 '*• USED AS ARGUMENT TO d [.RESULTS OF PROLOGUE UNDEFINED3.
[Prolog-Code.3 Das Zeichen '*' wurde als Argument von d angegeben. [Die Ergebnisse des Prologs sind Undefiniert.3
IOC0615I S [PROLOGUE CODE.3 STRUCTURING OF d DOES NOT MATCH PARAMETER.
IOC0615I S [PROLOGUE CODE. 3 STRUCTURING OF ARGUMENT d DOES NOT MATCH THAT OF PARAMETER
[.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED3.
[Prolog-Code.3 Die Strukturierung des Arguments d entspricht nicht der des Parameters. [Die Ergebnisse des Prologs sind Undefiniert.3 LDie Anweisung wurde ignoriert. 3
IOC0616I S [PROLOGUE CODE.3 DIMENSIONS OF d DO NOT MATCH PARAMETER.
IOC0616I S EPROLOGUE CODE. 3 NUMBER OF DIMENSIONS IN ARGUMENT d DOES NOT MATCH THAT OF
PARAMETER [.RESULTS OF PROLOGUE UNDEFINED3.
[Prolog-Code.3 Die Anzahl der Dimensionen im Argument d entspricht nicht der des
Parameters. [Die Ergebnisse des Prologs sind Undefiniert.3
IOC0617I S [PROLDGUE CODE.3 BOUNDS OF d DO NOT MATCH PARAMETER.
IOC0617I S [PROLOGUE CODE. 3 BOUNDS OF ARGUMENT d DO NOT MATCH THOSE OF PARAMETER
[.RESULTS OF PROLOGUE UNDEFINED3 [. STATEMENT IGNORED3.
[Prolog-Code.3 Die Grenzen des Arguments d entsprechen nicht denen des Parameters. LDie Ergebnisse des Prologs sind Undefiniert.3 [Die Anweisung wurde ignoriert. 3
IOC0618I S [PROLOGUE CODE.3 USE OF CROSS-SECTION OF STRUCTURE d INVALID.
IOC061SI S IMPLEMENTATION RESTRICTION. [PROLOGUE CODE.3 USE OF CROSS-SECTION OF STRUCTURE d
IS INVALID [.RESULTS OF PRCJLOGUE UNDEFINED].
Implementierungsbedingte Einschränkung. [Prolog-Code.3 Die Benutzung des Teilfeldes der Struktur d ist nicht erlaubt. [Die Ergebnisse des Prologs sind Undefiniert. 3
IOC0619I S [PROLOGUE CODE.3 SUBSCRIPT CONTAINING d IS NOT AN ELEMENT.
IOC0619I S [PROLOGUE CODE.3 SUBSCRIPT CONTAINING d IS NOT AN ELEMENT EXPRESSION I. RESULTS
OF PROLOGUE UNDEFINED3 [. STATEMENT IGN0RED3.
[Prolog-Code.3 Der Index, der d enthält> ist kein skalarer Ausdruck. [Die Ergebnisse des Prologs sind Undefiniert.3 [Die Anweisung wurde ignoriert.3
IOC0620I S [PROLOGUE CODE.3 WRONG NUMBER OF SUBSCRIPTS FOR d.
IOC0620I S [PROLOGUE CODE.3 WRONG NUMBER OF SUBSCRIPTS FOR d [.RESULTS OF PROLOGUE
UNDEFINED3.
[Prolog-Code.3 Falsche Anzahl von Indizes für d. [Die Ergebnisse des Prologs sind
Undefiniert.3
IOC0621I S [PROLOGUE CODE.3 STRUCTURE IS INVALID ARGUMENT TO t.
IOC0621I S IMPLEMENTATION RESTRICTION. [PROLOGUE CODE.3 STRUCTURE IS INVALID ARGUMENT TO
BUILT-IN FUNCTION t [.RESULTS OF PROLOGUE UNDEFINED3.
Implementierungsbedingte Einschränkung. [Prolog-Code.3 Die Struktur ist kein
gültiges Argument für die Standardfunktion t. LDie Ergebnisse des Prologs sind
Undefiniert.3
IOC0622I S [PROLOGUE CODE.3 EXPRESSION OR ISUB-DEFINED ARRAY IS INVALID ARGUMENT TO t.
IOC0622I S [PROLOGUE CODE.3 EXPRESSION OR ISUB-DEFINED ARRAY IS INVALID ARGUMENT TO
BUILT-IN FUNCTION t [.RESULTS OF PROLOGUE UNDEFINED3.
[Prolog-Code.3 Der Ausdruck oder das nSUB-definierte Feld ist kein gültiges Argument für die Standardfunktion t. [Die Ergebnisse des Prologs sind Undefiniert.!
IOC0623I S [PROLOGUE CODE.3 ELEMENT IS INVALID ARGUMENT TO t.
IOC0623I S [PROLOGUE CODE.3 ELEMENT IS INVALID ARGUMENT TO BUILT-IN FUNCTION t [.RESULTS
OF PROLOGUE UNDEFINED] [. STATEMENT IGN0RED3.
[Prolog-Code.3 Das Element ist kein gültiges Argument für die Standardfunktion t.
[Die Ergebnisse des Prologs sind Undefiniert.3 LDie Anweisung wurde ignoriert.3
IOC062« E [PROLOGUE CODE.3 NON-CONNECTED ARGUMENT TO "ADDR1 INVALID.
IOC062« E [PROLOGUE CODE.3 NON-CONNECTED ARGUMENT TO ADDR BUILT-IN FUNCTION INVALID.
ARGUMENT ACCEPTED.
[Prolog-Code.3 Das Argument der Standardfunktion ADDR belegt keinen zusammenhängenden Speicherplatz. Das Argument wurde akzeptiert.
I0C0625I S EXPRESSION OR ISUB-DEFINED ARRAY INVALID IN GET/PUT DATA STATEMENT.
IOC0625I S EXPRESSION OR ISUB-DEFINED ARRAY USED IN GET/PUT DATA STATEMENT [. STATEMENT
IGNORED 3.
Ein Ausdruck oder ein nSUB-definiertes Feld wurde in einer GET- oder PUT-DATAAnweisung angegeben. [Die Anweisung wurde ignoriert.]
107
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0626I S [PROLOGUE CODE. 1 SECOND ARGUMENT TO t IS AGGREGATE.
XOC0626I S [PROLOGUE CODE. 1 SECOND ARGUMENT TO BUILT-IN FUNCTION t IS AN AGGREGATE
[.RESULTS OF PROLOGUE UNDEFINED] [. STATEMENT IGNORED].
[Prolog-Code. ] Das zweite Argument der Standardfunktion t ist eine Gruppierung.
[Die Ergebnisse des Prologs sind Undefiniert.] [Die Anweisung wurde ignoriert.]
IOC0627I S [PROLOGUE CODE.] ARGUMENT n TO 'POLY' HAS MORE THAN ONE DIMENSION.
IOC0627I S [PROLOGUE CODE.] ARGUMENT NUMBER n TO POLY BUILT-IN FUNCTION HAS MORE THAN ONE
DIMENSION [.RESULTS OF PROLOGUE UNDEFINED1.
[Prolog-Code.1 Das n-te Argument der Standardfunktion POLY ist ein mehrdimensionales Feld. [Prolog-Resultate sind Undefiniert.]
IOC0628I E [PROLOGUE CODE.] ARGUMENT TO 'ADDR' MAY HAVE WRONG ALIGNMENT.
IOC0628I E [PROLOGUE CODE.1 ARGUMENT TO ADDR BUILT-IN FUNCTION MAY HAVE INCORRECT
ALIGNMENT. ARGUMENT ACCEPTED.
[Prolog-Code.] Das Argument der Standardfunktion ADDR kann eine falsche Ausrichtung haben. Das Argument wurde akzeptiert.
I0C0629I W ARGUMENT n TO GENERIC NAME ASSUMED TO MATCH AGGREGATE PARAMETER.
I0C0629I W ARGUMENT NUMBER n TO GENERIC FUNCTION IS ASSUMED TO MATCH ITS CORRESPONDING
AGGREGATE PARAMETER.
Es wird angenommen» daß das n-te Argument der GENERIC-Funktion zu seinem entsprechenden Gruppierungsparameter paßt.
IOC0630I S NESTING OF FUNCTIONS EXCEEDS MAXIMUM.
IOC0630I S .IMPLEMENTATION RESTRICTION. LEVEL OF NESTING OF FUNCTIONS EXCEEDS MAXIMUM
[. STATEMENT IGNORED 1.
Implementierungsbedingte Einschränkung. Die Schachtelungstiefe von Funktionen
übersteigt das Maximum. [Die Anweisung wurde ignoriert.]
IOC0631I S ARRAY d IN ELEMENT ASSIGNMENT.
IOC0631I S INVALID USE OF ARRAY d IN ELEMENT ASSIGNMENT [. STATEMENT IGNORED3.
Falsche Anwendung des Feldes d in einer skalaren Zuweisung. [Die Anweisung wurde
ignoriert.1
IOC0632I S STRUCTURE d IN ARRAY OR ELEMENT ASSIGNMENT.
IOCQ632I S INVALID USE OF STRUCTURE d IN ARRAY OR ELEMENT ASSIGNMENT [. STATEMENT IGNORED].
Falsche Anwendung der Struktur d in einer skalaren oder Feldzuweisung. [Die Anweisung wurde ignoriert.]
IOCQ633I S AGGREGATE d USED WHERE ELEMENT REQUIRED.
IOC0633I S AGGREGATE d USED WHERE ELEMENT EXPRESSION IS REQUIRED [. STATEMENT IGNORED].
Die Gruppierung d wurde verwendet» obwohl ein skalarer Ausdruck gefordert wird.
[Die Anweisung wurde ignoriert.3
IOC0634I S DIMENSIONS OF d DO NOT MATCH FIRST AGGREGATE.
IOC0634I S NUMBER OF DIMENSIONS IN AGGREGATE d DOES NOT MATCH THE FIRST AGGREGATE IN
EXPRESSION [. STATEMENT IGNORED].
Die Anzahl der Dimensionen in der Gruppierung d entspricht nicht der der ersten
Gruppierung im Ausdruck. [Die Anweisung wurde ignoriert.]
I0C0635I S BOUNDS OF d DO NOT MATCH FIRST AGGREGATE.
IOC0635I S BOUNDS OF AGGREGATE d DO NOT MATCH THE FIRST AGGREGATE IN EXPRESSION
[. STATEMENT IGNORED3.
Fehler im Gebrauch des DEFINED-Attributes. Es. wurde versucht» kettenüberlagerndes
Definieren anzunehmen.
IOC0636I S STRUCTURING OF d DOES NOT MATCH FIRST STRUCTURE.
IOC0636I S STRUCTURING OF d DOES NOT MATCH THE FIRST STRUCTURE IN EXPRESSION l. STATEMENT
IGNORED 3.
Die Strukturierung von d entspricht nicht der der ersten Struktur im Ausdruck«
[Die Anweisung wurde ignoriert.]
IOC0637I S AGGREGATE d USED IN EXTENT SPECIFICATION IN BLOCK.
IOC0637I S AGGREGATE d USED FOR BOUND/LENGTH/SIZE SPECIFICATION IN DECLARE OR DEFAULT
STATEMENT FOR BLOCK BEGINNING AT THIS STATEMENT. RESULTS OF EXECUTION UNDEFINED.
Die Gruppierung d wurde als Angabe für eine Grenze/Länge in einer DECLARE- oder
DEFAULT-Anweisung des Blockes verwendet» der bei dieser Anweisung beginnt. Die
Ergebnisse der Ausführung sind Undefiniert.
IOC0638I E NON-STRUCTURE TARGET IN §BY NAME1 ASSIGNMENT.
IOC0638I E TARGET OF ASSIGNMENT STATEMENT WITH BY NAME OPTION IS NOT A STRUCTURE. OPTION
IGNORED.
Links vom Ergibtzeichen der Anweisung mit der Option 'BY NAME1 steht keine Struktur. Die Option wurde ignoriert.
IOC0639I S NON-STRUCTURE SOURCE IN 'BY NAME1 ASSIGNMENT.
IOC0639I S NO STRUCTURE IN SOURCE OF 'BY NAME1 ASSIGNMENT [. STATEMENT IGNORED].
Rechts vom Ergibtzeichen der 'BY NAME'-Zuweisung steht keine Struktur. Die Option
wurde ignoriert.
IOC0641I S ILLEGAL USE OF AGGREGATE d IN ARRAY 'INITIAL' IN THIS BLOCK.
IOC0641I S ILLEGAL ÜSE OF AGGREGATE d IN ARRAY INITIAL ATTRIBUTE IN THIS BLOCK. ATTRIBUTE
IGNORED.
Falsche Anwendung der Gruppierung d im INITIAL-Attribut eines Feldes in diesem
Block. Das Attribut wurde ignoriert.
108
PL1-QC Benutzungshinweise
10/89
D0S-4/ES
IOC0642I W RESULTS OF ASSIGNME1CT TO 'HEFER1 STRUCTURE d MAY BE UNDEFINED.
IOC0642I H ASSIGNMENTT TO STRUCTURE d DECLARED WITH REFER OPTIOK. RESULTS UNDEFINED IF
VALUE OF REFER OBJECT CHANGED BY ASSIGNMENT.
Die Ergebnisse der Zuweisung an die Struktur, die mit der REFER-Option vereinbart
wurde» sind Undefiniert> wenn sich der Wert des REFER-Objektes durch die Zuweisung verändert.
I0C06«! S DIMENSIONS OF d DO NOT MATCH TARGET.
IOC06«I S NUMBER OF DIMENSIONS OF AGGREGATE d DOES NOT MATCH THE TARGET OF THE
ASSIGNMENT OR DUMMY ARGUMENT I. STATEMENT IGNORED3.
Die Anzahl der Dimensionen der Gruppierung d entspricht nicht der der linken Seite der Ergibtanweisung oder der des Pseudoarguments. [Die Anweisung wurde ignoriert. 3
IOC0644I S BOUNDS OF d DO NOT MATCH TARGET.
IOC0644I S BOUNDS OF AGGREGATE d DO NOT MATCH THE TARGET OF THE ASSIGNMENT OR DUMMY
ARGUMENT [. STATEMENT IGNORED 3.
Die Grenzen der Gruppierung d entsprechen nicht denen der linken Seite der
Ergibtanweisung oder denen des Pseudoarguments. [Die Anweisung wurde ignoriert.]
IOC0645I S STRUCTURING OF d DOES NOT MATCH TARGET.
IOC0645I S STRUCTURING OF d DOES NOT MATCH THE TARGET OF THE ASSIGNMENT OR DUMMY
ARGUMENT [. STATEMENT IGNORED 3.
Die Strukturierung von d entspricht nicht der der linken Seite der Ergibtanweisung oder der des Pseudoarguments. [Die Anweisung wurde ignoriert.]
IOC0646I S AGGREGATE d USED IN EXTENT SPECIFICATION.
IOC0646I S AGGREGATE d ILLEGALLY USED IN BOUND/LENGTH/SIZE SPECIFICATION IN ALLOCATE
STATEMENT E. STATEMENT IGNORED 3•
Die Gruppierung d wurde in der Grenzen/Längen-Angabe der ALLOCATE-Anweisung
falsch angewendet. [Die Anweisung wurde ignoriert.3
I0C0647I S NO MATCHING NAMES IN 'BY NAME1 ASSIGNMENTT.
IQC0647I S NO MATCHING NAMES AT CORRESPONDING LEVELS IN THE STRUCTURES IN 'BY NAME1
ASSIGNMEFTT.
Keine übereinstimmenden Namen zu den entsprechenden Stufen der Strukturen in der
'BY NAME'-Zuweisung.
IOC0648I U TOO MANY ACTIVE QUALIFIED REFERENCES. PHASE p.
IOC0648I U IMPLEMENTATION RESTRICTION. TOO MANY QUALIFIED REFERENCES ACTIVE IN THIS
STATEMENT. PHASE p.
Implementierungsbedingte Einschränkung. Die Anweisung enthält zu viele komplizierte Sprachelemente wie z.B. BASED-Variable» DEFINED-Variable» indizierte
Bezugnahmen» Feldausdrücke> mehrfache Verkettungsoperationen> SUBSTR-Standardfunktionsaufrufe* entdeckt in der Phase p.
IOC0660I W [PROLOGUE CODE. 3 DUMMY CREATED FOR ARGUMENT n TO ENTTRY d.
IOC0660I W [PROLOGUE CODE.3 ARGUMENT NUMBER n TO ENTRY d DOES NOT MATCH ITS CORRESPONDING
PARAMETER OR IS AN ISUB-DEFINED ARRAY. A DUMMY ARGUMENT HAS BEEN CREATED.
[Prolog-Code.3 Das n-te Argument zum Eingangspunkt d Pgßt nicht zu dem entsprechenden Parameter oder ist ein nSUB-definiertes Feld, hin Pseudoargument wurde erzeugt.
IOC0661I W [PROLOGUE CODE.3 ARGUMENT n TO t IGNORED.
IOC0661I W [PROLOGUE CODE.3 ARGUMENT NUMBER n TO BUILT-IN FUNCTION t IS NOT REQUIRED FOR
FLOATING POINT RESULT. ARGUMENT IGNORED.
[Prolog-Code.3 Das n-te Argument der Standardfunktion t ist für ein Gleitkommaergebnis nicht erforderlich. Das Argument wurde ignoriert.
IOC0662I I [PROLOGUE CODE.3 ARGUMENT n TO t IS NOT 'COMPLEX1.
IOC0662I I [PROLOGUE CODE.3 ARGUMElfT NUMBER n TO BUILT-IN FUNCTION t NOT COMPLEX. ZERO
D1AGINARY PART ASSUMED.
[Prolog-Code.3 Das n-te Argument der Standardfunktion t ist nicht komplex«
Imaginärteil Null wurde eingefügt.
IOC0663I S INVALID
IOC0663I S INVALID
ASSUMED
Falsche
Für den
Der
ELEMENT EXPRESSION IN 'DO1 OR 'IF1.
SPECIFICATION OF ELEMENT EXPRESSION IN DO OR IF STATEMENT. VALUE ONE
FOR EXPRESSION.
Angabe für einen skalaren Ausdruck in der DO-Klausel oder IF-Anweisung•
Ausdruck wurde der Wert 1 angenommen.
I0CQ664I S INVALID DO SPECIFICATION.
IOC0664I S INVALID DO SPECIFICATION. SIMPLE DO STATEMENT ASSUMED.
Ungültige DO-Klausel. Eine einfache DO-Klausel wurde angenommen.
I0C0665I I [PROLOGUE CODE.] ARGUMENT n TO d ASSUMED TO BE ALIGNED.
IOC0665I I [PROLOGUE CODE.3 ARGUMENT NUMBER n TO ENTRY d IS OF TYPE 'ENTRY' AND IS
ASSUMED TO BE ALIGNED.
[Prolog-Code.3 Das n-te Argument zum Eingangspunkt d ist vom Typ ENTRY. Das Attribut ALIGNED wurde angenommen.
IOC0666I W [PROLOGUE CODE.3 ARGUMENT n TO t OMITTED.
IOC0666I W [PROLOGUE CODE.3 ARGUMENT n TO BUILT-IN FUNCTION t IS REQUIRED FOR FIXED-POIKT
RESULT. ZERO ASSUMED.
Das n-te Argument der Standardfunktion t muß für Festkomma-Resultate angegeben
werden. Der Wert Null wird angenommen.
109
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0670I S EPROLOGUE CODE.] ATTRIBUTES OF ARGUMENT n TO ENTTRY d CONFLICT WITH PARAMETER.
IOC0670I S [PROLOGUE CODE.3 ATTRIBUTES OF ARGUMENT NUMBER n TO ENTRY d CONFLICT WITH THE
CORRESPONDING PARAMETER [.RESULTS OF PROLOGUE UNDEFINED] C.STATEMENT IGNORED3.
[Prolog-Code. 3 Die Attribute des n-ten Arguments zum Eingangspunkt d widersprechen denen des entsprechenden Parameters. [Die Ergebnisse des Prologs sind Undefiniert. 1 [Die Anweisung wurde ignoriert.3
IOC0671I S [PROLOGUE CODE.] ARGUMENT n TO ENTRY d IS NOT 'CONTROLLED•.
IOC0671I S [PROLOGUE CODE.] ARGUMENT NUMBER n TO ENTRY d IS NOT •CONTROLLED1 BUT THE
CORRESPONDING PARAMETER IS [.RESULTS OF PROLOGUE UNDEFINED3.
[Prolog-Code.] Das n-te Argument zum Eingangspunkt d muß entsprechend dem Parameter das Attribut CONTROLLED haben. [Die Ergebnisse des Prologs sind Undefiniert. 3
IOC0672I S [PROLOGUE CODE. ] WRONG
IOC0672I S [PROLOGUE CODE.3 WRONG
PROLOGUE UNDEFINED] [.
iProlog-Code.3 Falsche
Ergebnisse des Prologs
NUMBER OF ARGUMENTS TO t.
NUMBER OF ARGUMENTS TO BUILT-IN FUNCTION t [.RESULTS OF
STATEMENT IGNORED3. <
Anzahl von Argumenten für die Standardfunktion t. [Die
sind Undefiniert.3 [Die Anweisung wurde ignoriert.3
I0CQ673I S [PROLOGUE CODE.] INVALID DATA TYPE FOR ARGUMENT n TO t.
IOC0673I S [PROLOGUE CODE.3 ARGUMENT NUMBER n HAS INCORRECT DATA TYPE FOR BUILT-IN
FUNCTION t [. RESULTS OF PROLOGUE UNDEFINED3.
[Prolog-Code.3 Das n-te Argument der Standardfunktion t hat einen falschen Datentyp. [Die Ergebnisse des Prologs sind Undefiniert.3
IOC0674I S [PROLOGUE CODE.3 MODE OF ARGUMENT n TO t IS INCORRECT.
IOC067« S [PROLOGUE CODE.3 THE MODE OF ARGUMENT NUMBER n TO BUILT-IN FUNCTION t IS
INCORRECT [.RESULTS OF PROLOGUE UNDEFINED3 [. STATEMENT IGNORED3.
[Prolog-Code.3 Die Zahlenart des n-ten Arguments der Standardfunktion t ist
falsch. [Die Ergebnisse des Prologs sind Undefiniert.3 [Die Anweisung wurde ignoriert. 3
IOC0675I S [PROLOGUE CODE.3 ARGUMENT n TO t IS NOT INTEGER CONSTANT.
IOC0675I S [PROLOGUE CODE.3 ARGUMENT NUMBER n TO BUILT-IN FUNCTION t IS NOT AN INTEGER
CONSTANT [.RESULTS OF PROLOGUE UNDEFINED3.
[Prolog-Code.3 Das n-te Argument der Standardfunktion t ist keine Festkommakonstante. [Die Ergebnisse des Prologs sind Undefiniert.3
IOC0676I S [PROLOGUE CODE.3 CONSTANT OR FUNCTION OR TEMPORARY RESULT KAS INVALID
ATTRIBUTES FOR EXPRESSION.
I0C0676I S [PROLOGUE CODE.3 CONSTANT OR FUNCTION OR TEMPORARY RESULT HAS INVALID
ATTRIBUTES FOR EXPRESSION [. RESULTS OF PROLOGUE UNDEFINED3.
EProlog-Code.3 Eine Konstante, eine Funktion oder ein Zwischenergebnis hat für
den Ausdruck ungültige Attribute. [Die Ergebnisse des Prologs sind Undefiniert« 3
IOC0677I S [PROLOGUE CODE.3 ASSIGNMENT TO CONSTANT.
IOC0677I S [PROLOGUE CODE.3 TARGET OF ASSIGNMENT IS A CONSTANT [.RESULTS OF PROLOGUE
UNDEFINED3.
[Prolog-Code.3 Die linke Seite der Zuweisung ist eine Konstante. [Die Ergebnisse
des Prologs sind Undefiniert.3
IOC0678I S [PROLOGUE CODE.3 SOURCE OF ASSIGNMENT DOES NOT MATCH TARGET.
I0C0678I S [PROLOGUE CODE.3 ATTRIBUTES OF SOURCE OF ASSIGNMENT STATEMENT CONFLICT WITH
THE TARGET OR DUMMY ARGUMENT [.RESULTS OF PROLOGUE UNDEFINED 3.
EProlog-Code.3 Die Attribute der rechten Seite der Ergibtanweisung widersprechen
denen der linken Seite oder denen des Pseudoarguments. [Die Ergebnisse des Prologs sind Undefiniert.3
I0C0679I S [PROLOGUE CODE.3 OPERAND d INVALID IN ELEMENT EXPRESSION.
IOC0679I S EPROLOGUE CODE.3 INVALID USE OF OPERAND d IN AN ELEMENT EXPRESSION [.RESULTS
OF PROLOGUE UNDEFINED 3 [. STATEMENT IGNORED 3.
[Prolog-Code.3 Falsche Anwendung des Operanden d in einem skalaren Ausdruck. [Die
Ergebnisse des Prologs sind Undefiniert.3 [Die Anweisung oder Klausel wurde ignoriert. 3
IOC0680I U »DO1 OR 'IF1 NESTTING LEVEL EXCEEDS n.
IQC0680I U IMPLEMENTATION RESTRICTION. LEVEL OF NESTING FOR DO OR IF STATEMENT EXCEEDS n.
Implementierungsbedingte Einschränkung. Die Schachtelungstiefe der DO-Klauseln
und IF-Anweisungen übersteigt n.
IOC0681I S [PROLOGUE CODE.3 ARGUMENT n TO ENTRY d INVALID.
IOC0681I S [PROLOGUE CODE.3 ARGUMENT NUMBER n TO ENTRY d INVALID [.RESULTS OF PROLOGUE
UNDEFINED3.
[Prolog-Code.3 Das n-te Argument zum Eingangspunkt d ist ungültig. [Die Ergebnisse des Prologs sind Undefiniert.3
IOC0683I S [PROLOGUE CODE» 3 HO SELECTION POSSIBLE FOR GENERIC NAME.
IOC0683I S [PROLOGUE CODE. 1 NO SELECTION POSSIBLE FOR GENERIC NAME [.RESULTS OF PROLOGUE
UNDEFINED3.
[Prolog-Code.3 Für den GENERIC-Namen ist keine Auswahl möglich. [Die Ergebnisse
des Prologs sind Undefiniert.3
110
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0684I S [PROLOGUE CODE.3 OPERANDS OF COMPARE CONFLICT.
IOC0684I S [PROLOGUE CODE.] ATTRIBUTES OF OPERANDS IN AN EQUAL OR NOT-EQUAL OPERATION
CONFLICT C.RESULTS OF PROLOGUE UNDEFINEDL
[Prolog-Code.] Die Attribute der Operanden in einem Vergleichsausdruck widersprechen sich. [Die Ergebnisse des Prologs sind Undefiniert.]
IOC0690I S FORTRAN FUNCTION d NOT ALLOWED IN ARGUMENT.
IOC0690I S IMPLEMENTATION RESTRICTION. FORTRAN FUNCTION d NOT ALLOHED IN ARGUMENT.
FORTRAN OPTION IGNORED.
Implementierungsbedingte Einschränkung. Die FORTRAN-Funktion d ist als Argument
nicht erlaubt. Die FORTRAN-Option wurde ignoriert.
IOC069II W »NOMAP1 SPECIFIED. MAPPING OF PARAMETER n TO d MAY DIFFER IN t.
IOC0691I W MAPPING OF PARAMETER n TO ENTRY d MAY DIFFER IN PL1 AND t BUT DUMMY PARAMETER
NOT CREATED BECAUSE OF NOMAP OPTION.
Die Speicherung des n-ten Parameters zum Eingangspunkt d kann sich in PL1 und t
unterscheiden» aber auf Grund der NOMAP-Option wurde kein Pseudoparameter erzeugt.
IOC0692I W 'NOMAP1 SPECIFIED. MAPPING OF ARGUMENT n TO d MAY DIFFER IN t.
IOC0692I W MAPPING OF ARGUMENT NUMBER n TO ENTRY d MAY DIFFER IN PL1 AND t BUT DUMMY
ARGUMENT NOT CREATED BECAUSE OF NOMAP OPTION.
Die Speicherung des n-ten Arguments zum Eingangspunkt, d kann sich in PL1 und t
unterscheiden> aber auf Grund der NOMAP-Option wurde kein Pseudoargument erzeugt.
IOC0693I S MORE THAN n ARGUMENTS TO t ENTRY d.
IOC0693I S IMPLEMENTATION RESTRICTION. NUMBER OF ARGUMENTS TO t EKTRY d EXCEEDS n. EXCESS
ARGUMENTS IGNORED.
Implementierungsbedingte Einschränkung. Die Anzahl der Argumente zum t-Eingangspunkt d übersteigt n. Die überzähligen Argumente wurden ignoriert.
IOC0694I S EXTENTS OF PARAMETER n TO t ENTRY d NOT FIXED.
IOC0694I S EXTENTS OF PARAMETER n TO t ENTRY d ARE NOT FIXED. RESULTS OF EXECUTION
UNDEFINED.
Die Ausdehnungen des n-ten Parameters für den t-Eingangspunkt d wurden
festgelegt. Die Ergebnisse der Ausführung sind Undefiniert.
nicht
IOC0695I I t MAPPING USED FOR DUMMY ARGUMENT n TO d.
IOC0695I I t MAPPING USED FOR DUMMY ARGUMENT NUMBER n TO ENTRY d.
Die Speicherung von t wurde für das n-te Pseudoargument zum Eingangspunkt d verwendet.
IOC0696I I PL1 MAPPING USED FOR DUMMY ARGUMENT n TO d.
IOC0696I I PL1 MAPPING USED FOR DUMMY ARGUMENT NUMBER n TO ENTRY d.
Für das n-te Pseudoargument zum Eingangspunkt d wurde
PL1-Konvention vorgenommen.
die Speicherung
IOC0697I I DUMMY CREATED FOR ARGUMENT n TO t ENTRY d.
IOC0697I I MAPPING OF ARGUMENT NUMBER n TO ENTRY d MAY DIFFER IN PL1 AND t. DUMMY
ARGUMENT CREATED.
Die Speicherung des n-ten Arguments zum Eingangspunkt d kann sich in
unterscheiden. Ein Pseudoargument wurde erzeugt.
gemäß
PL1 und t
IOC0698I I DUMMY CREATED FOR PARAMETER n TO t ENTRY d.
IOC0698I I MAPPING OF PARAMETER NUMBER n TO ENTRY d MAY DIFFER IN PL1 AND t. DUMMY
PARAMETER CREATED.
Die Speicherung des n-ten Parameters zum Eingangspunkt d kann sich in PL1 und t
unterscheiden. Ein Pseudoparameter wurde erzeugt.
IOC0699I E d CONTAINS DATA INVALID FOR COBOL.
IOC0699I E RECORD VARIABLE FOR COBOL FILE CONTAINS AREA OR BIT DATA WITH NO EQUIVALENT IN
COBOL. PL1 MAPPING ASSUMED FOR VARIABLE.
Die Satzvariable d für die COBOL-Datei enthält AREA- oder BIT-Daten, die kein
Äquivalent in COBOL haben. Die Speicherung gemäß PL1-Konvention wurde für die
Variable übernommen,
IOC0700I S TASKING OPTION t IGNORED IN CALL OF NON-PL1 ROUTINE.
IOC0700I S TASKING OPTION t IGNORED IN CALL OF NON-PL1 ROUTINE.
Die Mehraufgaben-Option t wurde im Aufruf einer Nicht-PLl-Routine ignoriert.
IOC0701I W PL1 MAPPING USED FOR ARRAY RECORD VARIABLE.
IOC0701I W RECORD VARIABLE IS AN ARRAY. PL1 MAPPING ASSUMED FOR VARIABLE.
Die Satzvariable ist ein Feld. Die Speicherung gemäß PL1-Konvention wurde für die
Variable übernommen.
IOC0702I S COBOL FILE d INVALID IN ASSIGNMENT OR AS ARGUMENT.
IOC07O2I S USE OF COBOL FILE d IN ASSIGNMEtfT OR AS AN ARGUMENT IS INVALID. COBOL OPTION
WILL NOT APPLY TO TARGET.
Falsche Anwendung der COBOL FILE-Bezugnähme d in der Zuweisung oder als Argument.
Die COBOL-Option wird sich nicht auf das Ziel beziehen.
IOC0703I W d CONTAINS DATA INVALID FOR COBOL.
IOC0703I W RECORD VARIABLE FOR COBOL FILE COOTAINS ELEMENT WITH NO DIRECT EQUIVALENT IN
COBOL. COBOL MAPPING ASSUMED FOR VARIABLE.
Die Satzvariable d für die COBOL-Datei enthält ein Element> das kein direktes
Äquivalent in COBOL hat. Die Speicherung gemäß COBOL-Konvention wurde für die
Variable angenommen.
111
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0704I E STATEMENT INVALID FOR COBOL FILE d.
IOC070M E STATEMENT INVALID FOR COBOL FILE d. PL1 MAPPING ASSÜMED FOR RECORD.
In dieser Anweisung ist die COBOL FILE-Bezugnähme d ungültig. Die Speicherung
gemäß PL1-Konvention wurde für den Satz übernommen.
IOC0705I E SET OPTION INVALID FOR COBOL FILE d.
IOC0705I E SET OPTION ON READ STATEMENT ILLEGALLY SPECIFIED FOR COBOL FILE d. PLI MAPPING
ASSUMED FOR RECORD.
Die SET-Option ist ungültig> weil die READ-Anweisung die COBOL FILE-Bezugnähme d
enthält. Die Speicherung gemäß PLI-Konvention wurde für den Satz übernommen.
IOC0706I E EVENT OPTION INVALID FOR COBOL FILE d.
IOC0706I E EVENT OPTION ILLEGALLY SPECIFIED FOR COBOL FILE d WHEN PLI AND COBOL MAPPING
MAY DIFFER. PLI MAPPING ASSUMED FOR RECORD.
Die EVENT-Option ist mit der COBOL FILE-Bezugnähme d unverträglich» wenn sich die
Speicherungsformen in PLI und COBOL
unterscheiden. Die Speicherung gemäß
PLI-Konvention wurde für den Satz übernommen.
IOC0709I E ARGUMENT n TO d CONTAINS DATA INVALID FOR t.
I0C0709I E ARGUMENT NUMBER n TO ENTRY d CONTAINS AREA OR BIT DATA HITH NO EQUIVALENT IN t.
PLI MAPPING ASSUMED FOR ARGUMENT IF AGGREGATE.
Das n-te Argument zum Eingangspunkt d enthält AREA- oder BIT-Daten» die kein
Äquivalent in t haben. Die Speicherung gemäß PLI-Konvention wurde für das Argument» falls es eine Gruppierung ist» übernommen.
IOC0710I E PARAMETER n TO d CONTAINS DATA INVALID FOR t.
IOC0710I E PARAMETER n TO ENTRY d CONTAINS AREA OR BIT DATA WHICH HAS NO EQUIVALENT IN t.
PLI MAPPING ASSUMED FOR PARAMETER IF AGGREGATE.
Der n-te Parameter zum Eingangspunkt d enthält AREA-oder BIT-Daten» die kein
Äquivalent in t haben. Die Speicherung gemäß PLI-Konvention wurde für den Parameter» falls er eine Gruppierung ist» übernommen.
IOC0711I W ARGUMENT n TO COBOL ENTRY d IS AN ARRAY.
IOC0711I W ARGUMENT NUMBER n TO ENTRY d IS AN ARRAY WHICH MAY BE INVALID FOR COBOL. PLI
MAPPING ASSUMED FOR ARGUMENT.
Das n-te Argument zum Eingangspunkt d ist ein Feld» das für COBOL ungültig sein
kann. Die Speicherung gemäß PLI-Konvention wurde für das Argument übernommen.
IOC0712I W PARAMETER n TO COBOL ENTRY d IS AN ARRAY.
I0C0712I W PARAMETER n TO ENTRY d IS AN ARRAY WHICH MAY BE INVALID FOR COBOL. PLI MAPPING
USED FOR PARAMETER.
Der n-te Parameter zum Eingangspunkt d ist ein Feld» das für COBOL ungültig sein
kann. Die Speicherung gemäß PLI-Konvention wurde für den Parameter verwendet.
IOC0713I W DATA IN ARGUMENT n TO d INVALID FOR t.
IOC0713I W ARGUMENT NUMBER n TO ENTRY d CONTAINS ELEMENT WITH NO DIRECT EQUIVALENT IN t.
Das n-te Argument zum Eingangspunkt d enthält ein Element» das kein direktes
Äquivalent in t hat.
IOC0714I W DATA IN PARAMETER n TO d INVALID FOR t.
I0C0714I W PARAMETER n TO ENTRY d CONTAINS ELEMENT WHICH HAS NO DIRECT EQUIVALENT IN t.
Der n-te Parameter zum Eingangspunkt d enthält ein Element» das kein direktes
Äquivalent in t hat.
IOC0715I W EXTENDED PRECISION ITEM INVALID FOR FORTRAN ENTRY d.
I0C0715I W AN ARGUMENT OR PARAMETER OR FUNCTION VALUE FOR ENTRY d HAS EOTENDED PRECISION.
NO EQUIVALENT IN FORTRAN.
Ein Argument» Parameter" oder Funktionswert für den Eingangspunkt d hat erweiterte
Genauigkeit. Es gibt kein Äquivalent in FORTRAN.
IOC0716I S PARAMETER n TO t ENTRY d MUST NOT BE 'CONTROLLED'.
IOC0716I S PARAMETER n TO ENTRY d HAS CONTROLLED STORAGE CLASS HITH NO EQUIVALENT IN t.
RESULTS OF EXECUTION UNDEFINED.
Der n-te Parameter zum Eingangspunkt d hat das Speicherungsklassenattribut
CONTROLLED» das kein Äquivalent in t hat. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0717I I DATA TYPE RETURNED BY d INVALID IN FORTRAN.
IOCO717I I DATA TYPE OF RETURNED VALUE FROM PLI ENTRY d HAS NO DIRECT EQUIVALENT IN
FORTRAN BUT ENTRY CAN BE INVOKED AS A FUNCTION.
Der Datentyp des zurückgegebenen Wertes vom PLI-Eingangspunkt d hat kein direktes
Äquivalent in FORTRAN» aber der Eingangspunkt kann als Funktion aufgerufen werden.
IOC0718I S DATA TYPE RETURNED BY d INVALID IN FORTRAN.
I0C0718I S DATA TYPE SPECIFIED FOR RETURNED VALUE FROM FORTRAN FUNCTION d HAS NO DIRECT
EQUIVALENT IN FORTRAN.
Der Datentyp» der für den zurückgegebenen Wert der FORTRAN-Funktion d angegeben
wurde» hat kein direktes Äquivalent in FORTRAN.
IOC0719I S ARGUMENT n TO t ENTRY d IS NOT 'CONNECTED1.
I0C0719I S ARGUMENT n TO t ENTRY d IS NOT CONNECTED AND THE NOMAP OPTION IS SPECIFIED.
RESULTS OF EXECUTION UNDEFINED.
Das n-te Argument zum t-Eingangspunkt d ist nicht 'CONNECTED1» und die NOMAPOption wurde angegeben. Die Ergebnisse der Ausführung sind Undefiniert.
112
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0720I I ARGUMENT n TO t ENTRY d ASSUMED TO BE 'CONNECTED1.
IOC0720I I ARGUMENT PASSED TO UNCONNECTED PARAMETER n OF t ENTRY d IS ASSUMED TO BE
CONNECTED.
Das Argument, das dem n-ten Parameter
[nicht-CONNECTED] des t-Eingangspunktes d
entspricht» wurde als 'CONNECTED1 angenommen.
IOC0721I I DATA TYPE RETURNED BY d INVALID IN FORTRAN.
IOC0721I I DATA TYPE OF FUNCTION VALUE FROM PL1 ENTRY d IS INVALID FOR FORTRAN. ENTRY
CANNOT BE INVOKED AS A FUNCTION.
Der Datentyp des Funktionswertes vom PL1-Eingangspunkt d ist für FORTRAN
ungültig. Der Eingangspunkt kann nicht als Funktion aufgerufen werden.
IOC0722I W DATA TYPE RETURNED BY d INVALID IN FORTRAN.
IOC0722I W DATA TYPE SPECIFIED FOR RETURNED VALUE FROM FORTRAN FUNCTION d IS INVALID FOR
FORTRAN.
Der Datentyp> der für den zurückgegebenen Wert der FORTRAN-Funktion d angegeben
wurde, ist für FORTRAN ungültig.
IOC0723I E ARGUMENT n TO d NOT CORRECTLY ALIGNED FOR FORTRAN.
IOC0723I E ARGUMENT NUMBER n TO ENTRY d IS NOT CORRECTLY ALIGNED FOR FORTRAN AND THE
NOMAP OPTION IS SPECIFIED. RESULTS OF EXECUTION UNDEFINED.
Das n-te Argument zum Eingangspunkt d ist für FORTRAN nicht korrekt ausgerichtet>
und die NOI1AP-Option wurde angegeben. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0724I W ARGUMENT n TO d NOT CORRECTLY ALIGNED FOR t.
IOC072« W ARGUMENTT NUMBER n TO ENTRY d IS AN ELEMENT WHICH MAY NOT BE CORRECTLY ALIGNED
FOR t. NO DUMMY ARGUMENT CREATED.
Das n-te Argument zum Eingangspunkt d ist ein Element» das für t nicht korrekt
ausgerichtet werden kann. Es wurde kein Pseudoargument erzeugt.
IOC0725I E STRUCTURE ARGUMENT n TO d INVALID FOR FORTRAN.
IOC0725I E ARGUMENT NUMBER n TO ENTRY d IS A STRUCTURE WHICH IS INVALID FOR FORTRAN. PL1
MAPPING ASSUMED F8R ARGUMENT.
Das n-te Argument zum Eingangspunkt d ist eine Struktur» die für FORTRAN ungültig
ist. Die Speicherung gemäß PL1-Konvention wurde für das Argument übernommen.
IOC0726I E STRUCTURE PARAMETER n TO d INVALID FOR FORTRAN.
IOC0726I E PARAMETER n TO ENTRY d IS A STRUCTURE WHICH IS INVALID FOR FORTRAN. PL1
MAPPING ASSUMED FOR PARAMETER.
Der n-te Parameter zum Eingangspunkt d ist eine Struktur» die für FORTRAN
ungültig ist. Die Speicherung gemäß PL1-Konvention wurde für den Parameter übernommen .
IOC0727I I d CANNOT BE INVOKED AS FUNCTION FROM FORTRAN.
IOC0727I I ENTRY d HAS NO PARAMETERS. THE ENTRY CANNOT BE INVOKED AS A FUNCTION FROM
FORTRAN.
Der Eingangspunkt d hat keine Parameter. Der Eingangspunkt kann von FORTRAN nicht
als Funktion aufgerufen werden.
IOC0728I S d HAS NO ARGUMENTS. FORTRAN OPTION IGNORED.
IOC0728I S FUNCTION d HAS NO ARGUMENTS. FORTRAN OPTION IGNORED.
Die Funktion d hat keine Argumente. Die FORTRAN-Option wurde ignoriert.
IOC0729I S d CANNOT BE A FUNCTION.
IOC0729I S COBOL OR ASSEMBLER ENTRY d CANNOT BE INVOKED AS A FUNCTION. INTERLANGUAGE
OPTION IGNORED.
Der COBOL- oder Assembler-Eingangspunkt d kann nicht als Funktion aufgerufen werden. Die Sprachenanpassungsoption wurde ignoriert.
IOC0730I S d CANNOT BE MAPPED CORRECTLY.
IOC0730I S IMPLEMENTATION RESTRIKTION. AGGREGATE d CANNOT BE MAPPED CORRECTLY. RESULTS OF
EXECUTION UNDEFINED.
Implementierungsbedingte Einschränkung. Die Gruppierung d kann nicht korrekt gespeichert werden. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0731I S AGGREGATE d EXCEEDS MAXIMUM LENGTH.
IOC0731I S IMPLEMENTATION RESTRIKTION. AGGREGATE d EXCEEDS MAXIMUM LENGTH. RESULTS OF
EXECUTION UNDEFINED.
Implementierungsbedingte Einschränkung. Die Länge der Gruppierung d übersteigt
die maximale Länge. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0750I E BIT VALUE ONE ASSUMED IN 'IF" EXPRESSION.
IOC0750I E VARIABLE IN EXPRESSION AFTER 'IF1- OR IN WHILE OPTION CANNOT BE CONVERTED TO
BIT STRING. BIT CONSTANT OF LENGTH AND VALUE ONE ASSUMED.
Der Wert der Variablen im Ausdruck nach IF oder in der WHILE-Option kann nicht in
eine Bitkette umgewandelt werden. Eine Bitkettenkonstante mit der Länge und dem
Wert 1 wurde angenommen.
IOC0751I W TOO FEW ARGUMENTS IN CALL TO d.
IOC0751I W FEWER ARGUMENTS THAN PARAMETERS FOR CALL TO ASSEMBLER ROUTINE d.
Weniger Argumente als Parameter im Aufruf der Assembler-Routine d.
IOC0752I E NEGATIVE SECOND ARGUMENT TO 'BIT1 OR «CHAR1.
IOC0752I E NEGATIVE SECOND ARGUMENT TO BIT OR CHAR BUILT-IN FUNCTION. ZERO ASSUMED.
Negatives zweites Argument in der Standardfunktion BIT oder CHAR. NULL wurde angenommen.
113
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0753I E LENGTH OF STRING OPERATION RESÜLT EXCEEDS n.
IOC0753I E IMPLEMENTATION RESTRICTION. LENGTH OF RESULT OF STRING OPERATION EXCEEDS n.
LENGTH OF n ASSUMED.
Implementierungsbedingte Einschränkung. Die Lange des Ergebnisses eines Kettenausdrucks übersteigt n. Die Länge n wurde angenommen.
IOC0754I S NQN-CONSTANTT VALUE IN STATIC INITIAL FOR d IN THIS BLOCK.
IOC0754I S NON-CONSTANT VALUE IN INITIAL ATTRIBUTE FOR STATIC VARIABLE d IN THE BLOCK
BEGINNING WITH THIS STATEMENT. INITIAL ATTRIBUTE IGNORED.
Nicht-konstanter Wert im INITIAL-Attribut für die STATIC-Variable d in dem Block,
der mit dieser Anweisung beginnt. Das INITIAL-Attribut wurde ignoriert.
IOC0755I E 'REPEAT1 STRING RESULT EXCEEDS MAXIMUM LENGTH.
IOC0755I E IMPLEMENTATION RESTRICTION. STRING RESULT FROM REPEAT BUILT-IN FUNCTION GREATER
THAN ALLOWED MAXIMUM LENGTH. ZERO REPETITION FACTOR ASSUMED.
Implementierungsbedingte Einschränkung. Die ErgebniskettenXänge der Standardfunktion REPEAT ist größer als die zulässige maximale Länge. Der Wiederholungsfaktor
Null wurde angenommen.
IOC0756I E NEGATIVE REPETITION FACTOR FOR •REPEAT1.
IOCQ756I E NEGATIVE REPETITION FACTOR SPECIFIED FOR REPEAT BUILT-IN FUNCTION. ZERO
REPETITION FACTOR ASSUMED.
Ein negativer Wiederholungsfaktor wurde für die Standardfunktion REPEAT angegeben. Der Wiederholungsfaktor Null wurde angenommen.
IOC0757I W CONSTANT AFTER 'IF1 OR IN WHILE OPTION.
I0C0757I W CQNSTAlfr SPECIFIED FOLLOWING •IF1 OR IN WHILE OPTION. FLOW WILL BE UNCONDITIONAL.
Eine Konstante wurde nach IF oder in der WHILE-Option angegeben. Der Programmablauf ist konstant.
IOC0758I S AREA VARIABLE FOR OFFSET d INVALID.
IOC0758I S IMPLEMENTATION RESTRICTION. SPECIFICATION OF AREA VARIABLE ASSOCIATED WITH
OFFSET d NOT VALID IN THI? STATEMENT.
'Implementierungsbedingte Einschränkung. Die Angabe der AREA-Bezugnähme in Verbindung mit der OFFSET-Bezugnähme d ist in dieser Anweisung nicht gültig.
IOC0765I E CONSTANT SUBSCRIPT OF d OUT OF RANGE.
I0C0765I E VALUE OF CONSTAKT SUBSCRIPT FOR ARRAY d IS OUT OF RANGE BUT HAS NOT BEEN
REPLACED.
Der Wert des konstanten Indexes für das Feld d liegt außerhalb der Grenzen? wurde
aber nicht ersetzt.
IOC0766I W TOO MANY
IOC0766I W TOO MANY
Zu viele
Elemente
ITEMS IN INITIAL VALUE LIST FOR d.
ITEMS IN INITIAL VALUE LIST FOR ARRAY d. REDUNDANT ITEMS IGNORED,
Elemente in der Liste der INITIAL-Werte für das Feld d. Die überzähligen
wurden ignoriert.
IOC0767I S ISUB VARIABLE FOR d OUT OF RANGE.
IOC0767I S ISUB VARIABLE FOR DEFINED ARRAY d OUT OF RANGE. RESULTS OF EXECUTION UNDEFINED.
Die nSUB-Variable für das DEFINED-Feld d liegt außerhalb der Dimensionen. Die
Ergebnisse der Ausführung sind Undefiniert.
IOC0768I S INVALID REPETITION FACTOR IN «INITIAL1 FOR d.
IOC0768I S ZERO OR NEGATIVE REPETITION FACTOR IN INITIAL ATTRIBUTE FOR ARRAY d,
REPETITION FACTOR IGNORED.
Der Wiederholungsfaktor im INITIAL-Attribut für das Feld d ist Null oder negativ.
Der Wiederholungsfaktor wurde ignoriert.
IOC0776I W INITIAL VALUE OF DO SPECIFICATION OUT OF RANGE.
I0C0776I W INITIAL VALUE OF ITERATIVE
SPECIFICATION IS OUTSIDE THE RANGE OF THE EXPRESSIONS
AFTER 'BY' AND 'TO1. NO EXECUTION OF THE STATEMENTS CONTAINED IN THE GROUP.
Der Anfangswert der DO-Spezifikation ist nicht in der Reihe der Ausdrücke nach BY
und TO enthalten. Die Anweisungen der Gruppe werden niemals ausgeführt.
IOC0787I S INVALID IDENTIFIER IN CHECK LIST.
IOC0787I S INVALID IDENTIFIER IN CHECK LIST. IDENTIFIER IGNORED.
Ungültige Bezeichnung in der CHECK-Liste. Die Bezeichnung wurde ignoriert.
IOC0788I W AREA ASSOCIATED WITH OFFSET d MAY BE INVALID FOR LOCATOR CONVERSION IN 'RETURN1.
IOC0788I W IMPLEMENTATION RESTRICTION. AREA ASSOCIATED
WITH OFFSET d INVALID FOR LOCATOR
CONVERSION FOR RETURN STATEMENT.
'RETURN1 EXPRESSION WILL BE IGNORED IF THE
1
INVALID COMBINATION OF 'RETURN AND 'ENTRY' IS USED.
Implementierungsbedingte Einschränkung. Die in der OFFSET-Variablen d angegebene
AREA-Variable kann die durch einen Einngangspunkt mit dem Funktionswertattribut
POINTER erforderliche Zeigerdaten-Umwandlung in einer RETURN-Anweisung nicht
ermöglichen. Der RETURN-Ausdruck wird dann ignoriert.
IOC0789I S INVALID SPECIFICATION IN 'WAIT1.
IOC0789I S INVALID SPECIFICATION OF NUMBER OF EVENTS IN WAIT STATEMENT. SPECIFICATION
IGNORED.
Ungültige Angabe der Anzahl von Ereignissen in der WAIT-AnWeisung. Die Angabe
wurde ignoriert.
IOC0790I S INVALID EXPRESSION IN «DELAY1.
IOC0790I S INVALID EXPRESSION IN DELAY STATEMENT. ZERO ASSUMED.
Ungültiger Ausdruck in der DELAY-Anweisung. Null wurde angenommen.
114
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
I0C0791I S INVALID EXPRESSION IN 'RETURN1.
I0C0791I S INVALID EXPRESSION IN RETURN STATEMENT, EXPRESSION IGNORED.
Ungültiger Ausdruck in der RETURN-AnWeisung. Der Ausdruck wurde ignoriert.
IOC0792I S INVALID 'DISPLAY1 EXPRESSION.
IOC0792I S INVALID EXPRESSION IN DISPLAY STATEMENT I. STATEMENT IGNORED3.
Ungültiger Ausdruck in der DISPLAY-Anweisung. [Die Anweisung wurde ignoriert.]
IOC0793I W 'DISPLAY' STRING LENGTH EXCEEDS 72.
IOC0793I W LENGTH OF STRING TO BE DISPLAYED EXCEEDS 72 CHARACTERS. TERMINAL MAY NOT
SUPPORT THIS.[FIRST n CHARACTERS USED3.
Die Länge der Kette» die auszugeben ist> übersteigt 72 Zeichen. Es ist möglich»
daß das Terminal hierfür nicht geeignet ist. [Die ersten n Zeichen werden verwendet.]
IOC0794I S 'REPLY' CONTAINS NON-CHARACTERH5TRING REFERENCE.
IOC0794I S NON-CHARACTER-STRING REFERENCE IN REPLY OPTION. OPTION IGNORED.
Nicht-Zeichenketten-Bezugnahme in der REPLY-Option. Die Option wurde ignoriert.
IOC0795I E 'REPLY1 STRING LENGTH EXCEEDS n.
IOC0795I E IMPLEMENTATION RESTRICTION. STRING LENGTH IN REPLY OPTION TOO LONG. FIRST n
CHARACTERS USED.
Implementierungsbedingte Einschränkung. Die Kettenlänge in der REPLY-Option ist
zu groß. Die ersten n Zeichen wurden verwendet.
IOC0797I W t NOT ENABLED. 'SIGNAL1 IGNORED.
IOC0797I W t CONDITION NOT ENABLED [. STATEMENT IGNORED3.
Die Bedingung t ist nicht wirksam. [Die SIGNAL-Anweisung wurde ignoriert. ]
IOC0798I W 'CHECK' NOT ENABLED FOR d.
IOC0798I W CHECK CONDITION NOT ENABLED FOR VARIABLE d IN SIGNAL STATEMENT. VARIABLE IGNORED.
Die CHECK-Bedingung für die Variable d in der SIGNAL-AnWeisung ist nicht wirksam.
Die Variable wurde ignoriert.
IOC0799I S INVALID EXPRESSION IN PRIORITY OPTION.
IOC0799I S INVALID EXPRESSION IN PRIORITY OPTION. OPTION IGNORHT.
Ungültiger Ausdruck in der<PRIORITY-Option. Die Option wurde ignoriert.
IOC0800I S INVALID EXPRESSION IN IGNORE OPTION.
IOC0800I S INVALID EXPRESSION IN IGNORE OPTION. VALUE ONE ASSUMED .
Ungültiger Ausdruck in der IGNORE-Option. Der Wert Eins wurde angenommen*.
IOC0801I S INVALID EXPRESSION IN KEY OPTION.
IOC0801I S INVALID EXPRESSION IN KEY OPTION« RESULTS OF EXECUTION UNDEFINED.
Ungültiger Ausdruck in der KEY-Option. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0805I S ATTRIBUTES OF d CONFLICT WITH USE.
IOC0805I S CONFLICT BETWEEN ATTRIBUTES OF FILE d AND ITS USE IN THJS STATEMENT
[. STATEMENT IGNORED 3.
Widerspruch zwischen Dateiattributen und Verwendung von d in dieser Anweisung.
[Die Anweisung wurde ignoriert.3
IOC0806I S RECORD VARIABLE INVALID.
IOC0806I S RECORD VARIABLE INVALID [. STATEMENT IGNORED3.
Die Satzvariable ist ungültig. [Die Anweisung wurde ignoriert.3
IOC0807I S INVALID SET OF OPTIONS.
IOC0807I S INVALID SET OF OPTIONS ON RECORD I/O STATEMENT [. STATEMENT IGNORED3.
Ungültige Kombination von Optionen in einer RECORD-E/A-Anweisung. [Die Anweisung
wurde ignoriert.3
IOC0808I I RECORD I/O FUNCTION OPTIMIZED.
IOC0808I I RECORD I/O FUNCTION OPTIMIZED. NO LIBRARY SUBROUTINE CALL REQUIRED.
Die RECORD-E/A-Funktion wurde optimiert. Es ist kein Aufruf einer Bibliotheksroutinen erforderlich.
IOC0809I S ATTRIBUTES OF d CONFLICT WITH THOSE ON 'OPEN*•
IOC0809I S ATTRIBUTES ON OPEN STATEMENT CONFLICT WITH THOSE DECLARED FOR FILE d.
UNDEFINEDFILE WILL BE RAISED ON ATTEMPT TO OPEN THE FILE.
Die Attribute in der OPEN-Anweisung widersprechen den in der Vereinbarung
angegebenen Dateiattributen von d. Beim Eröffnen tritt 'UNDEFINEDFILE1 auf.
IOC0816I E »PAGESIZE1 OR 'LINESIZE' CONFLICT WITH ATTRIBUTES OF d.
IOC08I6I E SPECIFICATION OF PAGESIZE OR LINESIZE OPTION CONFLICTS WITH ATTRIBUTES OF FILE d.
OPTION IGNORED.
Die Angabe der PAGESIZE- oder LINESIZE-Option widerspricht den Dateiattributen
von d. Die Option wurde ignoriert.
IOC0817I S INVALID 'TITLE' 'PAGESIZE1 OR 'LINESIZE' FOR d.
IOC0817I S INVALID SPECIFICATION OF TITLE/PAGESIZE/LINESIZE OPTION FOR FILE d.
OPTION IGNORED.
Ungültige Angabe der TITLE/PAGESIffi/LINESIZE/IDEICr-Option für die FILE-Bezugnähme
d. Die Option wurde ignoriert.
115
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0819I S NO DATA SET ORGANISATION OPTION IN 'ENVIRONMENT1 FOR d.
IOC0819I S DIRECT ATTRIBUTE BUT NO DATA SET ORGANIZATION OPTION IN ENVIRONMENT ATTRIBUTE
FOR FILE d. UNDEFINEDFILE WILL BE RAISED ON ATTEMPT TO OPEN THE FILE.
DIRECT-Attribut* aber keine Option für die Dateiorganisation
im ENVIRONMENTAttribut für d. Beim Eröffnen tritt 'UNDEFINEDFILE1 auf,
IOC0823I S ATTRIBUTES AND ENVIRONMENT OPTIONS FOR d CONFLICT.
IOC0823I S ATTRIBUTES AND ENVIRONMENT OPTIONS FOR FILE d CONFLICT. UNDEFINEDFILE WILL BE
RAISED ON ATTEMPT TO OPEN THE FILE.
Die Attribute und die ENVIRONMENT-Optionen
für d widersprechen sich. Beim
Eröffnen tritt •UNDEFINEDFILE1 auf.
IOC082« S INVALID ATTRIBUTES FOR d IGNORED.
IOC0824I S INVALID ATTRIBUTE(S) FOR FILE d IGNORED.
Die ungültigen Attribute für d wurden ignoriert.
IOC0825I S t FOR d CONFLICTS WITH PREVIOUSLY DECLARED ATTRIBUTES.
IOC0825I S ATTRIBUTE t IN FILE d CONFLICTS WITH ONE PREVIOUSLY DECLARED AND IS IGNORED.
Das Dateiattribut t für d widerspricht einem zuvor vereinbarten Attribut und wurde ignoriert.
IOC0826I S INVALID ENVIRONMENT OPTIONCS) FOR d IGNORED.
I0C0826I S INVALID ENVIRONMENT OPTIONCS) FOR FILE d IGNORED.
Die ungültigen ENVIRONMENT-Optionen für d wurden ignoriert.
IOC0827I S t FOR d CONFLICTS WITH PREVIOUSLY DECLARED OPTIONS.
IOC0827I S ENVIRONMENT OPTION t FOR FILE d CONFLICTS WITH ONE PREVIOUSLY DECLARED AND IS
IGNORED. Die ENVIRONMENT-Option t für d widerspricht einer zuvor vereinbarten Option und
wurde ignoriert.
IOC0829I S INVALID OPTIONCS) ON •CLOSE1 FOR d.
IOC0829I S INVALID ENVIRONMENT OPTIONCS) ON CLOSE STATEMENT FOR FILE d. OPTIONCS) IGNORED.
Ungültige ENVIRONMENT-Optionen in der CLOSE-Anweisung für d. Die Optionen wurden
ignoriert.
IOC0830I W FIRST USE OF OPTION t FOR FILE d IGNORED.
IOC0830I W ENVIRONMENT OPTION t SPECIFIED MORE THAN ONCE IN DECLARATION OF FILE d. FIRST
USE IGNORED.
Die ENVIRONMENT-Option t wurde mehr als einmal in der Vereinbarung von d angegeben. Die erste Angabe wurde ignoriert.
IOC0831I I RECORD I/O FUNCTION PERFORMED BY SUBROUTINE CALL.
IOC0831I I TOTAL OPTION SPECIFIED BUT RECORD I/O FUNCTION PERFORMED BY SUBROUTINE CALL.
Die TOTAL-Option wurde angegeben> aber die RECORD-E/A-Funktion wurde durch Aufruf
einer Bibliotheksroutine realisiert.
IOC0840I S INVALID GET OR PUT STATEMENT IGNORED.
IOC0840I S GET OR PUT STATEMENT REFERENCES A RECORD FILE [. STATEMENT IGNORED].
Die GET- oder PUT-Anweisung enthält einen RECORD FILE-Ausdruck. [Die Anweisung
tru&de ignoriert. 1
IOC0841I E INVALID E OR F FORMAT ITEM.
IOC0841I E IMPLEMENTATION RESTRIKTION. THE NUMBER OF DIGITS AFTER THE DECIMAL POINT IN AN
E OR F FORMAT ITEM EXCEEDS n. n IS ASSUMED.
Implementierungsbedingte Einschränkung. Die Anzahl der Ziffern nach dem Dezimalpunkt in einem E- oder F-Formatelement übersteigt n. n wurde angenommen.
IOC0842I E INVALID E OR F FORMAT ITEM.
IOC0842I E THE NUMBER OF DIGITS AFTER THE DECIMAL POINT IN E OR F FORMAT ITEM IS
NEGATIVE. ZERO IS ASSUMED.
Die Anzahl der Ziffern nach dem Dezimalpunkt in einem E- oder F-Formatelement ist
negativ. Null wurde angenommen.
IOC0843I E CONFLICTING OPTIONS. t IGNORED.
IQC0843I E CpNFLICTING OPTIONS IN PUT STATEMENT. OPTION t IGNORED .
Widersprechende Optionen in der PUT-Anweisung. Die Option t wurde ignoriert.
IOC0844I E t VALID ONLY FOR PRINT FILES.
IOC0844I E t OPTION VALID ONLY FOR PRINT FILES. OPTION IGNORED.
Die Option t ist nur für PRINT-Dateibeschreibungen gültig. Die Option wurde ignoriert.
IOC0845I W d NOT ARITHMETIC OR STRING.
IOC0845I W DATA LIST ITEM d NOT ARITHMETIC OR STRING. ITEM IGNORED.
Das Datenlistenelement d ist weder arithmetisch noch eine Kette. Das Element wurde ignoriert.
IOC0846I S CONSTANT INVALID IN DATA LIST OF 'GET1 OR 'PUT1.
I0C0846I S CONSTANT INVALID IN DATA LIST OF GET OR PUT DATA STATEMENT. CONSTANT IGNORED.
Ungültige Konstante in der Datenliste der GET- oder PUT-DATA-Anweisung. Die Konstante wurde ignoriert.
IOC0847I S INVALID STRING OPTION.
IOC0847I S STRING OPTION DOES NOT CONTAIN A CHARACTER-STRING VARIABLE C. STATEMENT IGNORED.]
Die STRING-Option enthält keine Zeichenkettenvariable. [Die Anweisung wurde ignoriert. 1
126
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0848I E NO DATA ITEM IN FORMAT LIST.
IOC0848I E NO DATA FORMAT ITEM IN FORMAT LIST. FORMAT LIST WILL BE USED ONLY ONCE. DATA
LIST IGNORED.
Kein Datenformatelement in der Formatliste, Die Formatliste wird nur einmal verwendet. Die Datenliste wurde ignoriert.
IQC0849I S CONTROL FORMAT ITEMS INVALID WITH STRIN6 OPTION.
I0C0Ö49I S INVALID CONTROL FORMAT ITEM(S) IN GET/PUT STRING STATEMENT. FORMAT ITEM(S)
IGNORED.
Ungültige Steuerformatefernente in der GET- oder PUT-AnWeisung mit STRING-Option.
Die Formatelemente wurden ignoriert.
IOC08501 S INVALID A OR B FORMAT ITEM.
IOC0850I S INVALID A OR B FORMAT ITEM IN GET STATEMENT. ' A U ) 1 OR 'B(l)' 1ASSUMED.
Ungültiges A- oder B-Formatelement in der GET-Anweisung.# 'A(l) oder 'B(l)' wurde
angenommen.
IOC0851I H A O R B 1 FORMAT ITEM INVALID IF USED BY i GET l .
IOC0851I W ' A U ) OR 'BC1)' ASSUMED FOR FORMAT ITEMS 'A OR 'B' IF FORMAT LIST USED BY
GET STATEMENT.
A* oder 'B1 angenommen» wenn die
' A U ) ' oder 'BC1)' wird für die Formatelemente
Formatliste durch die GET-Anweisung benutzt wird.
I0C0852I E WIDTH IN FORMAT ITEM EXCEEDS n.
IOC0852I E IMPLEMENTATION RESTRICTION. WIDTH IN FORMAT ITEM IS GREATER THAN n. n ASSUMED.
Implementierungsbedingte Einschränkung. Die Länge im Formatelement ist größer als
n. n wurde angenommen,
IOC0853I W FIELD WIDTH IN E FORMAT ITEM TOO SMALL FOR NEGATIVE VALUES.
IOC0853I W FIELD WIDTH IN E FORMAT ITEM TOO SMALL FOR MINUS SIGN TO BE PRINTED.
Die Feldlänge im E-Formatelernent ist zu klein» um das Minuszeichen zu drucken.
IOC0854I S FIELD WIDTH IN E FORMAT ITEM TOO SMALL FOR DATA.
IOC085« S FIEUD WIDTH IN E FORMAT ITEM TOO SMALL FOR COMPLETE OUTPUT OF THE ITEM. ITEM
IGNORED.
Die Feldlänge im E-Formatelement ist für die vollständige Ausgabe des Elementes
zu klein. Das Element wurde ignoriert.
IOC0855I S INVALID ARGUMENTS TO E OR F FORMAT ITEM.
IOC0855I S INVALID ARGUMENTS TO E OR F FORMAT ITEM. FORMAT ITEM IGNORED.
Ungültige Argumente zum E- oder F-Formatelement. Das Formatelement
riert.
wurde igno-
IOC0856I E 'PAGE1 OR "LINE1 IN 'GET1 OR 'PUT1 IGNORED.
IOC0856I E INVALID PAGE OR LINE FORMAT ITEM IN GET OR PUT STATEMENT. FORMAT ITEM IGNORED.
Ungültiges PAGE- oder LINE-Formatelement in der GET- oder PUT-Anweisung• Das Formaxelement wurde ignoriert*
IOC0857I W 'PAGE1 OR 'LINE' IGNORED FOR 'GET1.
IOC0857I W PAGE OR LINE FORMAT ITEM WILL BE IGNORED IF FORMAT LIST IS USED BY A GET
STATEMENT.
Das PAGE- oder LINE-Formatelement wird ignoriert» wenn die Formatliste durch eine
GET-Anweisung verwendet wird.
IOC0858I S INVALID FORMAT ITEM IGNORED.
IOC0858I S INVALID DATA TYPE IN FORMAT ITEM. ITEM IGNORED.
Ungültiger Datentyp im Formatelement* Das Element wurde ignoriert.
IOC0859I E INVALID DATA TYPE IN SKIP OR LINE OPTION.
IOC0859I E INVALID DATA TYPE IN SKIP OR LINE OPTION. VALUE ONE ASSUMED.
Ungültiger Datentyp in der SKIP- oder LINE-Option. Der Wert
men .
Eins wurde angenom-
IOC0860I W ITEM NOT ARITHMETIC OR STRING.
IOC0860I W DATA LIST ITEM NOT ARITHMETIC OR STRING. ITEM IGNORED.
Das Datenlistenelement ist weder arithmetisch noch eine Kette. Das Element wurde
ignoriert.
IOC0861I E MISSING LABEL PREFIX ON FORMAT STATEMENT,
IOC0861I E MISSING LABEL PREFIX ON FORMAT STATEMENT [. STATEMENT IGNORED1.
Fehlendes Markenpräfix am Anfang der FORMAT-Anweisung. [Die Anweisung wurde ignoriert. 1
IOC0870I S SECOND ARGUMENT TO t INVALID.
IOC0870I S SECOND ARGUMENT OF BUILT-IN FUNCTION t TOO LARGE OR TOO SMALL. VALUE ONE ASSUMED.
Das zweite Argument der Standardfunktion t ist zu gross oder zu klein. Der Wert
Eins wurde angenommen.
IOC0871I S INVALID ARGUMENT TO ALLOCATION BUILT-IN FUNCTION.
IOC0871I S ARGUMENT OF ALLOCATION BUILT-IN FUNCTION DOES NOT REFER TO A LEVEL ONE
CONTROLLED VARIABLE. ZERO VALUE WILL BE RETURNED.
Das Argument der Standardfunktion 'ALLOCATION1 ist keine COOTROLLED-Variable.
IOC0872I S INVALID ARGUMENT TO t.
IOCQ872I S INVALID ARGUMENT TO BUILT-IN FUNCTION t. FUNCTION RETURNS NULL VALUE.
Ungültiges Argument zur Standardfunktion t* Die Funktion gibt den Wert
zurück•
Null
117
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0873I S ARGUMENT TO t IS NOT A FILE EXPRESSION.
IOC0873I S ARGUMENT TO BUILT-IN FUNCTION V IS NOT A FILE. FUNCTION RETURNS ZERO VALUE,
Das Argument zur Standardfunktion t ist kein FILE-Ausdruck. Die Funktion gibt den
Wert Null zurück.
I0C0874I S t USED AS ARGUMENT DOES NOT MATCH PARAMETER DESCRIPTOR.
I0C0874I S BUILT-IN FUNCTION t USED AS ARGUMENT DOES NOT MATCH CORRESPONDING PARAMETER
DESCRIPTOR. RESULTS OF EXECUTION UNDEFINED.
Die als Argument benutzte Standardfunktion t paßt nicht zu der entsprechenden
Parameterbeschreibung. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0875I I FIXED-POINT ARITHMETIC USED FOR RESULT OF BUILT-IN FUNCTION t.
IOC0875I I RESULT OF BUILT-IN FUNCTION t HILL BE EVALUATED USING FIXED-POINT ARITHMETIC
OPERATIONS.
Das Ergebnis der Standardfunktion t wird mit Hilfe von Festkommaoperationen berechnet .
IOC0876I W ADDR BUILT-IN FUNCTION POINTS AT STRING LENGTH FIELD.
IOC0876I W ADDR BUILT-IN FUNCTION RETURNS A POINTER TO THE TWO-BYTE LENGTH FIELD PRECEDIN6
THE VARYING STRING VALUE. 1
Die Standardfunktion 'ADDR gibt einen Zeigerwert zurück« der auf das Zwei-BytePräfix der VARYING-Kette zeigt.
IOC0877I E SECOND ARGUMENT TO 'SUBSTR1 SET TO ONE.
IOC0877I E SECOND ARGUMENT OF SUBSTR BUILT-IN FUNCTION OR PSEUDO-VARIABLE LESS THAN ONE.
VALUE SET TO ONE.
Das zweite Argument der Standardfunktion oder Pseudovariablen 'SUBSTR1 ist kleiner als eins. Der Wert wurde auf eins gesetzt.
IOC0878I E SECOND ARGUMENT TO •SUBSTR1 TOO LARGE.
IOC0878I E SECOND ARGUMENT OF SUBSTR BUILT-IN FUNCTION OR PSEUDO-VARIABLE GREATER THAN
STRING LENGTH. NULL STRING RETURNED.
Das zweite Argument der Standardfunktion oder Pseudovariablen 'SUBSTR1 ist größer
als die Länge der Kette. Die leere Kette wird zurückgegeben.
IOC0879I E THIRD ARGUMENT TO 'SUBSTR1 NEGATIVE.
IOC0879I E THIRD ARGUMENT OF SUBSTR BUILT-IN FUNCTION OR PSEUDO-VARIABLE NEGATIVE. NULL
STRING RETURNED.
Das dritte Argument der Standardfunktion oder Pseudovariablen 'SUBSTR1 ist negativ. Die leere Kette wird zurückgegeben.
IOC0880I E THIRD ARGUMENT TO 'SUBSTR1 TOO LARGE.
IOC0880I E THIRD ARGUMENT OF SUBSTR BUILT-IN FUNCTION OR PSEUDO-VARIABLE GREATER THAN
STRING LENGTH. RETURNED VALUE TRUNCATED AT END OF SOURCE STRING.
Das dritte Argument der Standardfunktion oder Pseudovariablen 'SUBSTR1 ist größer
als die Länge der Kette. Der zurückgegebene Wert wird am Ende der Quellkette abgebrochen.
IOC0881I E ARGUMENTS TO 'SUBSTR1 TOO LARGE.
IOC0881I E THE SUM OF THE SECOND AND THIRD ARGUMENTS OF SUBSTR BUILT-IN FUNCTION OR
PSEUDO-VARIABLE IS GREATER THAN THE STRING LENGTH PLUS ONE. RETURNED VALUE
TRUNCATED AT END OF SOURCE STRING.
Die Summe des 1zweiten und dritten Arguments der Standardfunktion oder Pseudovariablen 'SUBSTR ist größer als die Lange der Kette plus eins. Der zurückgegebene
Wert wird am Ende der Quellkette abgebrochen.
IOC0882I W RESULT OF BIT STRING OPERATION WILL BE TRUNCATED.
IOC0882I W RESULT OF BIT STRING OPERATION WILL BE TRUNCATED.
Das Ergebnis der Bitkettenoperation wird gekürzt.
IOC0883I W RESULT OF STRING OPERATION TRUNCATED.
IOC0883I W TARGET STRING SHORTER THAN SOURCE. RESULT TRUNCATED ON ASSIGNMENT.
Bei der Zuweisung war die linke Kette kürzer als die rechte. Das Ergebnis wurde
abgebrochen.
IOC089« S INVALID ARGUMENT TO 'HIGH1 OR 'LOW1 REPLACED BY '(l) 1 .
IOC0894I S INVALID ARGUMENT OF HIGH OR LOW BUILT-IN
FUNCTION. ' C D ' ASSUMED.
Argument der Standardfunktion 'HIGH1 oder 'FLOW1 ist fehlerhaft. Als Argumentwert
wurde Eins angenommen.
IOC0895I S OPERATORCS) INVALID FOR COMPLEX DATA.
IOC0895I S OPERATORCS) INVALID FOR COMPLEX DATA. '=' ASSUMED.
OperatorCen) istCsind) für komplexe Daten*ungültig. ' = ' wurde angenommen.
IOC0896I S EXPRESSION IN 'INITIAL' FOR STATIC VARIABLE d,
IOC0896I S INITIAL ATTRIBUTE FOR STATIC VARIABLE d CONTAINS NON-CONSTANT EXPRESSION.
ATTRIBUTE IGNORED.
Das INITIAL-Attribut für die STATIC-Variable d enthält einen nicht-konstanten
Ausdruck. Das Attribut wurde ignoriert.
IOC0897I I CONVERSION WILL BE PERFORMED BY SUBROUTINE CALL.
IOC0897I I DATA CONVERSION WILL BE PERFORMED DURING PROGRAM EXECUTION BY SUBROUTINE CALL.
Die Datenumwandlung wird während der Programmausführung durch den Aufruf einer
Bibliotheksroutine realisiert.
118
PL1-0C Benutzungshinweise
10/89
D05-4/ES
IOC0898I S WRONG NUMBER OF ARGUMENTS FOR ENTRY d.
IOC0898I S WRONG NUMBER OF ARGUMENTS SPECIFIED FOR FUNCTION OR SUBROUTINE d. RESULTS OF
EXECUTION UNDEFINED.
Für die Funktion oder Routine d wurde eine falsche Anzahl von Argumenten angegeben. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0899I W 'RETURN1 EXPRESSION MAY CONFLICT WITH •ENTRY1 SPECIFICATION.
IQC0899I W DATA TYPE OF RETURNED EXPRESSION CONFLICTS WITH RETURNS OPTION OF A PROCEDURE
OR ENTRY STATEMENT IN THIS BLOCK. EXPRESSION 1IN RETURN STATEMENT
WILL BE
IGNORED IF THE INVALID COMBINATION OF 'RETURN AMD •ENTRY1 IS USED.
Der Datentyp des Ausdrucks in der RETURN-AnWeisung widerspricht der Angabe in der
RETURNS-Option einer PROCEDURE- oder ENTRY-Klausel in diesem Block. Der Ausdruck
in der1 RETURN-Anweisung
wird ignoriert» wenn die ungültige Kombination von
•RETURN und 'ENTRY1 benutzt wird.
IOC0900I I DATA VARIABLE USED FOR PROGRAM CONTROL.
IOC0900I I BASED REFERENCE TO PROGRAM CONTROL DATA REFERS TO STORAGE USED BY VARIABLE d
BUT IS ACCEPTED AS VALID.
Die BASED-Bezugnähme auf die ProgrammSteuerdaten wird als gültig akzeptiert> bezieht sich aber auf Speicherplatz> der durch die Variable d benutzt wird.
IOC0901I U OVERFLOW TEXT PAGES FÜLL. COMPILATION TERMINATED IN PHASE P.
IOC0901I U IMPLEMENTATION RESTRICTION. ALL OVERFLOW TEXT PAGES FÜLL. COMPILATION
TERMINATED IN PHASE P.
Implementierungsbedingte Einschränkung. Alle Oberlauftextseiten sind gefüllt. Die
Übersetzung wurde in Phase P abgebrochen.
IOC0903I U TOO MANY SUBSCRIPTED LABELS IN THIS BLOCK. COMPILATION TERMINATED.
IOC0903I U IMPLEMENTATION RESTRICTION. TOO MANY SUBSCRIPTED LABELS IN THIS BLOCK.
COMPILATION TERMINATED.
Implementierungsbedingte Einschränkung. Zu viele indizierte LABEL-Variablenbezugnahmen in diesem Block. Die Übersetzung wurde abgebrochen.
IOC0908I W TOO MANY CALLS AND FUNCTION REFERENCES FOR OPTIMIZATION.
IOC0908I W IMPLEMENTATION RESTRICTION. TOO MANY CALL STATEMENTS AND FUNCTION REFERENCES.
OPTIMIZATION IS INHIBITED FOR THE PROGRAM.
Implernentierungsbedingte Einschränkung. Zu viele CALL-Anweisungen und Funktionsaufrufe. Eine Optimierung kann für dieses Programm nicht vorgenommen werden.
IOC0909I W TOO MANY LOCATOR LABEL OR ENTRY ASSIGNMENTS FOR OPTIMIZATION.
IOC0909I W IMPLEMENTATION RESTRICTION. TOO MANY LOCATOR LABEL OR ENTRY VARIABLE
ASSIGNMENTS. OPTIMIZATION IS INHIBITED FOR THE PROGRAM,
Implementierungsbedingte Einschränkung. Zu viele Zeiger-» LABEL- oder ENTRYVariablen-Zuweisungen. Eine Optimierung kann für dieses Programm nicht vorgenommen werden.
IOC0910I W TOO MANY BASED LOCATOR LABEL OR ENTRY ASSIGNMENTS FOR OPTIMIZATION.
IOC0910I W IMPLEMENTATION RESTRICTION. TOO MANY ASSIGNMENTS WITH BASED LOCATORS LABEL OR
ENTRY VARIABLES. OPTIMIZATION IS INHIBITED FOR THE PROGRAM.
Implementierungsbedingte Einschränkung. Zu viele Zuweisungen an Zeiger-» LABELoder ENTRY-Variablen mit dem BASED-Attribut. Eine Optimierung kann für dieses
Programm nicht vorgenommen werden.
IOC0911I W TOO MANY LOCATOR TEMPORARIES ACTIVE FOR OPTIMIZATION.
IOC0911I W IMPLEMENTATION RESTRICTION. TOO MANY LOCATOR TEMPORARIES ACTIVE. OPTIMIZATION
IS INHIBITED FOR THE PROGRAM.
Implementierungsbedingte Einschränkung. Zu viele temporäre Zeiger sind aktiv.
Eine Optimierung kann für dieses Programm nicht vorgenommen werden.
IOC0912I W STATEMENT MAY NEVER BE EXECUTED.
IOC0912I W STATEMENT MAY NEVER BE EXECUTED.
Die Anweisung kann niemals ausgeführt werden.
IOC0913I W TOO MANY STATEMENT LABEL CONSTANTS FOR OPTIMIZATION.
IOC0913I W IMPLEMEhTTATION RESTRICTION. TOO MANY STATEMENT LABEL CONSTANTS. OPTIMIZATION
IS INHIBITED FOR THE PROGRAM.
Implementierungsbedingte Einschränkung. Zu viele LABEL-Konstanten. Eine Optimierung kann für dieses Programm nicht vorgenommen werden.
IOC0914I W ITEMCS)
IOC091« W ITEMCS)
Es kann
benutzt
d MAY BE UNINITIALIZED.
d MAY BE UNINITIALIZED WHEN USED IN THIS BLOCK.
sein, dass das Element d nicht initialisiert ist» wenn es in diesem Block
wird.
IOC0915I W n FLOW UNITS IN BLOCK. GLOBAL OPTIMIZATION RESTRICTED.
IOC0915I W BLOCK CONTAINS n FLOW UNITS. GLOBAL OPTIMIZATION PERFORMED ONLY IN DO GROUPS.
Der Block enthält n FLOW-Einheiten. Die globale Optimierung wird nur in DO-Gruppen durchgeführt.
IOC0916I W GO TO d MAY PASS CONTROL OUT OF BLOCK.
IOC0916I W GO TO d MAY CAUSE CONTROL TO BE PASSED OUT OF THE CURRENT BLOCK.
'GO TO D* kann veranlassen> daß die Steuerung aus dem die GOTO-Anweisung enthaltenden Block herausgeht.
129
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0917I H n VARIABLES IN PROGRAM. GLOBAL QPTIMIZATION RESTRICTED .
IOC0917I W n VARIABLES IN PROGRAM. GLOBAL OPTIMIZATION PERFORMED FOR 255 VARIABLES. LOCAL
OPTIMIZATION PERFORMED ON REMAINDER.
Das Programm enthält n Variablen. Die globale Optimierung wird für 255 Variablen
durchgeführt. Die lokale Optimierung wird für die restlichen durchgeführt.
IOC0918I H n FLOH UNITS IN DO GROUP. GLOBAL OPTIMIZATION RESTRICTED.
IOC0928I W DO GROUP CONTAINS n FLOH UNITS. GLOBAL OPTIMIZATION IS RESTRICTED.
Die
DO-Gruppe enthält
n
FLOW-Einheiten.
Die globale
Optimierung
eingeschränkt.
ist
IOC0919I E LESS THAN n CHARACTERS OF t IN d HILL APPEAR IN DATA-DIRECTED OUTPUT,
IOC0919I E QUALIFIED REFERENCE TO ELEMENT t OF STRUCTURE d HILL BE TRUNCATED TO LESS THAN
n CHARACTERS IN DATA-DIRECTED OUTPUT.
Die mehrstufige Bezugnahme auf das Element t der Struktur d wurde in der DATAgesteuerten Ausgabe auf weniger als n Zeichen verkürzt.
IOC0921I E 'BASED1 d IS INVALID IN DATA LIST FOR DATA-DIRECTED I/O OR »CHECK1.
I0C0921I E IMPLEMENTATION RESTRICTION. TYPE OF BASED 1 VARIABLE d IN DATA LIST NOT
SUPPORTED FOR DATA-DIRECTED I/O OR •CHECK , ITEM IGNORED.
Implementierungsbedingte Einschränkung, d ist eine BASED-Bezugnähme. Sie wird in
der Datenliste für DATA-gesteuerte E/A oder 'CHECK1 nicht unterstützt. Das Listenelement wurde ignoriert.
IOC0922I E 'DEFINED' d IS INVALID IN DATA LIST FOR DATA-DIRECTED I/O OR 'CHECK1.
IOC0922I E IMPLEMENTATION RESTRICTION. TYPE OF DEFINED
VARIABLE d IN DATA LIST NOT
SUPPORTED FOR DATA-DIRECTED I/O OR "CHECK1. ITEM IGNORED.
Implementierungsbedingte Einschränkung, d ist eine DEFINED-Bezugnähme.
Sie wird
in der Datenliste für DATA-gesteuerte E/A oder 'CHECK1 nicht unterstützt. Das
Listenelement wurde ignoriert.
IOC0923I H GLOBAL OPTIMIZATION RESTRICTED.
IOC0923I H FLOH HITHIN BLOCK OR DO GROUP IS TÖO COMPLEX. GLOBAL OPTIMIZATION IS
RESTRICTED.
Der Programmablauf innerhalb des Blockes oder der DO-Gruppe ist zu komplex. Die
globale Optimierung ist eingeschränkt.
IOC092« S 'SIZE' RAISED HHEN CONVERTING CONSTANT TO d.
IOC0924I S SIZE CONDITION RAISED HHEN CONVERTING CONSTANT TO d. RESULT OF CONVERSION
UNDEFINED.
Der Ausnahmezustand 'SIZE1 trat auf» als die Konstante auf die Attribute
umgewandelt wurde. Das Ergebnis der Umwandlung ist Undefiniert.
von d
IOC0925I S 'CONVERSION1 RAISED HHEN CONVERTING CONSTANT TO d.
IOC0925I S CONVERSION CONDITION RAISED HHEN CONVERTING CONSTANT TO d RESULT OF CONVERSION
UNDEFINED.
Der Ausnahmezustand 'CONVERSION1 trat auf» als die Konstante auf die Attribute
von d umgewandelt wurde. Das Ergebnis der Umwandlung ist Undefiniert.
IOC0928I E PART OF STATIC STORAGE EXCEEDS 64K BYTES.
IOC0928I E IMPLEMENTATION RESTRICTION. PART OF STATIC STORAGE EXCEEDS 64K BYTES.
Implementierungsbedingte Einschränkung. Ein bestimmter Teil des statischen Speichers übersteigt 6<+K Bytes.
IOC0929I E LENGTH OF 'DEFINED' d EXCEEDS LENGTH OF BASE.
IOC0929I E LENGTH OF VARIABLE d EXCEEDS LENGTH OF VARIABLE ON WH ICH IT IS DEFINED. THIS
DEFINING HAS BEEN ACCEPTED.
Die Länge der DEFINED-Variablen d übersteigt die Länge der Basis. Dieses Definieren wurde akzeptiert.
IOC0930I S AGGREGATE DESCRIPTOR FOR d TOO LARGE.
IOC0930I S IMPLEMENTATION RESTRICTION. AGGREGATE DESCRIPTOR FOR d TOO LARGE. RESULTS OF
EXECUTION UNDEFINED.
Implementierungsbedingte Einschränkung. Der Gruppierungsbeschreiber für d ist zu
groß. Die Ergebnisse der Ausführung sind Undefiniert.
IOC0931I H 'BASED1 d IS INVALID FOR DATA-DIRECTED I/O OR '.CHECK1.
IOC0931I H IMPLEMENTATION RESTRICTION. 1TYPE OF BASED VARIABLE d NOT SUPPORTED FOR
DATA-DIRECTED I/O OR «CHECK . ITEM IGNORED.
Implementierungsbedingte Einschränkung. Der Typ der BASED-Variablen d wird für
DATA-gesteuerte E/A oder 'CHECK* nicht unterstützt. Das Element wurde ignoriert.
IOC0932I H 'DEFINED' d IS INVALID FOR DATA-DIRECTED I/O OR 'CHECK1.
IOC0932I H IMPLEMENTATION RESTRICTION. 1TYPE OF DEFINED VARIABLE d NOT SUPPORTED FOR
DATA-DIRECTED I/O OR 'CHECK . ITEM IGNORED.
Implementierungsbedingte Einschränkung* Der Typ der DEFINED-Variablen d wird für
DATA-gesteuerte E/A oder 'CHECK' nicht unterstützt. Das Element wurde ignoriert.
IOC0938I H t MAY INCREASE EXECUTION TIME.
IOC0958I H t CONFLICTS HITH THE OPTIMIZE OPTION. EXECUTION
TIME MAY BE INCREASED.
t widerspricht der Auswahlbedingung 'OPTIMIZE1. Die Ausführungszeit kann dadurch
höher sein.
120
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOC0958I W GENERATED EXTERNAL NAHES MAY BE AMBIGUOUS.
IOC0958I W COMPILER GENERATED EXTERNAL NAHES MAY BE AMBIGUOUS IF THE PROGRAM IS
LINK-EDITED WITH A PROCEDURE OF SIMILAR NAME.
Die vom Compiler erzeugten externen Namen können mehrdeutig sein» wenn das Programm mit einer Prozedur ähnlichen Namens verbunden wird.
IOC0959I E EXTERNAL NAME d EXCEEDS n CHARACTERS.
IOC0959I E IMPLEMENTATION RESTRIKTION. EXTERNAL NAME d TOO LONG. NAME SHORTENED TO n
CHARACTERS.
Implementierungsbedingte Einschränkung* Der externe Name d ist zu lang» der Name
wurde auf n Zeichen gekürzt.
IOC0960I W d TRUNCATED TO n CHARACTERS.
IOC0960I W IMPLEMENTATION RESTRIKTION, EXTERNAL ENTRY NAME d WITH INTERLANGUAGE OPTION IS
TOO LONG. NAME TRUNCATED TO FIRST n CHARACTERS.
Implementierungsbedingte Einschränkung• Der EXTERNAL ENTRY-Name d» der mit einer
Sprachenanpassungsoption vereinbart ist» ist zu lang. Der Name wurde auf die ersten n Zeichen verkürzt.
I0C0961I S STATEMENT TOO LONG.
IOC0961I S IMPLEMENTATION RESTRICTION. STATEMENT TOO LONG. RESULTS OF EXECUTION UNDEFINED.
Implementierungsbedingte Einschränkung. Die Anweisung ist zu lang. Die Ergebnisse
der Ausführung sind Undefiniert.
IOC0970I U ERROR NUMBER n IN COMPILER PHASE P. CORRECT SOURCE AND
IOC0970I U ERROR NUMBER n IN COMPILER PHASE P. COMPILER UNABLE TO
SOURCE ERRORS MAY LEAD TO SUCCESSFUL COMPILATION.
Fehler Nummer n in der Compiler-Phase P. Der Compiler
zung fortzusetzen. Nach einer Korrektur der Fehler im
zung zu wiederholen.
RE-COMPILE.
PROCEED. CORRECTION OF
ist unfähig» die ÜbersetQuelltext ist die Überset-
121
PL1-0C Benutzungshinweise
Anhang 5
Nachrichten des PL1-Optimierungscompilers
10/89
D0S-4/ES
(Ausführung)
IOT001I PROGRAM TERMINATED» SYSTEM CODE=sss/USER C0DE=nnnn.
Programmabbruch» Systembeendigungscode=sss> Benutzerbeendigungscode-nnnn.
I0T002I TASK name TERMIHATED,
SYSTEM CODE=sss/USER C0DE=nnnn.
Aufgabe "name11 wurde abgebrochen »
Systembeendigungscode=sss» Benutzerbeendigungscpde=nnnn.
IOT011I INTERRUPT DURING PL1 PROGRAM MANAGEMENT LIBRARY ROUTINES» PROGRAM TERMINATED.
Unterbrechung in einer PL1-Programmverwaltungsroutine» Programmabbruch.
IOT012I A PL1 TASK HAS TERMINATED ABNORMALLY. SYSTEM C0DE=sss/ USER CODE=nnnn. PROGRAM
TERMINATED.
Eine PL1-Aufgabe wurde anormal beendet. Systembeendigungscode=ss3> Benutzerbeendigung scode=nnnn> Programmabbruch.
I0T015I NO MAIN STORAGE AVAILABLE.
Kein Hauptspeicherplatz verfügbar.
I0T016I PROGRAM TERMINATED. ISASIZE TOO SMALL.
Programmabbruch. Anfangsspeicherbereich (ISA) zu klein.
IOT030I NUMBER OF FILES AND CONTROLLED VARIABLES EXCEEDS LIMIT.
Zu viele Dateien» CONTROLLED-Variablen und geladene Prozeduren.
IOT031I MAIN PROCEDURE MISSING. PROGRAM NOT EXECUTABLE.
Zum Programm existiert keine Hauptprozedur. Programm nicht ausführbar.
IOT050I INVALID COUNT OR FLOW OPTION PARAMETER. OPTION IGNORED.
Ungültige Auswahlbedingung COUNT oder FLOW. Auswahlbedingung wurde ignoriert.
IOT060I VALUE OF PLIXOPT IS NOT A SEQUENCE pF VALID OPTIONS.
Der Wert von PLIXOPT enthält ungültige Auswahlbedingungen.
IOT061I INVALID OPTION IN PLIXOPT HAS BEEN IGNORED.
Ungültige Auswahlbedingungen in PLIXOPT wurde ignoriert.
IOT100I GOTO STATEMENT REFERENCES A LABEL IN AN INACTIVE BLOCK.
GOTO-AnWeisung nimmt Bezug auf Marke in einem inaktiven Block.
I0T110I MULTIPLE WAIT NOT SUPPORTED.
Eine WAIT-Anweisung für mehrfaches Warten ist nicht unterstützt.
I0T111I PROGRAM TERMINATED. WAIT STATEMENT FOR AN INACTIVE EVENT.
Programmabbruch. WAIT-Anweisung für ein inaktives Ereignis.
IOT120I ASSIGNMENT TO UNALLOCATED CONTROLLED VARIABLE 0N INPUT FOR FILE name.
Die Eingabeanweisung für die Datei name enthält eine CONTROLLED-Variable»
noch keine Speicherplatz-Zuweisung über eine ALLOCATE-Anweisung erfolgte.
I0T121I ASSIGNMENT TO UNALLOCATED CONTROLLED VARIABLE IN 'GET STRING DATA1.
Die GET STRING DATA-Anweisung enthälteine CONTROLLED-Variable, für
Speicherplatz-Zuweisung über eine ALLOCÄTE-Anweisung erfolgte.
für die
die noch keine
IOT200I OPERATION EXCEPTION.
Programmausnahme OPERATION.
IOT201I PRIVILEGED OPERATION EXCEPTION.
Programmausnahme "Privilegierte Operation11.
IOT202I EXECUTE EXCEPTION.
Programmausnahme Befehlssubstitution.
IOT203I PROTECTION EXCEPTION.
Programmausnähme Speicherschutz.
IOT20« ADDRESSING EXCEPTION.
Programmausnahme Adressierung.
I0T2Q5I SPECIFICATION EXCEPTION.
Programmausnahme Spezifikation.
IOT206I DATA EXCEPTION.
Programmausnahme Datenfehler.
I0T210I LENGTH OF DATA AGGREGATE EXCEEDS 16**6 BYTES.
Länge der Datengruppierung größer als 16**6 Bytes.
I0T211I ABS(VIRTUAL ORIGIN OF ARRAY) GE
ABSCvirtuelle Basisadresse) des Feldes größer als
IOT212I COBOL/FORTRAN MAPPING OF AGGREGATE NOT POSSIBLE.
Datengruppierung kann nicht gemäß COBOL/FORTRAN-Konventionen verarbeitet werden.
122
PL1-0C Benutzungshinweise
10/89
DOS-4/ES
I0T213I NON-FORTRAN DATA TYPE EXPECTED TO BE RETURNED FROM FORTRAN FUNCTION.
Von der FORTRAN-Funktion wurde ein Wert gefordert> der keinem FORTRAN-Datentyp entspricht.
I0T21« ITERATION NESTING LEVEL IN ARRAY INITIAL ATTRIBUTE EXCEEDS 12.
Die Schachtelungstiefe im INITIAL-Attribut für das Feld übersteigt 12.
I0T23QI ZERODIVIDE ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
ZERODIVIDE-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T231I ZERODIVIDE ON-CONDITION RAISED.
ZERODIVIDE-Ausnahmezustand trat auf.
I0T232I FIXEDOVERFLOW ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
FIXEDOVERFLOW-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
IOT233I FIXEDOVERFLOW ON-CONDITION RAISED.
FIXEDOVERFLOW-Ausnahmezustand trat auf.
IOT23« SIZE ON-CONDITIÖN RAISED BY THE SIGNAL STATEMENT.
SIZE-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
IGT235I SIZE ON-CONDITION RAISED IN AN I/O STATEMENT.
SIZE-Ausnahmezustand trat bei E/A-Anweisung auf.
I0T236I SIZE ON-CONDITION RAISED.
SIZE-Ausnahmezustand trat auf.
IOT237I OVERFLOW ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
OVERFLOW-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
IOT238I OVERFLOW ON-CONDITION RAISED.
OVERFLOW-Ausnahmezustand trat auf.
IOT239I ÜNDERFLOW ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
ÜNDERFLOW-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
IOT240I ÜNDERFLOW ON-CONDITION RAISED.
ÜNDERFLOW-Ausnahmezustand trat auf.
I0T241I STRINGSIZE ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
STRINGSIZE-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
IOT242I STRINGSIZE ON-CONDITION RAISED.
STRINGSIZE-Ausnahmezustand trat auf.
I0T243I STRINGRANGE ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
STRINGRANGE-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T244I STRINGRANGE ON-CONDITION RAISED.
STRINGRANGE-Ausnahmezustand trat auf.
IOT250I INTERRUPT IN SORT/MERGE PROGRAM.
Unterbrechung im Sortierprogramm.
I0T261I POSSIBLE FAILING OF COBOL SUBROUTINE AFTER GOTO OUT OF ON-UNIT.
Möglicher Fehler bei weiterer Verwendung der COBOL-Subroutine nach
Einheit durch GOTO-Anweisung.
Beenden der ON-
I0T270I TASK TERMINATED DUE TO TERMINATION OF SUPERORDINATED BLOCK.
Unteraufgabe wurde beendet aufgrund der Beendigung eines übergeordneten Blocks.
I0T271I STATEMENT DUE TO TERMINATION OF LOWER TASKS.
Die Anweisung führt zur Beendigung einer untergeordneten Task.
I0T280I UNDEFINED ACTION AFTER NORMAL RETURN FROM I/O ON-UNIT CLOSING FILE.
Unbestimmte Aktion nach normaler Beendigung der E/A-ON-Einheit> in der
abgeschlossen wurde.
die Datei
IOT282I 'PLIRETC1 VALUE GREATER THAN 999.
PLIRETC-Wert größer als 999.
IOT290I UNABLE TO FIND PROCEDURE WITH ENTRY name.
Prozedur mit Eingangspunkt name nicht gefunden.
IOT291I PERMANENT I/O ERROR WHILE FETCHING PROCEDURE WITH EWTRY name.
Permanenter E/A-Fehler beim Laden der Prozedur mit dem Eingangspunkt "name11.
I0T300I x L E O IN SQRTCX).
x kleiner als oder gleich 0 in SQRTCX).
IOT301I x LE 0 IN LOGCX),LOG2CX)>LOG10CX).
x kleiner als oder gleich 0 in LOGCX), L0G2CX), LOGlO(x).
I0T302I ABS(X) TOO LARGE IN SINCX),COSCX)>TANCX),SINDCX)>COSDCX)> OR TANDCX).
ABS(X) zu groß in SINCX), COSCX), TANCX), SINDCX), COSD(X) oder TANDCX).
123
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOT303I X=Y=O IN ATANCY,X) OR ATANDCY,X).
X=Y=O in ATANCY,X) oder ATANDCY,X).
I0T304I ABS(X) GT 1 IN ATANHCX).
ABS(X) größer als 1 in ATANHCX}.
I0T305I ABS(X) GT 1 IN ASINCX) OR ACOS(X).
ABS(X) größer als 1 in ASINCX) oder ACOSCX).
ICfT306I X=0, Y NOT POSITIVE REAL IN X**Y.
X=0, Y nicht positiv reell in X**Y.
I0T307I Z=+I OR -I IN ATANCZ) OR Z=+l OR -I IN ATANHCZ).
Z=+I oder -I in ATANCZ) oder Z=+l oder -1 in ATANHCZ) CfUr Z mit Attribut COHPLEX).
I0T310I INCORRECT SPECIFICATION IN FORMAT ITEM ECW,D,S).
Spezifikationsfehler im Formatelement ECw,d,s)<
I0T311I w TOO SMALL IN FORMAT ITEM FCW,D,P).
w zu klein im Formatelement FCw,d,p).
I0T312I INVALID VALUE TO BE ASSIGNED TO CHARACTER-5TRING PICTURE.
Ungültiger Wert soll einer Zeichenketten-PICTURE-Variablen zugewiesen werden.
I0T320I LEVEL OF FORMAT LIST NESTING AND/OR R-FORMAT NESTING EXCEEDS MAXIMUM,
Die gemeinsame Schachtelungstiefe von Formatlisten und R-Formatelernenten übersteigt
das Maximum.
I0T321I NO REFEfcENCE TO R-FORMAT STATEMENT LABEL IN R-FORMAT ITEM.
Der Wert der LABEL-Variablen im R-Formatelernent ist nicht die LABEL-Konstante einer
FORMAT-Anweisung.
IOT322I CORRESPONDING R-FORMAT STATEMENT NOT IN CURRENT BLOCK.
Entsprechende FORMAT-Abweisung nicht im aktuellen Block.
I0T323I INVALID R-F9RMAT ITEM IN FORMAT LIST.
Die Formatliste enthält ein ungültiges R-Formatelernent.
IOT340I INVALID SOURCE CHARACTER WAS NOT REPLACED IN CONVERSION ON-UNIT.
Ungültiges Zeichen wurde in CONVERSION-ON-Einheit nicht ersetzt. Keine Wiederholung
der Datenumwandlung.
I0T400I NO OUTPUT AFTER TRANSMISSION ERROR FOR FILE name.
Keine Ausgabe nach Übertragungsfehler für die Datei "name".
I0T40II PAGE OR LINE OPTION ILLEGALLY USED FOR NON-PRINT FILE name.
Optionen PAGE oder LINE nur für PRINT-FILE-Konstante und nicht für die FILE-Konstante "name" zugelassen.
I0T402I NO PRECEDING 'READ SET1 OR 'READ INTO1 FOR *REWRITE1 OR 'DELETE1 ON FILE name.
Kein READ SET oder READ INTO vor REWRITE oder DELETE für die FILE-Konstante "name".
IOT403I INVALID I/O OPERATION FOR FILE name.
Ungültige E/A-Operation für die FILE-Konstante "name".
I0T40« UNDEFINED I/O ERROR.
Undefinierter E/A-Fehler.
IOT405I 'READ1 INCOMPLETE BUT 'REWRITE1 OR 'DELETE1 ATTEMPTED FOR FILE name.
REWRITE oder DELETE, bevor READ für die FILE-Konstante "name" vollständig beendet
wurde.
I0T406I NCP VALUE REACHED. FURTHER I/O OPERATIONS CANNOT BE COMPLETED FOR FILE name.
NCP-Wert erreicht, weitere E/A-Operationen können für die FILE-Konstante
nicht abgeschlossen werden.
"name"
IOT407I ERROR ON IMPLICIT OPEN FOR FILE name.
Fehler beim impliziten Eröffnen der FILE-Konstante "name11.
I0T408I END OF FILE/STRING ENCOUNTERED BEFORE END OF DATA LIST.
Das Ende der Datei wurde vor dem Ende der Datenliste erreicht*
IOT409I ATTEMPT TO CLOSE FILE IN THE WRONG TASK FOR FILE name.
Es wurde versucht, die FJLE-Konstante "name" nicht in der Aufgabe abzuschliessen, in
der sie eröffnet wurde.
IOT410I I/O ATTEMPTED BUT PREVIOUS READ NOT COMPLETED FOR FILE name.
E/A wurde versucht» aber das vorhergehende READ für die FILE-Konstante "naTne" wurde
nicht beendet.
I0T41II ATTEMPT TO ACCESS RECORD LQCKED BY ANOTHER FILE IN THIS TASK FOR FILE name.
Es wurde versucht, auf einen Satz zuzugreifen, der für eine andere FILE-Konstante
"name" in dieser Aufgabe reserviert ist.
IOT412I NO SPACE AVAILABLE TO WRITE RECORD IN DATA SET ASSOCIATED WITH FILE name.
Kein Speicherplatz verfügbar, um den Satz in die Datei zu schreiben, die
FILE-Konstanten "name" verbunden ist»
mit der
PL1-0C Benutzung«hinweise
10/89
I0T414I SEQUENCE OF I/O OPERATIONS INCORRECT FOR FILE name.
Falsche Reihenfolge
der E/A-Operationen zur Verarbeitung
Konstante "name11.
D0S-4/ES
von Sätzen für
die FILE-
I0T419I INVALID ATTEMPT TO REPOSITION FOR SUBSEQUENT SEQUENTIAL READING.
Ungültiger Versuch der Positionierung für nachfolgendes sequentielles Lesen.
I0T420I 'REWRITE1 NOT PRECEDED BY 'READ SET1 OR »READ IKTO' FOR FILE name.
Vor REWRITE kein READ SET oder READ INTO für die FILE-Konstante "name11.
I0T422I LAST 'READ1 PRECEDING THIS 'REWRITE1 IS INCÖMPLETE FOR FILE name.
Die letzte READ-Anweisung vor der jetzt gegebenen REWRITE-Anweisung für die angegebene Datei wurde nicht vollständig ausgeführt.
I0T425I GET/PUT STRING STATEMENT REQUESTS DATA BEYOND STRING SIZE.
Die GET/PUT STRING-Anweisung nimmt Bezug auf Daten außerhalb der Kette.
I0T426I LENGTH OF STRING TO BE DISPLAYED OR REPLIED IS ZERO.
Die Kettenlänge für eine durch die DISPLAY-Anweisung auszugebende oder von
empfangene Kette ist gleich Null.
,
ihr zu
I0T427I INVALID name IN STRING VALUE USED FOR GET STRING DATA STATEMENT.
Ungültiger name für Kettenvariable in STRING-Option der GET STRING DATA-AnWeisung.
I0T428I INVALID CONTROL FORMAT ITEM IN GET/PUT STTRING STATEMENT.
Ungültiges Steuerformatelement in der GET/PUT STRING-Anweisung*
I0T429I EVENT VARIABLE CANNOT BE REUSED AS LONG AS INCÖMPLETE (RECORD I/O) FOR FILE name.
Die EVENT-Variable kann nicht erneut verwendet werden» solange das Ereignis (satzweise E/A) für die FILE-Konstante "name" nicht beendet ist.
IOT«0I EVENT VARIABLE CANNOT BE REUSED AS LONG AS INCOMPLETE («DISPLAY1).
Die EVENT-Variable kann nicht erneut verwendet werden» solange
(DISPLAY) nicht beendet ist.
das
Ereignis
IOT«1I EVENT VARIABLE CANNOT BE REUSED AS LONG AS INCOfIPLETE, USED WITH ENTRY name.
Die EVENT-Variable, die mit der ENTRY-Konstanten name verbunden ist» kann nicht erneut verwendet werden» solange das Ereignis nicht beendet ist.
I0T«2I ERROR ON IMPLICIT 'CLOSE1.
Fehler bei der Ausführung einer impliziten CLOSE-Anweisung.
IOT500I CONVERSION ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
CONVERSION-Ausnahmezustand durch SIGNAL-AnWeisung erzwungen.
I0T501I INVALID CHARACTER FOR F-FORMAT ITEM IN 'GET STRING1 OR 'GET
FILE1.
11
Ungültiges Zeichen
für
das
F-Formatelement
bei
"GET
STRING
oder "GET FILE11
("CONVERSION11).
I0T502I INVALID CHARACTER FOR F-FORMAT ITEM IN 'GET FILE1.
Ungültiges Zeichen für das F*-Formatelernent bei "GET FILE" ("CONVERSION").
I0T503I INVALID CHARACTER FOR E-FORMAT ITEM IN 'GET STRING1 OR 'GET FILE1.
Ungültiges Zeichen
für das E-Formatelement bei "GET STRING" oder "GET FILE"
("CONVERSION11).
I0T50M INVALID CHARACTER FOR E-FORMAT ITEM IN 'GET FILE1.
Ungültiges Zeichen für das E-Formatelement bei "GET
TRANSMIT ("CONVERSION").
FILE" nach dem
Auftreten von
I0T505I INVALID CHARACTER FOR B-FÖRMAT ITEM IN 'GET STRING1 OR 'GET FILE1.
Ungültiges Zeichen
für das B-Formatelement bei "GET STRING" oder "GET FILE"
("CONVERSION11).
I0T506I INVALID CHARACTER FOR B-FORMAT ITEM IN 'GET FILE1.
Ungültiges Zeichen für das B-Formatelement bei "GET
TRANSMIT ("CONVERSION").
FILE" nach dem
Auftreten von
I0T507I INVALID CHARACTER FROM CHARACTER STRING TO ARITHMETIC CONVERSION.
Ungültiges Zeichen bei der Umwandlung vom Zeichenkettentyp in den arithmetischen Typ
("CONVERSION").
IOT508I INVALID CHARACTER TO ARITHMETIC CONVERSION IN 'GET FILE1 OR '"PUT FILE".
Ungültiges Zeichen bei der Umwandlung in den arithmetischen Typ bei "GET/PUT FILE"
("CONVERSION").
I0T509I INVALID CHARACTER TO ARITHMETIC CONVERSION IN »GET FILE1.
Ungültiges Zeichen bei der Umwandlung in den arithmetischen Typ bei "GET FILE" nach
dem Auftreten von "TRANSMIT" ("CONVERSION").
IOT510I INVALID CHARACTER FROM CHARACTER STRING TO BIT STRING CONVERSION.
Ungültiges Zeichen bei der Umwandlung vom Zeichenkettentyp in den
("CONVERSION").
Bitkettentyp
I0T511I INVALID CHARACTER TO BIT STRING CONVERSION IN 'GET
GET FILE 1 OR 'PUT
PUT FILE
F I L E1.
Ungültiges Zeichen bei d
der Umwandlung in den Bitkettentyp bei "GET FILE"
("CONVERSION").
"PUT FILE" ("CONVERSION")
oder
125
PL1-0C Benutzungshinweise
10/89
I0T512I INVALID CHARACTER TO BIT STRING CONVERSION IN 'GET FILE 1 .
Ungültiges Zeichen bei 11 der Umwandlung11 in den Bitkettentyp bei "GET FILE"
Auftreten von "TRANSMIT
("CONVERSION ).
DOS-4/ES
nach dem
I0T513I INVALID CHARACTER FOR CONVERSION TO PICTURE CHARACTER STRING.
Ungültiges Zeichen bei Umwandlung in den PICTURE-Zeichenkettentyp ("CONVERSION").
I0T5I« INVALID CHARACTER TO PICTURE CONVERSION IN 'GET FILE1 OR 'PITT FILE1.
Ungültiges Zeichen bei der Umwandlung in den PICTURE-Zeichenkettentyp bei "GET FILE"
oder "PUT FILE" ("CONVERSION").
I0T515I INVALID CHARACTER TO PICTURE COMVERSION IN 'GET FILE1.
Ungültiges Zeichen bei der Umwandlung in den PICTURE-Zeichenkettentyp bei "GET FILE"
nach dem Auftreten von TRANSMIT ("CONVERSION").
I0T516I INVALID CHARACTER IN DECIMAL P-FORMAT ITEM IN ,'GET STRING1.
Ungültiges Zeichen in Daten für P-Formatelernent (Dezimal) bei "GET STRING"
("CONVERSION").
I0T517I INVALID CHARACTER IN DECIMAL P-FORMAT ITEM IN "GET STRING1.
Ungültiges Zeichen in Daten für P-Formatelement (Dezimal) bei "GET STRING" nach dem
Auftreten von TRANSMIT ("CONVERSION").
I0T518I INVALID CHARACTER IN CHARACTER P-FORMAT ITEM FOR GET FILE STATEMENT
Ungültiges Zeichen in Daten für P-Formatelement (Zeichenkette) bei "GET FILE"
("CONVERSION").
I0T519I INVALID CHARACTER IN CHARACTER P-FORMAT ITEM FOR GET FILE STATEMENT.
Ungültiges Zeichen in Daten für P-Formatelement (Zeichenkette) bei "GET FILE" nach
dem Auftreten von TRANSMIT ("CONVERSION").
I0T540I UNDEFINED SOURCE ATTRIBUTES.
Undefinierte Quellattribute bei "GET STRING LIST/DATA" ("CONVERSION").
I0T541I UNDEFINED SOURCE ATTRIBUTES ON INPUT.
Undefinierte Quellattribute bei "GET FILE LIST/DATA" ("CONVERSION").
I0T542I UNDEFINED SOURCE ATTRIBUTES ON INPUT AFTER TRANSMIT ON-CONDITION.
Undefinierte Quellattribute bei "GET FILE LIST/DATA" nach Auftreten von "TRANSMIT".
IOT600I SUBSCRIPTRANGE ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
SUBSCRIPTRANGE-Ausnahmezustand durch SIGNAL-AnWeisung erzwungen.
IOT601I SUBSRIPTRANGE ON-CONDITION RAISED.
SUBSCRIPTRANGE-Ausnahmezustand trat auf.
I0T610I AREA ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
AREA-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T611I AREA VARIABLE TO SMALL, ASSIGNMENT NOT EXECUTED.
AREA-Variable zu klein, Zuweisung wurde nicht ausgeführt ("AREA").
I0T612I INSUFFICIENT STORAGE IN THE AREA FOR ALLOCATION.
Zu wenig freier Platz in der AREA-Variablen ("AREA").
I0T620I CONDITION ON-CONDITION RAISED BY THE SIGNAL STATEMENT, CONDITION(name) SIGNALLED.
CONDITION(name)-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T621I KEY ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
KEY-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
IOT630I KEYED RECORD NOT FOUND.
Satz mit diesem Schlüssel nicht gefunden ("KEY").
I0T631I ATTEMPT TO ADD DUPLICATE KEY.
Es wurde versucht» einen Satz mit bereits vorhandenem Schlüssel einzufügen ("KEY").
IOT632I KEY SEQUENCE ERROR.
Fehler in der Schlüsselfolge ("KEY").
I0T633I KEY CONVERSION ERROR.
Umwandlungsfehler für Schlüssel ("KEY").
I0T634I KEY SPECIFICATION ERROR.
Schlüsselangabe fehlerhaft ("KEY").
IOT635I KEY SPECIFIES POSITION OUTSIDE THE DATA SET LIMITS.
Angegebener Schlüssel bezieht sich auf eine Position außerhalb der Datengrenzen
("KEY").
I0T636I INSUFFICIENT DASD SPACE TO ADD KEYED RECORD.
Kein Speicherplatz für das Hinzufügen dieses Satzes ("KEY").
IOT637I KEY OF RECORD TO BE OUTSIDE OF THE RANGE(S) SPECIFIED FOR THE DATA SET.
Der angegebene Schlüsselwert liegt außerhalb des Schlüsselbereichs für die Datei.
126
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
I0T640I RECORD ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
RECORD-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T641I RECORD VARIABLE SMALLER THAN RECORD SIZE.
Länge der Satzvariablen kleiner als Satzlänge ("RECORD").
IOT642I RECORD VARIABLE LARGER THAN RECORD SIZE.
Länge der Satzvariablen größer als Satzlänge ("RECORD11).
I0T643I RECORD VARIABLE IN WRITE OR LOCATE STATEMENT HAS ZERO LENGTH.
Satz der Länge Null in WRITE- oder LOCATE-Anweisung ("RECORD11).
I0T644I ZERO LENGTH RECORD HAS BEEN READ FROM REGIONAL DATA SET.
Satz der Länge Null wurde von der REGIONAL-Datei gelesen ("RECORD").
I0T645I RECORD VARIABLE TOO SHORT TO CONTAIN EMBEDDED KEY.
Satzvariable zu klein» um den eingefügten Schlüssel zu enthalten ("RECORD11).
IOT700I UNDEFINEDFILE ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
UNDEFINEDFILE-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T701I CONFLICTING FILE ATTRIBUTES IN DECLARE AND OPEN STATEMENT.
Widerspruch zwischen
Dateiattributen in DECLARE- und OPEN-Anweisung
("UNDEFINEDFILE11).
I0T702I CONFLICT BETWEEN FILE ATTRIBUTES AND DEVICE TYPE.
Widerspruch zwischen Dateiattributen und Gerätetyp ("UNDEFINEDFILE").
IOT703I BLOCKSIZE OR RECORD FORMAT NOT SPECIFIED.
Blocklänge nicht angegeben ("UNDEFINEDFILE").
IOT705I I/O ERROR ON OPEN OF DIRECT OUTPUT REGIONAL DATA SET.
E/A-Fehler beim Eröffnen der REGIONAL DIRECT OUTPUT-Datei hat fehlerhaftes Formatieren zur Folge ("UNDEFINEDFILE").
IOT706I VALUE OF LINESIZE OR PAGESIZE OPTION GREATER THAN ALLOWED MAXIMUM.
Der Wert in der LINESIZE- oder PAGESIZE-Option ist größer als das implementierungsbedingte Maximum.
I0T707I INCORRECT BLOCKSIZE AND/OR LOGICAL RECORD SIZE.
Fehlerhafte Blocklänge und/oder Satzlänge.
IOT709I PASSWORD INVALID OR NOT SPECIFIED.
Fehlerhaftes oder fehlendes Kennwort (Password).
I0T712I CONFLICT BETWEEN ATTRIBUTES AND PHYSICAL ORGANIZATION OF DATA SET.
Widerspruch zwischen Attributen und Dateiorganisation.
IOT713I KEY LENGTH NOT SPECIFIED.
Schlüssellänge nicht angegeben.
IOT715I INVALID KEYLOC VALUE.
Ungültiger KEYLOC-Wert.
IOT716I RECORD FORMAT INCOMPAT3BLE WITH FILE ORGANIZATION.
Satzformat nicht mit Dateiorganisation verträglich.
I0T718I CONFLICTING ENVIRONMENT OPTION VALUE AND DATA SET VALUE.
Widerspruch in KEYLOC-, KEYLENGTH- und/oder RECSIZE-Werten zwischen
Option und Definition der Datei.
ENVIRONMENT-
I0T720I ERROR ON OPEN FILE name.
Fehler beim Eröffnen der FILE-Konstanten "name".
I0T722I RECORD FORMAT NOT SPECIFIED
Satzformat für RECORD FILE-Konstante nicht angegeben.
IOT723I INVALID KEYLENGTH OPTION, KEYLENGTH IS GREATER THAN 255 OR NEGATIVE.
Ungültige KEYLENGTH-Option, SchlüsseHänge größer als 255 oder negativ.
IOT72« INVALID OR CONFLICTING ENVIRONMENT OPTIONS.
Ungültige oder sich widersprechende ENVIRONMENT-Optionen.
IOT726I 'NCP' OR "STRNO1 VALUE GREATER THAN 1.
NCP- oder STRNO-Wert größer als 1.
I0T740I 'CLOSE1 FAILED AFTER LAST 'OPEN1 FOR DATA SET.
Nach der letzten OPEN-Anweisung für die Datei fehlte die CLOSE-Anweisung.
IOT750I INVALID STACKER OPTION.
Ungültiger STACK-Parameter.
IOT760I ENDFILE ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
ENDFILE-Ausnahmezustand durch SIGNAL-Anweisung erzwungen.
I0T761I ENDFILE ON-CONDITION RAISED.
ENDFILE-Ausnahmezustand trat auf.
127
PL1-0C Benutzungshinweise
10/89
D0S-4/ES
IOT762I ATTEMPT TO READ BEYOND THE END OF FILE.
Es wurde versucht» nach Dateiende zu lesen.
IOT770I TRANSMIT ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
TRANSMIT-Ausnahmezustand durch SIGNAL-AnWeisung erzwungen.
I0T771I UNCORRECTABLE ERROR WHILE TRANSMITTING OUTPUT DATA.
Nicht-korrigierbarer Fehler bei der Übertragung von Ausgabedaten.
I0T772I UNCORRECTABLE ERROR WHILE TRANSMITTING INPUT DATA.
Nicht-korrigierbarer Fehler bei der Übertragung von Eingabedaten.
IOT777I TRANSMIT ON-CONDITION RAISED. DATA CANNOT BE READ.
TRANSMIT-Ausnamhezustand trat auf. Daten können nicht gelesen werden.
I0T778I name ON-CONDITION RAISED BY THE SIGNAL STATEMENT.
"name"-Ausnahmezustand durch SIGNAL-AnWeisung erzwungen.
1
I0T779I INVALID ITEM IN STREAM OR INCORRECT DATA LIST FOR 'GET FILE DATA
.
Ungültige Daten oder Fehlerhafte Datenliste für "GET FILE DATA11.
IOT800I TASK VARIABLE ALREADY ASSOCIATED WITH ACTIVE TASK W Ulf ENTRY name.
TASK-Variable bereits mit aktiver Aufgabe mit dem Eingangspunkt "name11 verbunden.
IOT801I EVENT VARIABLE SPECIFIED ALREADY ASSOCIATED WITH FILE name.
In COMPLETION-Pseudovariable
angegebene EVENT-Variable bereits mit FILE-Konstante
"name11 verbunden.
IOT802I ASSIGNMENT TO AN EVENT VARIABLE THAT IS ALREADY ACTIVE.
Versuch der Zuordnung zu einer EVENT-Variablen, die bereits aktiv ist.
I0T803I EVENT VARIABLE ALREADY ASSOCIATED WITH I/O OPERATION FOR FILE name.
EVENT-Variable bereits mit E/A-Operation für FILE-Konstante "name11 verbunden.
I0T804I INSUFFICIENTT MAIN STORAGE AVAILABLE FOR SUBTASK.
Nicht genügend Hauptspeicherplatz für Unteraufgabe verfügbar.
I0T805I NUMBER OF ACTIVE TASKS EXCEEDS MAXIMUM, TASK NOT CREATED.
Anzahl der aktiven Aufgaben erreichte das Maximum, eine weitere Aufgabe wurde nicht
gebildet.
IOT806I 'WAIT1 IN ON-UNIT FOR EVEKT VARIABLE ALREADY ACTIVE IN TASK.
WAIT-Anweisung in ON-Einheit für eine EVENT-Variable, die bereits in dieser Aufgabe
im Zusammenhang mit einer E/A-Operation aktiv ist.
I0T807I CONFLICTING CALL STATEMENT WITH TASK OPTION AND 'PUT FILE (SYSPRBTT)1.
Widerspruch zwischen CALL-AnWeisung mit TASK-Option und "PUT FILE (SYSPRINT)"Anweisung.
I0T808I CALL STATEMENT WITH TASK OPTION SPECIFIES AN UNKNOWN ENTRY POINT.
CALL-Anweisung mit TASK-Option bezieht sich auf einen unbekannten Eingangspunkt.
I0T809I ATTEMPT TO CALL FORTRAN OR COBOL ROUTINES IN TWO TASKS SIMULTANEOUSLY.
Es wurde versucht, FORTRAN/COBOL-Routinen in zwei Aufgaben parallel zu verwenden.
I0T811I EVENT VARIABLE SPECIFIED ALREADY ASSOCIATED WITH A DISPLAY STATEMEOT.
In COMPLETION-Pseudovariable angegebene EVENT-Variable
ist bereits mit einer
DISPLAY-Anweisung verbunden.
I0T812I ASSIGNMENT TO EVENT VARIABLE ALREADY ASSOCIATED WITH A 'DISPLAY1.
Versuch der Zuordnung zu einer EVENT-Variablen, die bereits mit einer DISPLAY-Anweisung verbunden ist.
IOT813I EVENT VARIABLE ALREADY ASSOCIATED WITH A DISPLAY STATEMENT.
EVENT-Variable ist bereits mit einer DISPLAY-Aneisung verbunden.
IOT81M EVENT VARIABLE SPECIFIED ALREADY ASSOCIATED WITH ENTRY name.
In COMPLETION-Pseudovariable
angegebene EVENT-Variable bereits mit
"name1* verbunden.
Eingangspunkt
I0T815I ASSIGNMENT TO EVENT VARIABLE ALREADY ACTIVE AND USED WITH ENTRY name.
Zuordnung
zu einer EVENT-Variablen, die bereits aktiv ist und mit dem Eingangspunkt
11
name" verbunden ist.
I0T816I EVENT VARIABLE ALREADY ACTIVE AND USED WITH ENTRY name.
Ereignisvariable bereits aktiv und mit dem Eingangspunkt "name" verbunden*
I0T830I PROGRAM HAS BEEN TERMINATED BY AN ABEND» USER CODE=nnnn.
Programmabbruch durch ABEND, Benutzerbeendigungscode=nnnn.
I0T831I PROGRAM HAS BEEN TERMINATED BY AN ABEND, SYSTEM CGDE=sss
Programmabbruch durch ABEND, Systembbendigungscode=sss.
128
PL1-0C Benutzung sh in weise
10/89
D0S-4/ES
Sachwortverzeichnis
* PROCESS
6
) ADD
12
) DEL
12
) END
12
) EXC
12
) MIX
12
) REP
12
XINCLUDE-Anweisung
KNOTE
21
ZPAGE
21
XSKIP
6> 21
Informationen (I)
INCLUDE
9
INDE^ED
34
IOTGRTBB
27
IOTGTRAN
5
IS-Dateien
34
ISASIZE
17
Jobsteueranweisungen
AGGREGATE
7
AGGREGATE MAP
22
ALIGN
6
Anweisungsnummer im Druckerprotokoll
Argumente/Parameter
49
Assembler-Routinen
40
ATR
7
ATTRIBUTE TABLE
22
Auflistungen
21
Aufrufparameter von SORT
58
AusfUhrungshäufigkeit
8
BCD
7
Benutzerroutinen (SORT)
Bibliotheken
19
Block
25
Blockniveau
9
60
CALL PLIRETC-Anweisung
18
CALLING TRACE
64
CATAL
6, 14, 20
CATALCname)
7, 20
CATALR-Anweisung
7, 20
CATMOD
7, 19, 20
CKARSET
7
CLINE
7
COMPILE
8
COMPILER DIAGHOSTICS
24
COMPILER SOURCE LISTING
21
CONSECUTIVE
26
COKTROL
8
COUNT
8, 17
CROSS REFERENCE TABLE
22
CRRCT
6, 12
CSTMT
8
CTLMCC
27
CTLSTD
27
15
Katalog isieren
- von Objektmoduln
20
- von Phasen
20
- von Quellprogrammen
19
10
Langform/Kurzform der Nachrichten
9
L3BR
19» 20
LINE
9
LINECNT
9
LINK
6> 9
LIST
6, 9
Liste der
- Dateigruppierungen
22
- externen Symbole
22
- Hexadezimaladressen des Objektmoduls
~ Nachrichten des Compilers
24
- Nachrichten des
PL1-MakroInterpreters
21
- Nachweise der Symbole
22
- Objektmoduls
23
- Optionen
21
21
- PL1-Makrointerpreter-Eingabe
- PL1-Quelltexteingabe
21
- Speicherplatz-Anforderungen
22
- STATIC IHTERNAL-Variablen
23
- Symbole
22
- Variablen des PL1-Programms
23
LISTTX
6
LMESSAGF
9
LNKEDT
14* 19, 20
LOG
6
23
MACDCK
9
MACRO
9
MACROINTERPRETER XNPUT
21
MAP
9
MARGINI
9
MIF-Anweisung
18
Moduln der PL1-Bibliothek
66
D (Satzformat)
25
Dateibeschreibung
25
Dateien
25
Dateikennsätze
25
Dateiorganisationsformen
26
DB (Satzformat)
25
DECK
6> 8
DKOI
7
Dimensionsanzahl der Felder
1
Drucker-Steuerzeichen
10» 26
DSA
41
DTF-Tabelle
26
DUMP
6
dynamischer Speicherbereich
41
effektive Programmierung
50
Elemente-Längen
7
ERRS
6
EXTERNAL SYMBOL DICTIONARY
22
EXTREF
8
F (Satzformat)
25
FB (Satzformat)
25
Fehler (E)
13
Fehlergrad
8
Fernverarbeitungsmethode TAM
FILE INFORMATION
64
FLAG
8
FLOW
8, 17
FLOH ANALYSIS
65
Folgenummern
7» 9
13
39
Hexadezimaladressen (Objektmodul)
Nachrichten
13, 14
Nachrichten (Ausführung)
122
Nachrichten (Übersetzung)
13, 77
Nachrichtenklassen
13
NEST
9
nichtkorrigierbare Fehler (U)
14
Niveau der Strukturbezeichnung
7
Objektmodul
13» 14
OBJECT MODULE LISTING
23
OFFSET
9
OFFSET LISTING FOR STATEMENTS
OPLIST
9
OPT
9
Optimierung
9» 50
OPTION-Jobsteuerung
6
Optionen des Compilers
7* 9
OPTIONS LISTING
21
PHASE***
15
PLICALLA
41
PLICALLB
41» 48
PLICKPT
63
PLICOWCT
13
PLJDUMP
64
PLIFLOW
13
PLIMAXN
13
PLISRTx
58
PLISTART
13p 41
PLZTABS
27
PLIXOPT
17
PL1-spezifische SteueranWeisung
PREPROCESSOR DIAGNOSTICS
21
PRINT-Datei
26
PROCESS-Anweisung
6
23
€
129
PL1-0C Benutzungshinweise
Programmausführung
15
Programmverbinder
14> 19> 20
Protokollierung der Verzweigungen
Prozeduren (Jobsteuerung)
16
Pufferung
26
STORAGE REQUIREMEKTS
22
SUBLZB
6
SYM
6
Symbolnachweis
6, 10, 22
Symboltabelle
6, 22
Symbolverzeichnis
7
SYNTAX
10
Syntaxanalyse
10
SYSCOPY
19
SYSIN
28
SYSIPT
5, 11
SYSLIB
14
SYSLNK
5» 14
SYSLST
5
SYSPARM
6, 16
SYSPCH
5
SYSPINT
28
SYSPRINT
28
8
Quelltext als Kartenstapel
11
Quelltext im Druckerprotokoll
9
Quelltext im Eingabesatz
10
Quelltextmodifizierung
12
REGIONAL
29
REPORT
17
Resultatcpde
14> 18
Satzadressierung
29
Satzformate
25
Schachtelungstiefe
9
schwere Fehler (S)
13
SECIND-Eintrittspunkt
34
Sekundärindex
34
SEQUENCE
9
SKZP
6, 21
SORMGIN
10
SORT
58
Sortierprogrammgenerator
58
SOURCE
10
SOURCE2
10
Speicherabzug
63
Speicherausdruck
64
Speicherplatz-Anforderungen
10
Speicherplatzverwendung
Spuradressierung
29
STAE
17
Standard-Steuerzeichen
27
Stapeliiber Setzung
11
Steueranweisungen für die Auflistung
Steuerung des Compilers
6
STATIC INTERNAL STORAGE MAP
23
STWT
10
STORAGE
10
DQS-4/ES
10/89
Tabelle zur Speicherorganisation
9
Teilbibliothek
6
temporäre Quelltextmodifizierung
6> 12
temporäre Phase
15
TITLE-Option (OPEM-Anweisung)
26
TRAGE OF PLl CONTROL BLOCKS
65
U (Satzformat)
25
UPSI
16
USAREA
16
V (Satzformat)
25
VARIABLE STORAGE MAP
23
VB (Satzformat)
25
Verzeichnis externer Symbole
Harnungen (K)
Niederanlauf
13
63
21
XREF
6, 10
Zeichensatz-Auswahl
Zeilennummer
7
6, 7
Literaturverzeichn is
[1]
[21
£3]
£41
[53
C
C
C
C
C
[71
[8]
C 3154-0411
C 3706-0148
t6 3
130
3025-0311
3074-0312
3084-0118
3084-0315
3104-0224
C 3114-0317
Systemsteuerung
Supervisormakros
ISAM - Indexsequentielle Zugriffsmethode
Ein- und Ausgabe-Steuersystem
Sortierprogramm
Hilfsprogramme
TAM - Erweiterte Zugriffsmethode für Datenfernverarbeitung
PLl-Optimierungscompiler Sprachbeschreibung
8
Herunterladen