Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

COPY - Meldungseinheit kopieren

Funktion

Mit der Anweisung //COPY können Meldungseinheiten mit oder ohne den zugehörigen Dokumentationszeilen von einer Meldungsdatei in eine andere oder innerhalb derselben Meldungsdatei kopiert werden. Die Meldungseinheit in der Sendedatei wird durch den Kopiervorgang nicht verändert.

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 kopiert werden. Wird dem Operanden INFORMATION der Wert DOCUMENTATION zugewiesen, werden die im angegebenen Meldungsbereich definierten Dokumentationszeilen kopiert.

Sind Sende- und Empfangsdatei des Kopiervorgangs 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 kopiert 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 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 kopiert. 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 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 kopiert und die Verarbeitung fortgesetzt, vorausgesetzt, in der Anweisung //COPY oder //MODIFY-OPTION wurde nicht OVERWRITE=*YES vereinbart.

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

Soll der Gesamtinhalt einer Meldungsdatei in eine andere Datei kopiert werden, ist die Anweisung //MERGE-MSG-FILES der Anweisung //COPY vorzuziehen (siehe Anweisung //MERGE-MSG-FILES, "MERGE-MSG-FILES - Meldungsdateien mischen")

Unterschiede zur Anweisung //COPY im Menümodus

Die Anweisung //COPY, die in den Kommandobereich der Bildschirmmaske eingetragen werden kann, unterscheidet sich von der Anweisung //COPY 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

COPY                                                                                                                                                             

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> (...)


<filename 1..54>(...)



|

,FILE-FORMAT = *NEW / *OLD

1)

,OVERWRITE = *STD / *YES / *NO

1) Der Operand FILE-FORMAT ist obsolet. Er kann aus Kompatibilitätsgründen angegeben werden.

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 werden sollen.
Durch die Zuweisung INFORMATION = DOCUMENTATION können die zu den Meldungsschlüsseln definierten Dokumentationszeilen ebenfalls kopiert werden.

MSG-ID = *ALL
Alle im Operanden INFORMATION definierten Bestandteile einer Meldung werden kopiert.In diesem Fall muss dem Operanden TO-MSG-ID der Wert *SAME zugewiesen werden.

MSG-ID = *CLASS(...)
Alle Bestandteile der Meldungen innerhalb der angegebenen Meldungsklasse werden kopiert.

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

 

MSG-ID = *INTERVAL(...)
Alle Bestandteile der Meldungen innerhalb dieses Meldungsintervalls werden kopiert.
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>
Gibt den vollständigen, siebenstelligen Meldungsschlüssel an. Werden mehrere Meldungsschlüssel als Liste angegeben, muss dem Operanden TO-MSG-ID der Wert *SAME zugewiesen werden.

INFORMATION = *MESSAGES(...) / *ALL / list-poss(3): *MESSAGES(...) / *DOCUMENTATION / *CORRECTION-INFO / *COMPONENT-ID
Bezeichnet die Bestandteile der Meldungsdatei, die kopiert werden sollen.

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

LANGUAGES = *ALL / list-poss(8): <name 1..1>
Bezeichnet die Kennbuchstaben der Sprachen. Meldungs-, Bedeutungs- und Maßnahmetexte in diesen Sprachen werden kopiert.

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

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

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

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

Beispiel

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

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

FROM-FILE = *CURRENT / <filename 1..54>
Name der Meldungsdatei, aus welcher die bezeichneten Bestandteile (Operand MSG-ID) kopiert werden.
Der Operandenwert *CURRENT bezeichnet die aktuelle Meldungsdatei, die mit der Anweisung //OPEN-MSG-FILE zuletzt eröffnet wurde.

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

TO-MSG-ID = *SAME
Die Meldungsbestandteile behalten beim Kopiervorgang ihren Meldungsschlüssel bei. Der Wert *SAME darf nicht angegeben werden, wenn Meldungsbestandteile innerhalb einer Datei kopiert 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 zugwiesen wird.

TO-MSG-ID = *CLASS(...)
Bezeichnet eine neue Meldungsklasse für die kopierten 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

Alter Meldungsschlüssel MSG-ID = ABC1234;
TO-MSG-ID = TST0* bewirkt, dass die ersten vier Stellen des neuen Meldungsschlüssels zu TST0 abgeändert, die restlichen drei Stellen aber vom alten Meldungsschlüssel übernommen werden. Ergebnis: TST0234.

TO-FILE = *CURRENT / <filename 1..54>(...)
Bezeichnet die Meldungsdatei, in welche die Meldungsbestandteile kopiert werden.

TO-FILE = *CURRENT
Empfangsdatei ist die mit der Anweisung //OPEN-MSG-FILE zuletzt geöffnete Meldungsdatei. Als Empfangsdatei muss sie im UPDATE-Modus geöffnet sein.

TO-FILE = <filename 1..54>
Explizite Angabe der Meldungsdatei, in welche die Meldungsbestandteile kopiert werden. Eine noch nicht bestehende Empfangsdatei wird erzeugt, wobei analog zur Sendedatei die Dateiart (Customer oder Standard), der Produktname und die Produktversion festgelegt werden.

OVERWRITE = *STD / *YES / *NO
Gibt an, ob die Meldungsbestandteile der Sendedatei einen bereits bestehenden Bereich der Empfangsdatei überschreiben dürfen.
Der Default-Wert *STD entspricht dem Wert der letzten OVERWRITE-Vereinbarung in der Anweisung //MODIFY-OPTION.

Beispiel

//COPY MSG-ID=TST000,INFORMATION=MESSAGE(LANGUAGE=E),-
  FROM-FILE=SYSMES.TSTFILE,TO-MSG-ID=*CLASS(TTO)