Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

MOVE - Meldungseinheit kopieren und löschen

Funktion

Mit der Anweisung //MOVE können Meldungseinheiten mit oder ohne den zugehörigen Dokumentationszeilen von einer Meldungsdatei in eine andere oder innerhalb derselben Datei kopiert werden. Im Unterschied zur COPY-Funktion wird der Sendebereich bei der MOVE-Funktion gelöscht.

Jede Meldungseinheit ist durch ihren Meldungsschlüssel gekennzeichnet. Wird dem Operanden MSG-ID eine Meldungsklasse oder ein Meldungsintervall zugewiesen, können mehrere Meldungseinheiten in einem Vorgang übertragen werden. Wird dem Operanden INFORMATION der Wert DOCUMENTATION zugewiesen, werden die im angegebenen Meldungsbereich definierten Dokumentationszeilen ebenfalls übertragen.

Sind Sende- und Empfangsdatei des MOVE-Vorgangs identisch, müssen im Operanden TO-MSG-ID neue Meldungsschlüssel vereinbart werden.
Unabhängig von der aktuell geöffneten Datei, können Meldungseinheiten zwischen zwei weiteren Meldungsdateien übertragen werden. Die Operanden FROM-FILE und TO-FILE ermöglichen den Zugriff auf diese Dateien; die aktuelle Meldungsdatei bleibt geöffnet und wird nicht verändert, falls sie weder die Sende- noch die Empfangsdatei ist.

Sind im Operanden INFORMATION=MESSAGES(...) explizit Sprachen angegeben, werden nur die Texte (Meldungs-, Bedeutungs- und Maßnahmetext) in diesen Sprachen in die Empfangs-Meldungseinheit übertragen. Existiert diese Meldungseinheit nicht, wird eine Meldungseinheit mit den Meldungsattributen (Zugriffsmethode, Ausgabeziel, ...) der Sende-Meldungseinheit erzeugt. Ist in der Empfangs-Meldungseinheit bereits ein Text unter identischem Meldungsschlüssel und gleichem Kennbuchstaben für die Sprache abgespeichert, wird der Text der Empfangs-Meldungseinheit mit dem Text der Sende-Meldungseinheit überschrieben.
Im Dialog wird für diesen Fall eine Fehlermeldung ausgegeben mit der Frage, ob die bestehende Meldungseinheit überschrieben werden soll oder nicht.
In Batch-Aufträgen und Prozeduren werden die angegebenen Bestandteile der Meldungsdatei nicht übertragen und die Verarbeitung fortgesetzt, vorausgesetzt, in der Anweisung //MOVE oder //MODIFY-OPTION wurde nicht OVERWRITE=*YES vereinbart.

Unterscheiden sich die Texte nur durch die Sprache, wird der Text in der Empfangs-Meldungseinheit angefügt.

Sind alle sprachabhängigen Teile einer Meldungseinheit durch die Anweisung //MOVE aus einer Meldungseinheit entfernt worden, werden die verbliebenen Meldungsattribute, und somit die Meldungseinheit, automatisch gelöscht.

Unterschiede zur Anweisung //MOVE im Menümodus

Die Anweisung //MOVE, die in den Kommandobereich der Bildschirmmaske eingetragen werden kann, unterscheidet sich von der Anweisung //MOVE in Kommandoprozeduren, durch

  • den Operandenwert *PANEL-REQUEST, der im Menümodus jedem Operanden zugewiesen werden kann

  • einen zusätzlichen Wert des Operanden MSG-ID

  • den Operanden OVERWRITE, der im Menümodus nicht verfügbar ist.

Näheres im Abschnitt „Besonderheiten der Anweisungen im Menümodus".

 

Format

MOVE

MSG-ID = *ALL / *CLASS(...) / *INTERVAL(...) / list-poss(2000): <name 7..7>


*CLASS(...)



|

MSG-CLASS = <name 3..3>


*INTERVAL(...)



|

FROM = <name 7..7>



|

,TO = <name 7..7>

,INFORMATION = *MESSAGES(...) / *ALL / list-poss(4): *DOCUMENTATION / *COMPONENT-ID /





*CORRECTION-INFO / *MESSAGES(...)


*MESSAGES(...)



|

LANGUAGES = *ALL / list-poss(8): <name 1..1>

,FROM-FILE = *CURRENT / <filename 1..54>

,TO-MSG-ID = *SAME / *CLASS(...) / <alphanum-name 4..7 with-wild>


*CLASS(...)



|

MSG-CLASS = <name 3..3>

,TO-FILE = *CURRENT / <filename 1..54>

,OVERWRITE = *STD / *YES / *NO

Operanden

MSG-ID = *ALL / *CLASS(...) / *INTERVAL(...) / list-poss(2000): <name 7..7>
Bezeichnet die Meldungsschlüssel einer oder mehrerer Meldungseinheiten der eröffneten Meldungsdatei, die kopiert und anschließend in der Sendedatei gelöscht werden sollen.Durch die Zuweisung INFORMATION=DOCUMENTATION können die zu den Meldungsschlüsseln definierten Dokumentationszeilen ebenfalls übertragen werden.

MSG-ID = *ALL
Alle im Operanden INFORMATION definierten Bestandteile einer Meldung werden übertragen. Diese Angabe ist nur zulässig, wenn dem Operanden TO-MSG-ID der Wert *SAME zugewiesen wird.

MSG-ID = *CLASS(...)
Alle Meldungsbestandteile der angegebenen Meldungsklasse werden übertragen.

MSG-CLASS = <name 3..3>
Gibt die dreistellige Meldungsklasse an.

 

MSG-ID = *INTERVAL(...)
Alle Meldungsbestandteile innerhalb dieses Meldungsintervalls werden übertragen. Für den Fall, dass das Meldungsintervall mehr als eine Meldungsklasse beinhaltet, muss dem Operanden TO-MSG-ID der Wert *SAME zugewiesen werden.

FROM = <name 7..7>
Bezeichnet den ersten Meldungsschlüssel des Meldungsintervalls.

TO = <name 7..7>
Bezeichnet den letzten Meldungsschlüssel des Meldungsintervalls.

MSG-ID = list-poss(2000): <name 7..7>
Bezeichnet den vollständigen Meldungsschlüssel eines Meldungsbestandteils, das übertragen werden soll. Werden mehrere Meldungsschlüssel als Liste angegeben, muss dem Operanden TO-MSG-ID der Wert *SAME zugewiesen werden.
Mehrere Meldungsschlüssel können eine Liste bilden.

INFORMATION = *MESSAGES(...) / *ALL / list-poss(2000): *MESSAGES(...) /*DOCUMENTATION / *COMPONENT-ID / *CORRECTION-INFO
Bezeichnet die Meldungsbestandteile, die übertragen werden sollen.

INFORMATION = *MESSAGES(...)
Bezeichnet Meldungseinheiten, die übertragen werden sollen. Über den Operanden MSG-ID werden die Meldungseinheiten ausgewählt.

LANGUAGES = *ALL / list-poss(8): <name 1..1>
Gibt an, in welchen Sprachen der Meldungs-, Bedeutungs- und/oder Maßnahmetext übertragen werden soll.

LANGUAGES = *ALL
Die vollständige Meldungseinheit, einschließlich aller Meldungsattribute, Inserts und Insert-Attribute, sowie alle Texte werden übertragen.

LANGUAGES = list-poss(8): <name 1..1>
Der Meldungstext und/oder Bedeutungs-, Maßnahmetext in den ausgewählten Sprache(n) werden übertragen. Die Meldungsattribute und Insert-Attribute der Sende-Meldungseinheit werden nur in die Empfangs-Meldungseinheit übertragen, wenn letztere nicht existiert. Ansonsten wird die Meldung MSME108 ausgegeben.

INFORMATION = *ALL
Alle Meldungsbestandteile (Meldungseinheiten und Dokumentationszeilen) werden übertragen. Wird dem Operanden MSG-ID = *ALL zugewiesen, wird der gesamte Inhalt der Meldungsdatei übertragen.

INFORMATION = *DOCUMENTATION
Alle Dokumentationszeilen, deren Meldungsschlüssel im ausgewählten Bereich (Operand MSG-ID) liegen, werden übertragen. Überschneiden mehrere definierte Meldungsintervalle den festgelegten Meldungsbereich, werden die Dokumentationszeilen dieser Intervalle ebenfalls übertragen.

Beispiel

MSG-ID = *INTERVAL (TST1500-TST1599).
Die Dokumentationszeilen der Meldungsintervalle (TST1500-TST1510), (TST1000-TST1999), (TST1000-TST1500), TST1510, ... werden übertragen.

MESSAGES = *CORRECTION-INFO / *COMPONENT-ID
Diese Operanden sind für den internen Gebrauch beim Hersteller reserviert.

FROM-FILE = *CURRENT / <filename 1..54 without-gen-vers>
Name der Meldungsdatei, aus welcher die bezeichneten Meldungsbestandteile (Operand MSG-ID) übertragen werden.

Der Operandenwert *CURRENT bezeichnet die aktuelle Meldungsdatei, die mit der Anweisung //OPEN-MSG-FILE zuletzt eröffnet wurde. Die Datei muss im UPDATE-Modus eröffnet worden sein.

TO-MSG-ID = *SAME / *CLASS(...) / <alphanum-name 4..7 with-wild>
Bezeichnet die neuen Meldungsschlüssel der übertragenen Meldungsbestandteile im Empfangsbereich.

TO-MSG-ID = *SAME
Die Meldungsbestandteile behalten beim Übertragungsvorgang ihren Meldungsschlüssel bei. Der Wert *SAME darf nicht angegeben werden, wenn Meldungsbestandteile innerhalb derselben Meldungsdatei übertragen werden. Der Wert *SAME muss angegeben werden, wenn dem Operanden MSG-ID eine Liste von Meldungsschlüsseln, der Wert *ALL oder Meldungsschlüssel aus mehreren Meldungsklassen zugewiesen wird.

TO-MSG-ID = *CLASS(...)
Bezeichnet eine neue Meldungsklasse für die zu übertragenden Meldungsbestandteile. Die Meldungsnummern bleiben unverändert.

MSG-CLASS = <name 3..3>
Bezeichnet die neue, dreistellige Meldungsklasse.

TO-MSG-ID = <alphanum-name 4..7 with-wild>
Der neue Meldungsschlüssel wird entweder vollständig angegeben oder über einen Teilnamen mit Platzhalter definiert.
Der Teilname bildet den Beginn des neuen Meldungsschlüssels, die restlichen Stellen, symbolisiert durch *, werden unverändert vom alten Meldungsschlüssel übernommen.

Beispiel

Siehe Anweisung //COPY, Operand TO-MSG-ID und nachfolgende Beispiele.

TO-FILE = *CURRENT / <filename 1..54 without-gen-vers>
Bezeichnet die Meldungsdatei, in welche die Meldungsbestandteile übertragen werden.

TO-FILE = *CURRENT
Die Zuweisung TO-FILE = *CURRENT legt die mit der Anweisung //OPEN-MSG-FILE zuletzt eröffnete Meldungsdatei als Empfangsdatei fest. Als Empfangsdatei muss sie im UPDATE-Modus eröffnet worden sein.

TO-FILE = <filename 1..54 without-gen-vers>
Explizite Angabe der Meldungsdatei, in welche die Meldungsbestandteile übertragen werden.

Beispiel

//MOVE MSG-ID=*INTERVAL(TST000,TST0009),-
   INFORMATION=(MESSAGE,DOCUMENTATION), TO-MSG-ID=TTT*, OVERWRITE=*NO

 

Beispiele zu den Operanden MSG-ID und TO-MSG-ID

Beispiel A

Wirkung der Anweisung:

//MOVE MSG-ID=*INTERVAL(CCCA000 ,CCCI999 ), TO-MSG-ID=DDD0*

CCCA001, CCCA002, ...

->

DDD0001, DDD0002, ...

CCCBAAA, CCCBAAB, ...

->

DDD1AAA, DDD1AAB, ...

.

.


.

CCCE100, CCCE101, ...

->

DDD4100, DDD4101, ...

.

.


.

CCCI998, CCCI999

->

DDD8998, DDD8999

Die im TO-MSG-ID-Operanden definierte Meldungsklasse oder der teilqualifizierte Meldungsschlüssel wird in den neuen Meldungsschlüssel übernommen, für den Platzhalter * erscheint der noch verbliebene Teil des alten Meldungsschlüssels.

Beispiel B

Wirkung der Anweisung:

//MOVE MSG-ID = *INTERVAL(CCCA000,CCCI999), TO-MSG-ID=CCC0*

Die vier Meldungschlüssel <CCCA010, CCCA800, CCCD033, CCCH000> werden umbenannt in <CCC0010, CCC0800, CCC3033, CCC7000> und nicht in <CCC0010, CCC0800, CCC1033, CCC2000>.

Der Teil der Meldungsnummer, der zum festgesetzten Teil des neuen Meldungsschlüssels gehört (bei „CCC0*“ entspricht dies „0“), wird, falls notwendig, automatisch um die vorgegebenen Schrittweite erhöht. Die Meldungsklasse wird nicht inkrementiert.

 

Beispiel C

Folgende Kombinationsmöglichkeiten sind vorhanden:

MSG-ID

TO-MSG-ID

Bedeutung                                            

Ungenügende
Bereichsangabe

*CLASS(CCC)

*CLASS(DDD)/

DDD*

Neue Meldungsklasse

Beibehalten der Meldungsnummern

DDD0*

(CCCH403,
CCCH503,
CCCH603)

*SAME

*SAME

alle Angaben
außer *SAME

*INT(CCC0000-
CCC4999)

*CLASS(DDD)/

DDD*

CCC5*
CCC50*

DDD0000, ...... ,DDD4999

DDD0000, ...... ,DDD4999

CCC5000, ...... ,CCC9999
CCC5000, ...... ,CCC9999

CCC6* /

CCC51*

*INT(CCC0000,
CCC0599)

*CLASS(DDD)/

DDD*

DDD5*
DDD55*

DDD555*

DDD0000, ...... ,DDD0599

DDD0000, ...... ,DDD0599

DDD5000, ...... ,DDD5599
DDD5500, ...... ,DDD5599

DDD5600, ...... ,DDD5599
DDD6A00, ...... ,DDD6A99
DDD5550, ...... ,DDD5599
DDD56A0, ...... ,DDD5999
DDD6AA0, ...... ,DDD6BE9

DDD95*

Der Meldungsbereich der Empfangsdatei muss größer oder gleich dem der Sendedatei sein.