Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

MODIFY-ELEMENT-Subanweisungen für Elementtypen R, C und L

&pagelevel(4)&pagelevel

Diese Subanweisungen gelten für Elemente vom Basistyp R, C und L und müssen direkt auf die MODIFY-ELEMENT-Anweisung folgen. Sie werden bis zur MODIFY-ELEMENT-Subanweisung END-MODIFY aus dem Anweisungsstrom gelesen.

Die MODIFY-ELEMENT-Subanweisungen führen Änderungen in Bindemodulen, Phasen und Bindelademodulen durch.

LMS sammelt zunächst diese Subanweisungen und führt sie erst nach Eingabe der Subanweisung END-MODIFY aus.

Übersicht der MODIFY-ELEMENT-Subanweisungen

Diese Subanweisungen sind abhängig vom gewählten Elementtyp und nur für Elemente der Typen R, C oder L erlaubt.

MODIFY-ELEMENT-Subanweisung

Elementtyp

Funktion

ADD-REP-RECORD

R

Erzeugen von REP-Sätzen

ADD-TEXT-MODIFICATION

R,C,L

Ändern von Textsätzen

DELETE-RECORD-TYPE

R,C,L

Löschen von Satzarten

END-MODIFY

R,C,L

Beenden der Änderungen

MODIFY-CSECT-ATTRIBUTES

R

Ändern der CSECT-Attribute

MODIFY-MODIFICATION- DEFAULTS

R,C,L

Festlegen der globalen Parameter in der
MODIFY-ELEMENT-Anweisung

REMOVE-MODIFICATION

R,C,L

Zurücknehmen von Korrekturen

RENAME-SYMBOLS

R

Umbenennen von CSECT-, ENTRY-,
EXTRN- und COMMON-Namen

Hinweis

Als MODIFY-ELEMENT-Subanweisungen sind auch die SDF-Standardanweisungen (siehe "SDF-Standardanweisungen für LMS") zulässig.

ADD-REP-RECORD
REP-Sätze erzeugen

Die MODIFY-ELEMENT-Subanweisung ADD-REP-RECORD fügt REP-Sätze in den Bindemodul ein. Diese REP-Sätze wertet der Dynamische Bindelader (DBL) aus.

ADD-REP-RECORD ist nur für Bindemodule (Elemente des Typs R) zulässig.

 

ADD-REP-RECORD

ADDRESS = <x-string 1..8>(...)


<x-string 1..8>(...)



|

BASE-ADDRESS = *MODIFICATION-DEFAULT / <x-string 1..8>

,NEW-CONTENTS = <x-string 1..100> / <c-string 1..50 with-low>

ADDRESS = <x-string 1..8>(...)
Angabe der Adresse, an der das durch MODIFY-ELEMENT gewählte Element geändert werden soll.

BASE-ADDRESS = *MODIFICATION-DEFAULT / <x-string 1..8>
Basisadresse. BASE-ADDRESS wird auf ADDRESS addiert. Die so entstehende Korrekturadresse muss bei Großmoduln großmodul-relativ (nicht CSECT-relativ) sein.

NEW-CONTENTS = <x-string 1..100> / <c-string 1..50 with-low>
Ersetzungstext, der zeichenweise oder sedezimal angegeben wird.
Wird der Text zeichenweise angegeben, darf er höchstens 50 Zeichen lang sein. Ein Hochkomma im Text muss doppelt angegeben werden.
Wird der Text sedezimal angegeben, darf er höchstens 100 Zeichen lang sein.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


1

CMD0230

Syntaxfehler

ADD-TEXT-MODIFICATION
Textsätze ändern

Die MODIFY-ELEMENT-Subanweisung ADD-TEXT-MODIFICATION korrigiert Textsätze eines Bindelademoduls und Phasen. Die Subanweisung erzeugt einen Korrekturjournalsatz (TXTP-Satz), der den ursprünglichen Inhalt des Textbereiches enthält.
Mit der Anweisung MODIFY-MODIFICATION-DEFAULTS kann eingestellt werden, dass kein Korrekturjournalsatz erzeugt wird. Korrekturen ohne Korrekturjournalsatz sind über die Subanweisung REMOVE-MODIFICATION nicht rückgängig zu machen.

Sie ist für Elemente der Typen R, C und L zulässig.

 

ADD-TEXT-MODIFICATION

ADDRESS = <x-string 1..8>(...)


<x-string 1..8>(...)



|

BASE-ADDRESS = *MODIFICATION-DEFAULT / <x-string 1..8>

,NEW-CONTENTS = <x-string 1..100>(...) / <c-string 1..50 with-low>(...)


<x-string 1..100>(...)



|

OLD-CONTENTS = *ANY / <x-string 1..100> / <c-string 1..50 with-low>


<c-string 1..50 with-low>(...)



|

OLD-CONTENTS = *ANY / <x-string 1..100> / <c-string 1..50 with-low>

,MODIFICATION-ID = *MODIFICATION-DEFAULT / *SPACES / <c-string 1..12 with-low>

ADDRESS = <x-string 1..8>(...)
Angabe der Adresse, an der das durch MODIFY-ELEMENT gewählte Element geändert werden soll.

BASE-ADDRESS = *MODIFICATION-DEFAULT / <x-string 1..8>

Basisadresse.
Die Basisadresse wird auf ADDRESS addiert. Die so entstehende Korrekturadresse ist:


bei ...

relativ zu:

Moduln

CSECT-Anfang
(das gewünschte CSECT wird über die Subanweisung
MODIFY-MODIFICATION-DEFAULTS angegeben.)

Phasen

Phasen-Anfang

LLMs

CSECT-Anfang, wenn ein CSECT angegeben wurde


SUB-LLM-Anfang, wenn ein Sub-LLM angegeben wurde (der gewünschte
SUB-LLM wird über die Subanweisung MODIFY-MODIFICATION-
DEFAULTS angegeben)


SLICE-Anfang, wenn eine SLICE angegeben wurde (die gewünschte
SLICE wird über die Subanweisung MODIFY-MODIFICATION-DEFAULTS
angegeben)


LLM-Anfang, wenn nichts angegeben wurde und das LLM nur aus einem
SLICE besteht.
Besteht das LLM aus mehreren SLICES, ist die Angabe einer CSECT,
eines Sub-LLM oder eines SLICES  nötig.


NEW-CONTENTS = <x-string 1..100>(...) / <c-string 1..50 with-low>(...)

Ersetzungstext, der zeichenweise oder sedezimal angegeben wird.

OLD-CONTENTS = *ANY / <x-string 1..100> / <c-string 1..50 with-low>

Originaltext des Elementes. Der Originaltext muss immer in der Länge des Ersetzungstextes angegeben werden.

MODIFICATION-ID = *MODIFICATION-DEFAULT / *SPACES / <c-string 1..12 with-low>

Identifikation, die im Änderungsjournalsatz (TXTP-Satz) gehalten wird. Wird SPACES angegeben, so werden als Identifikation Blanks verwendet.
Für Elementtyp R und C sind nur 8 Zeichen erlaubt.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


1

CMD0230

Syntaxfehler

DELETE-RECORD-TYPE
Löschen von Satzarten

Die MODIFY-ELEMENT-Subanweisung DELETE-RECORD-TYPE schließt aus dem Eingabeelement folgende Satzarten aus:

  • ISD-Sätze (gilt nur für Typ R Elemente)

  • LSD-Sätze (gilt nur für Typ R Elemente)

  • REP-Sätze (gilt nur für Typ R Elemente)

  • INCLUDE-Sätze (gilt nur für Typ R Elemente)

  • TXTP-Sätze (gilt für Typ R, C und L Elemente)

  • DSDD-Sätze (gilt nur für Typ R Elemente)

Sie ist für Elemente der Typen R, C und L zulässig.

DELETE-RECORD-TYPE

TYPE = *TXTP(...) / list-poss(5): *ISD / *LSD / *REP / *DSDD / *INCLUDE


*TXTP(...)



|

MODIFICATION-ID = *ALL / *SPACES / <c-string 1..12 with-low>

TYPE = *TXTP(...) / list-poss(5): *ISD / *LSD / *REP / *DSDD / *INCLUDE
Legt die Satzart fest, die nicht vom Eingabeelement ins Ausgabeelement übernommen werden soll.

MODIFICATION-ID = *ALL / *SPACES / <c-string 1..12 with-low>
Es werden nur die TXTP-Sätze mit der angegebenen Identifizierung gelöscht.Für Elementtyp R und C sind nur 8 Zeichen erlaubt.
Diese Identifizierung gilt nur für dieses DELETE-RECORD-TYPE.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


1

CMD0230

Syntaxfehler

Hinweis

Gelöschte Satzarten sind unwiderruflich verloren.

END-MODIFY

Beenden der MODIFY-ELEMENT-Subanweisungen für Elementtypen R, C und L

END-MODIFY schließt die Folge der MODIFY-ELEMENT-Subanweisungen ab. Anschließend prüft LMS alle Anweisungen auf Durchführbarkeit und führt die Anweisungsfolge aus.

END-MODIFY


Diese Subanweisung besitzt keine Operanden.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler

2

0

LMS1002

Anweisung abgebrochen durch Benutzer


1

CMD0230

Syntaxfehler


32

LMS1002

Interner Fehler


64

LMS1003

Fehler während Mengenverarbeitung (Wildcard) bei mindestens einem Element oder einer Datei


64

LMS1004

Sonstige Fehler


130

LMS0041

Systemadressraum erschöpft

MODIFY-CSECT-ATTRIBUTES
Verändern von Programmabschnittsmerkmalen

Die MODIFY-ELEMENT-Subanweisung MODIFY-CSECT-ATTRIBUTES verändert Programmabschnittsmerkmale.

Sie ist nur für Bindemodule (Elemente des Typs R) zulässig.

MODIFY-CSECT-ATTRIBUTES

NAME = *ALL / <c-string 1..8 with-low> / <text 1..8>

,VISIBLE = *UNCHANGED / *YES / *NO

,READ-ONLY = *UNCHANGED / *YES / *NO

,PAGE-ALIGNMENT = *UNCHANGED / *YES / *NO

,RESIDENCY-MODE = *UNCHANGED / 24 / *ANY

,ADDRESSING-MODE = *UNCHANGED / 24 / 31 / *ANY

Zu Beginn der Anweisung MODIFY-ELEMENT sind die Operanden mit dem unmittelbar auf *UNCHANGED folgenden Wert voreingestellt.

NAME = *ALL / <c-string 1..8 with-low> / <text 1..8>
Name des CSECTs, dessen Attribute geändert werden sollen. Es können alle CSECTs oder ein spezielles CSECT angegeben werden.

VISIBLE = *UNCHANGED / *YES / *NO
Maskierung (Sichtbarkeit) der Programmabschnitte.

VISIBLE = *YES
Die angegebenen Programmabschnitte werden nicht maskiert (siehe [5]).
Für diese Abschnitte wird ein Sekundärnamenssatz angelegt und die Namen werden im Sekundärnamensverzeichnis eingetragen.

VISIBLE = *NO
Die angegebenen Programmabschnitte werden maskiert. Für sie wird weder ein Sekundärnamenssatz angelegt noch werden die Namen im Sekundärnamensverzeichnis eingetragen. Ein eventuell vorhandener Sekundärnamenssatz wird gelöscht.

Werden alle Programmabschnitte eines Bindemoduls maskiert, wird ein Bibliothekselement ohne Sekundärnamenseintrag erzeugt. Dieser Bindemodul ist nur über Primärnamen auffindbar.

Der Modulname kann jedoch aus dem ersten Programmabschnittsnamen mit Hilfe aller ESD-Sätze abgeleitet werden, da dazu auch maskierte Programmabschnitte verwendet werden.

Hinweis

Bindemodule, die nur maskierte Programmabschnitte besitzen, kann der Binder nicht bearbeiten, z.B. Ausschließen eines Bindemoduls bei der Autolink-Funktion.
Der Operand VISIBLE ist auch auf ENTRYs anwendbar.

READ-ONLY = *UNCHANGED / *YES / *NO

Schreibschutz

READ-ONLY = *YES
Legt fest, dass die angegebenen Programmabschnitte zur Ablaufzeit des Programms nur gelesen werden dürfen.

READ-ONLY = *NO
Erlaubt, dass während des Programmlaufs auch in die angegebenen Programmabschnitte geschrieben werden darf.

PAGE-ALIGNMENT = *UNCHANGED / *YES / *NO

Seitenausrichtung

PAGE-ALIGNMENT = *YES
Legt fest, dass die angegebenen Programmabschnitte auf Seitengrenze ausgerichtet werden sollen, d.h. die Ladeadresse soll ein Vielfaches von dezimal 4096 bzw. sedezimal 1000 sein.

PAGE-ALIGNMENT = *NO
Lässt Seitengrenzen unberücksichtigt. Die Programmabschnitte beginnen jeweils bei der nächsten Doppelwortadresse, die sich beim Binden ergibt.

RESIDENCY-MODE = *UNCHANGED / 24 / *ANY

Lademodus

RESIDENCY-MODE = 24
Legt fest, dass die angegebenen Programmabschnitte in den Adressraum unterhalb der 16 MB Grenze zu laden sind.

RESIDENCY-MODE = *ANY
Es existiert keine Einschränkung.

ADDRESSING-MODE = *UNCHANGED / 24 / 31 / *ANY

Ablaufmodus

ADDRESSING-MODE = 24
Legt fest, dass die angegebenen Programmabschnitte im 24-Bit-Modus ablauffähig sein sollen.

ADDRESSING-MODE = 31

Legt fest, dass die angegebenen Programmabschnitte im 31-Bit-Modus ablauffähig sein sollen.

ADDRESSING-MODE = *ANY Der Ablaufmodus ist beliebig.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


1

CMD0230

Syntaxfehler

MODIFY-MODIFICATION-DEFAULTS
Festlegen von globalen Parametern

Die MODIFY-ELEMENT-Subanweisung MODIFY-MODIFICATION-DEFAULTS legt innerhalb der MODIFY-ELEMENT-Anweisung die globalen Defaultwerte fest.

Sie ist für Elemente der Typen R, C und L zulässig.

MODIFY-MODIFICATION-DEFAULTS

CSECT-NAME = *UNCHANGED / *NONE / <c-string 1..32 with-low> / <text 1..32>

,PHASE-SEGMENT = *UNCHANGED / *ROOT / <name 1..8>

,LLM-PART = *UNCHANGED / *NONE / *SLICE(...) / *SUB-LLM(...)


*SLICE(...)



|

NAME = <structured-name 1..32>


*SUB-LLM(...)



|

PATH-NAME = <c-string 1..255 with-low> / <text 1..255>

,MODIFICATION-LOGGING = *UNCHANGED / *YES(...) / *NO


*YES(...)



|

MODIFICATION-ID = *UNCHANGED / *SPACES / <c-string 1..12 with-low>

,BASE-ADDRESS = *UNCHANGED / <x-string 1..8>

Zu Beginn der Anweisung MODIFY-ELEMENT sind die Operanden mit dem unmittelbar auf *UNCHANGED folgenden Wert voreingestellt.

CSECT-NAME = *UNCHANGED / *NONE / <c-string 1..32 with-low> / <text 1..32>

Name des zu korrigierenden CSECTs. (Nur relevant für Typ R und L.)

CSECT-NAME = *NONE
Wird kein CSECT-Name angegeben, wird bei R-Moduln der erste CSECT-Name verwendet.

PHASE-SEGMENT = *UNCHANGED / *ROOT / <name 1..8>
Angabe des Phasen-Segmentes, das korrigiert werden soll. Wird kein Segment angegeben, wird das erste Segment (*ROOT) verwendet.

LLM-PART = *UNCHANGED / *NONE / *SLICE(...) / *SUB-LLM(...)

Wird kein LLM-Teil angegeben, wird der gesamte LLM genommen.

LLM-PART = *SLICE(...)
Angabe der SLICE, die korrigiert werden soll.

NAME = <structured-name 1..32>
Name der SLICE, die korrigiert werden soll.

LLM-PART = *SUB-LLM(...)
Angabe des SUB-LLM, der korrigiert werden soll.

PATH-NAME = <c-string 1..255 with-low> / <text 1..255>
Der zu korrigierende SUB-LLM wird durch seinen Pfadnamen bestimmt.

MODIFICATION-LOGGING = *UNCHANGED / *YES(...) / *NO

Bestimmt die Erzeugung der TXTP-Sätze.

MODIFICATION-LOGGING = *YES(...) Es sollen TXTP-Sätze erzeugt werden.

MODIFICATION-ID = *UNCHANGED / *SPACES / <c-string 1..12 with-low>Identifikation, die im Änderungsjournalsatz (TXTP-Satz) gehalten wird. Wird SPACES angegeben, so werden als Identifikation Blanks verwendet.
Für Elementtyp R und C sind nur 8 Zeichen erlaubt

MODIFICATION-LOGGING = *NO
Es sollen keine TXTP-Sätze erzeugt werden.

BASE-ADDRESS = *UNCHANGED / <x-string 1..8>
Sedezimale Angabe der Basisadresse. Zu Beginn der Anweisung MODIFY-ELEMENT ist die Basisadresse 0 eingestellt.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


1

CMD0230

Syntaxfehler

REMOVE-MODIFICATION
Rückgängigmachen von Korrekturen

Die MODIFY-ELEMENT-Subanweisung REMOVE-MODIFICATION macht Korrekturen aus einem früheren Korrekturlauf unter den folgenden Voraussetzungen rückgängig:

Es wurde ein Korrekturjournalsatz mit der MODIFY-ELEMENT-Subanweisung ADD-TEXT-MODIFICATION erstellt, d.h. der Operand MODIFICATION-LOGGING=*YES (siehe "MODIFY-ELEMENT-Subanweisungen für Elementtypen R, C und L") war gesetzt.

Sie ist für Elemente der Typen R, C und L zulässig.

REMOVE-MODIFICATION

MODIFICATION-ID = *ALL / *SPACES / <c-string 1..12 with-low>

MODIFICATION-ID = *ALL / *SPACES / <c-string 1..12 with-low>
Für Elementtyp R und C sind nur 8 Zeichen erlaubt.
Es werden nur die Korrekturen mit der angegebenen Identifikation rückgängig gemacht. Wird eine Identifikation angegeben, müssen dafür Korrekturjournalsätze existieren. Wird keine Identifikation (*ALL) angegeben, werden alle Korrekturen, für die ein Korrekturjournalsatz vorliegt, rückgängig gemacht.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1

CMD0001
CMD0230

Ohne Fehler
Syntaxfehler

RENAME-SYMBOLS
Umbenennen von Symbolen

Die MODIFY-ELEMENT-Subanweisung RENAME-SYMBOLS ändert den Namen von einer CSECT, einem ENTRY, COMMON, EXTRN, WXTRN oder einer V-Konstante. Jede Umbenennung verursacht eine Änderung von ESD-Sätzen. LMS prüft die Eindeutigkeit der Namen innerhalb aller ESD-Sätze und weist eine Umbenennung zurück, wenn der neue
Name bereits existiert.

In LSD-Sätzen wird eine Umbenennung nicht durchgeführt. Deswegen kann mit AID (siehe [13]) nach einer Änderung des CSECT-Namens nicht mehr symbolisch getestet werden. Wird maschinennah getestet, müssen bei Qualifikationen in AID die neuen Namen verwendet werden.

Die MODIFY-ELEMENT-Subanweisung RENAME-SYMBOLS ist nur für Bindemodule (Elemente des Typs R) zulässig.

RENAME-SYMBOLS

SYMBOL-NAME = <text 1..8>

,SYMBOL-TYPE = *CSECT / *ENTRY / *COMMON / *EXTRN / *VCON / *WXTRN

,NEW-NAME = <text 1..8>

SYMBOL-NAME = <text 1..8>
Legt den Symbolnamen fest, der umbenannt werden soll.

SYMBOL-TYPE = *CSECT / *ENTRY / *COMMON / *EXTRN / *VCON / *WXTRNLegt den Typ des Symbols fest, dessen Name geändert werden soll.

NEW-NAME = <text 1..8>
Neuer Symbolname.
Der Name sollte den BINDER-Konventionen für den Sonderdatentyp <symbol> genügen (siehe [5]). Allerdings prüft LMS nicht auf diese Konvention.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


1

CMD0230

Syntaxfehler

Hinweis

Auch maskierte (invisible) CSECT/ENTRY-Namen können umbenannt werden.