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 Inhalte einer Syntaxdatei kopieren

&pagelevel(4)&pagelevel

Mit der Anweisung COPY kopieren Sie Inhalte einer Syntaxdatei. Die Information über die Sperrung von Objekten (siehe REMOVE, "REMOVE Objekte der Syntaxdatei löschen") wird nicht kopiert. Die Kopien fügt SDF-A in die bearbeitete Syntaxdatei ein.

Definitionen von BS2000-Kommandos (durch System-Module implementiert) können Sie in eine Benutzersyntaxdatei nur dann kopieren, wenn diese durch die zugewiesenen Referenzsyntaxdateien (siehe OPEN-SYNTAX-FILE, "OPEN-SYNTAX-FILE Syntaxdatei öffnen") voll abgedeckt sind. Das Gleiche gilt für den Fall, dass Sie eine Operanden- oder Operandenwertdefinition in die Definition eines durch System-Module implementierten Kommandos kopieren.

Wenn Sie die Globalinformation kopieren, überschreibt SDF-A die in der geöffneten Syntaxdatei vorhandene Globalinformation.

Die SDF-Standardanweisungen können und müssen Sie nicht in Ihre Syntaxdatei kopieren. SDF stellt diese Anweisungen automatisch jedem Programm zur Verfügung, dessen Anweisungen in Syntaxdateien definiert sind. In der Syntaxdatei von SDF ab V4.0A sind alle von Fujitsu freigegebenen Standardanweisungen zentral hinterlegt.

Bevor Sie die Definition eines Operanden oder Operandenwerts kopieren, müssen Sie dafür sorgen, dass das Objekt (z.B. ein anderer Operand) das aktuelle ist, nach dessen Definition Sie die Kopie in eine Kommando- bzw. Anweisungsdefinition einfügen wollen (siehe ADD-OPERAND bzw. ADD-VALUE). In dieser Umgebung darf der Operand bzw. der Operandenwert noch nicht definiert sein. Andernfalls lehnt SDF-A das Kopieren mit einer entsprechenden Meldung ab.

Das mit SDF bis V3.0A ausgelieferte Kommando SHOW-SYNTAX-VERSIONS kann mit COPY OBJECT=*COMMAND (NAME=*ALL) nicht in eine Benutzersyntaxdatei kopiert werden. Ab SDF V4.0A wird SHOW-SYNTAX-VERSIONS genau wie jedes andere Kommando behandelt und kann demzufolge auch in eine Benutzersyntaxdatei kopiert werden.

Es gibt bestimmte Operandenwerte, die kontextabhängig sind. Zum Beispiel wird ein Wert, der mit TYPE=*INTEGER(OUT-FORM=*STD) definiert ist, je nach Implementierungsform unterschiedlich konvertiert:

  • Bei Kommandos, die mit IMPLEMENTOR=*PROCEDURE oder
    IMPLEMENTOR=*TPR(...,CMD-INTERFACE=*STRING,...) definiert sind, wird OUT-FORM=*STD in OUT-FORM=*CHAR umgesetzt.

  • Bei Kommandos, die mit IMPLEMENTOR=*TPR(...,CMD-INTERFACE=*NEW/*TRANSFER-AREA,...) definiert sind, wird OUT-FORM=*STD in OUT-FORM=*BINARY umgesetzt.

Wird ein solches Objekt aus einem Kontext (z.B. ...,CMD-INTERFACE=*NEW bzw. *TRANSFER-AREA,...) in einen anderen Kontext (z.B. ...,CMD-INTERFACE=*STRING,...) kopiert, so müssen Sie die Anpassung an den Kontext selbst vornehmen. Dazu ist mit der Anweisung EDIT auf das entsprechende Objekt zu positionieren und das Objekt mit einer MODIFY-Anweisung zu ändern.

COPY

OBJECT = *GLOBAL-INFORMATION / *DOMAIN(...) / *COMMAND(...) / *PROGRAM(...) /

*STATEMENT(...) / *OPERAND(...) / *VALUE(...)

*DOMAIN(...)
   NAME = *ALL(...) / <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>

*ALL(...)
  EXCEPT = *NONE / <structured-name 1..30 with-wild> /
                list-poss(2000): <structured-name 1..30>

*COMMAND(...)
   NAME = *ALL(...) / <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>

*ALL(...)
  EXCEPT = *NONE / <structured-name 1..30 with-wild> /
                list-poss(2000): <structured-name 1..30>

*PROGRAM(...)
   NAME = *ALL(...) / <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>

*ALL(...)
  EXCEPT = *NONE / <structured-name 1..30 with-wild> /
                list-poss(2000): <structured-name 1..30>

*STATEMENT(...)
   NAME = *ALL(...) / <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>

*ALL(...)
  EXCEPT = *NONE / <structured-name 1..30 with-wild> /
                list-poss(2000): <structured-name 1..30>

  ,PROGRAM = <structured-name 1..30>

*OPERAND(...)
 OPERAND-L1 = *CURRENT / <structured-name 1..20>
 ,VALUE-L1 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

 ,OPERAND-L2 = *NO / <structured-name 1..20>

 ,VALUE-L2 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L3 = *NO / <structured-name 1..20>
  ,VALUE-L3 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L4 = *NO / <structured-name 1..20>
  ,VALUE-L4 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L5 = *NO / <structured-name 1..20>
  ,ORIGIN = *CURRENT / *COMMAND(...) / *STATEMENT(...)

  *COMMAND(...)

  NAME = <structured-name 1..30>

*STATEMENT(...)
  NAME = <structured-name 1..30>
  ,PROGRAM = <structured-name 1..30>

*VALUE(...)

  OPERAND-L1 = *ABOVE-CURRENT / <structured-name 1..20>
  ,VALUE-L1 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L2 = *NO / <structured-name 1..20>

  ,VALUE-L2 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L3 = *NO / <structured-name 1..20>
  ,VALUE-L3 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L4 = *NO / <structured-name 1..20> 

  ,VALUE-L4 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,OPERAND-L5 = *NO / <structured-name 1..20>
  ,VALUE-L5 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /

*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /

*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /

*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /

*POSIX-PATHNAME / *POSIX-FILENAME /

<composed-name 1..30>

  ,ORIGIN = *CURRENT / *COMMAND(...) / *STATEMENT(...)

*COMMAND(...)

NAME = <structured-name 1..30>

*STATEMENT(...)

NAME = <structured-name 1..30>
PROGRAM = <structured-name 1..30>

,FROM-FILE = *CURRENT / *TASK-HIERARCHY / <filename 1..54 without-gen-vers>(...)

<filename 1..54 without-gen-vers>(...)
   TYPE = *CURRENT / *USER / *GROUP / *SYSTEM

,ATTACHED-INFO = *YES / *NO / *ONLY

,OVERWRITE-POSSIBLE = *NO / *YES / *EXTERNAL-ATTRIBUTES

OBJECT =
Art des Objekts, dessen Definition zu kopieren ist.

OBJECT = *GLOBAL-INFORMATION
Bestimmt, dass die Globalinformation einer Syntaxdatei kopiert wird.

OBJECT = *DOMAIN(...)
Bestimmt, dass die Definitionen von Anwendungsbereichen kopiert werden.

NAME = *ALL(...)
Die Definitionen von allen Anwendungsbereichen werden kopiert.

EXCEPT = *NONE / <structured-name 1..30 with-wild> /list-poss(2000): <structured-name 1..30>
Die Definitionen der hier angegebenen Anwendungsbereiche werden nicht kopiert.

NAME = <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>
Die Definitionen der namentlich genannten Anwendungsbereiche werden kopiert, bzw. die Definitionen der Anwendungsbereiche, deren Name zum Wildcard-Suchmuster passt.

OBJECT = *COMMAND(...)
Bestimmt, dass die Definitionen von Kommandos kopiert werden.

NAME = *ALL(...)
Die Definitionen von allen Kommandos werden kopiert.

EXCEPT = *NONE / <structured-name 1..30 with-wild> /list-poss(2000): <structured-name 1..30>
Die Definitionen der hier angegebenen Kommandos werden nicht kopiert.

NAME = <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>
Die Definitionen der namentlich genannten Kommandos werden kopiert, bzw. die Definitionen der Kommandos, deren Name zum Wildcard-Suchmuster passt.

OBJECT = *PROGRAM(...)
Bestimmt, dass die Definitionen von Programmen kopiert werden.

NAME = *ALL(...)
Die Definitionen von allen Programmen werden kopiert.

EXCEPT = *NONE / <structured-name 1..30 with-wild> /list-poss(2000): <structured-name 1..30>
Die Definitionen der hier angegebenen Programme werden nicht kopiert.

NAME = <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>
Die Definitionen der namentlich genannten Programme werden kopiert, bzw. die Definitionen der Programme, deren Name zum Wildcard-Suchmuster passt.

OBJECT = *STATEMENT(...)
Bestimmt, dass die Definitionen von Anweisungen kopiert werden.

NAME = *ALL(...)
Die Definitionen von allen Anweisungen werden kopiert.

EXCEPT = *NONE / <structured-name 1..30 with-wild> /list-poss(2000): <structured-name 1..30>
Die Definitionen der hier angegebenen Anweisungen werden nicht kopiert.

NAME = <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>
Die Definitionen der namentlich genannten Anweisungen werden kopiert, bzw. die Definitionen der Anweisungen, deren Name zum Wildcard-Suchmuster passt.

PROGRAM = <structured-name 1..30>
Name des Programms, zu dem die Anweisungen gehören. Das Programm muss in der geöffneten Syntaxdatei bereits definiert sein.

OBJECT = *OPERAND(...)
Bestimmt, dass die Definition eines Operanden kopiert wird. Steht dieser Operand in einer Struktur, so wird er durch Angabe des zu ihm führenden Pfades spezifiziert, d.h. durch Angabe der auf diesem Pfad liegenden Operanden und struktureinleitenden Operandenwerte. Ist der Name eines auf diesem Pfad liegenden Operanden nicht nur innerhalb seiner Struktur eindeutig, sondern auch in Bezug auf die übergeordnete Struktur (oder kommando- bzw. anweisungsglobal), so muss der Pfad nicht vollständig (oder gar nicht) ange-geben werden. Ein Operand, der zur Identifizierung der zu kopierenden Operandendefinition nicht unbedingt gebraucht wird, sowie der zu ihm gehörende Operandenwert muss nicht angegeben werden. Ein zu VALUE-Li (i=1,..,5) angegebener Operandenwert muss zu dem Operanden gehören, der durch OPERAND-Li bestimmt ist. Nach dem ersten VALUE-Li=*NO betrachtet SDF-A den durch OPERAND-Li bestimmten Operanden als den, dessen Definition zu kopieren ist. SDF-A wertet dann die Angaben zu eventuellen restlichen OPERAND-Lj, VALUE-Lj nicht mehr aus. Wird zu VALUE-Li ein anderer Wert als *NO angegeben, so muss zu OPERAND-Li+1 ebenfalls ein von *NO verschiedener Wert angegeben werden.

OPERAND-L1 = *CURRENT / <structured-name 1..20>
Bestimmt den Operanden, dessen Definition zu kopieren ist (VALUE-L1=*NO), oder einen Operanden, der auf dem Pfad zu diesem liegt (VALUE-L1î*NO). *CURRENT bedeutet, dass OPERAND-L1 aktuelles Objekt ist. <structured-name> muss ein kommando- bzw. anweisungsglobal eindeutiger Operandenname sein.

VALUE-L1 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /*POSIX-PATHNAME / *POSIX-FILENAME / <composed-name 1..30>
Die Angabe *NO bedeutet, dass die Definition von OPERAND-L1 zu kopieren ist. Andernfalls ist ein Operandenwert anzugeben, der eine Struktur einleitet. Diese muss den Operanden unmittelbar oder mittelbar enthalten, dessen Definition zu kopieren ist. Ist der struktureinleitende Operandenwert vom Datentyp KEYWORD(-NUMBER), so ist der für ihn definierte Einzelwert anzugeben (siehe ADD-VALUE TYPE=*KEYWORD,..., VALUE= <c-string>). Dabei ist zu beachten, dass dieser Einzelwert in jedem Fall ohne vorangestellten Stern anzugeben ist. Ist der struktureinleitende Operandenwert nicht vom Typ KEYWORD(-NUMBER), so ist der für ihn definierte Datentyp anzugeben.

OPERAND-L2 = *NO / <structured-name 1..20>
Die Angabe *NO bedeutet, dass OPERAND-L2 für die Spezifizierung des Operanden, dessen Definition zu kopieren ist, irrelevant ist. Andernfalls ist der Name eines Operanden anzugeben, der innerhalb der durch VALUE-L1 bestimmten Struktur eindeutig ist. Dieser Operand ist entweder der, dessen Definition zu kopieren ist (VALUE-L2=*NO), oder einer, der auf dem Pfad zu diesem liegt (VALUE-L2î*NO).

VALUE-L2 = analog VALUE-L1
Die Angabe *NO bedeutet, dass VALUE-L2 für die Spezifizierung des Operanden irrelevant ist. Andernfalls ist ein Operandenwert anzugeben, der eine Struktur einleitet. Diese muss den Operanden unmittelbar oder mittelbar enthalten, dessen Definition zu kopieren ist. Weitere Informationen siehe VALUE-L1.

OPERAND-L3 = *NO / <structured-name 1..20>
Die Angabe *NO bedeutet, dass OPERAND-L3 für die Spezifizierung des Operanden, dessen Definition zu kopieren ist, irrelevant ist. Andernfalls ist der Name eines Operanden anzugeben, der innerhalb der durch VALUE-L2 bestimmten Struktur eindeutig ist. Dieser Operand ist entweder der, dessen Definition zu kopieren ist (VALUE-L3=*NO), oder einer, der auf dem Pfad zu diesem liegt (VALUE-L3î*NO).

VALUE-L3= analog VALUE-L1
Die Angabe *NO bedeutet, dass VALUE-L3 für die Spezifizierung des Operanden irrelevant ist. Andernfalls ist ein Operandenwert anzugeben, der eine Struktur einleitet. Diese muss den Operanden unmittelbar oder mittelbar enthalten, dessen Definition zu kopieren ist. Weitere Informationen siehe VALUE-L1.

OPERAND-L4 = *NO / <structured-name 1..20>
siehe OPERAND-L2.

VALUE-L4 = analog VALUE-L1
siehe VALUE-L2.

OPERAND-L5 = *NO / <structured-name 1..20>
siehe OPERAND-L2.

ORIGIN =
Bestimmt das Kommando oder die Anweisung, zu dem die zu kopierende Operandendefinition gehört.

ORIGIN = *CURRENT
Die Operandendefinition gehört zu demselben Kommando (bzw. zu derselben Anweisung), in das SDF-A die Kopie einfügen soll.

ORIGIN = *COMMAND(...)
Die Operandendefinition gehört zu einem Kommando.

NAME = <structured-name 1..30>
Name des Kommandos.

ORIGIN = *STATEMENT(...)
Die Operandendefinition gehört zu einer Anweisung.

NAME = <structured-name 1..30>
Name der Anweisung.

PROGRAM = <structured-name 1..30>
Name des Programms, zu dem die Anweisung gehört.

OBJECT = *VALUE(...)
Bestimmt, dass die Definition eines Operandenwerts kopiert wird. Dieser Operandenwert wird durch Angabe des zu ihm führenden Pfades spezifiziert, d.h. durch Angabe der auf diesem Pfad liegenden Operanden und struktureinleitenden Operandenwerte. Gehört der Operandenwert zu einem Operanden, der außerhalb jeder Struktur steht, so liegt auf dem Pfad nur dieser Operand. Gehört der Operandenwert zu einem Operanden, der in einer Struktur steht, so liegen auf dem Pfad außerdem die übergeordneten Operanden und die zu diesen gehörenden struktureinleitenden Operandenwerte. Ist der Name eines auf diesem Pfad liegenden Operanden nicht nur innerhalb seiner Struktur eindeutig, sondern auch in Bezug auf die übergeordnete Struktur (oder kommando- bzw. anweisungsglobal), so muss der Pfad nicht vollständig angegeben werden. Ein Operand, der zur Identifizierung der zu kopierenden Operandenwertdefinition nicht unbedingt gebraucht wird, sowie der zu ihm gehörende Operandenwert muss nicht angegeben werden. Ein zu VALUE-Li (i=1,..,5) angegebener Operandenwert muss zu dem Operanden gehören, der durch OPERAND-Li bestimmt ist. Nach dem ersten OPERAND-Li+1=*NO betrachtet SDF-A den durch VALUE-Li bestimmten Operandenwert als den, dessen Definition zu kopieren ist. SDF-A wertet dann die Angaben zu eventuellen restlichen OPERAND-Lj, VALUE-Lj nicht mehr aus. Wird zu OPERAND-Li ein anderer Wert als *NO angegeben, so muss zu VALUE-Li ebenfalls ein von *NO verschiedener Wert angegeben werden.

OPERAND-L1 = *ABOVE-CURRENT / <structured-name 1..20>
Bestimmt den Operanden, zu dem der Operandenwert, dessen Definition zu kopieren ist, gehört (OPERAND-L2=*NO), oder einen Operanden, der auf dem Pfad zu diesem Operandenwert liegt (OPERAND-L2î*NO).
*ABOVE-CURRENT bedeutet, dass ein zu OPERAND-L1 gehörender Wert aktuelles Objekt ist. <structured-name> muss ein kommando- bzw. anweisungsglobal eindeutiger Operandenname sein.

VALUE-L1=*CURRENT / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING/ *C-STRING / *NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME /*PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN / *COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /*POSIX-PATHNAME / *POSIX-FILENAME / <composed-name 1..30>
Bestimmt den Operandenwert, dessen Definition zu kopieren ist (OPERAND-L2=*NO), oder einen struktureinleitenden Operandenwert, der auf dem Pfad zu diesem liegt (OPERAND-L2î*NO). *CURRENT bedeutet, dass VALUE-L1 aktuelles Objekt ist. Ist er nicht aktuelles Objekt und vom Datentyp KEYWORD(-NUMBER), so ist der für ihn definierte Einzelwert anzugeben (siehe ADD-VALUE TYPE=*KEYWORD,..., VALUE=<c-string>). Dabei ist zu beachten, dass dieser Einzelwert in jedem Fall ohne vorangestellten Stern anzugeben ist. Ist der Operandenwert nicht vom Typ
KEYWORD(-NUMBER), so ist der für ihn definierte Datentyp anzugeben.

OPERAND-L2 = *NO / <structured-name 1..20>
Die Angabe *NO bedeutet, dass die Definition von VALUE-L1 zu kopieren ist. Andernfalls ist der Name des Operanden anzugeben, zu dem der Operandenwert, dessen Definition zu kopieren ist, gehört (OPERAND-L3=*NO), oder der Name eines Operanden, der auf dem Pfad zu diesem Operandenwert liegt (OPERAND-L3î*NO). Wird ein Operandenname angegeben, so muss dieser innerhalb der durch VALUE-L1 bestimmten Struktur eindeutig sein.

VALUE-L2 = *NO / *COMMAND-REST / *INTEGER / *LONG-INTEGER / *X-STRING / *C-STRING /*NAME / *ALPHANUMERIC-NAME / *STRUCTURED-NAME / *FILENAME / *PARTIAL-FILENAME / *TIME / *DATE / *TEXT / *CAT-ID / *LABEL / *VSN /*COMPOSED-NAME / *X-TEXT / *FIXED / *DEVICE / *PRODUCT-VERSION /*POSIX-PATHNAME / *POSIX-FILENAME / <composed-name 1..30>
Die Angabe *NO bedeutet, dass VALUE-L2 für die Spezifizierung des zu kopierenden Operandenwerts irrelevant ist. Andernfalls ist ein Operandenwert anzugeben. Dieser ist entweder der Operandenwert, dessen Definition zu kopieren ist (OPERAND-L3=*NO), oder ein struktureinleitender Operandenwert, der auf dem Pfad zu diesem liegt (OPERAND-L3î*NO). Weitere Informationen siehe VALUE-L1.

OPERAND-L3 = *NO / <structured-name 1..20>
Die Angabe *NO bedeutet, dass OPERAND-L3 für die Spezifizierung der zu kopierenden Operandenwertdefinition irrelevant ist. Andernfalls ist der Name des Operanden anzugeben, zu dem der Operandenwert, dessen Definition zu kopieren ist, gehört (OPERAND-L4=*NO), oder der Name eines Operanden, der auf dem Pfad zu diesem Operandenwert liegt (OPERAND-L4î*NO). Wird ein Operandenname angegeben, so muss dieser innerhalb der durch VALUE-L2 bestimmten Struktur eindeutig sein.

VALUE-L3 = analog VALUE-L2
Die Angabe *NO bedeutet, dass VALUE-L3 für die Spezifizierung der zu kopierenden Operandenwertdefinition irrelevant ist. Andernfalls ist ein Operandenwert anzugeben. Dieser ist entweder der Operandenwert, dessen Definition zu kopieren ist (OPERAND-L4=*NO), oder ein struktureinleitender Operandenwert, der auf dem Pfad zu diesem liegt (OPERAND-L4î*NO). Weitere Informationen siehe VALUE-L1.

OPERAND-L4 = *NO / <structured-name 1..20>
siehe OPERAND-L3.

VALUE-L4 = analog VALUE-2
siehe VALUE-L2.

OPERAND-L5 = *NO / <structured-name 1..20>
siehe OPERAND-L3.

VALUE-L5= analog VALUE-2
siehe VALUE-L2.

ORIGIN =
Bestimmt das Kommando oder die Anweisung, zu dem die zu kopierende Operandenwertdefinition gehört.

ORIGIN = *CURRENT
Die Operandenwertdefinition gehört zu demselben Kommando (bzw. zu derselben Anweisung), in das SDF-A die Kopie einfügen soll.

ORIGIN = *COMMAND(...)
Die Operandenwertdefinition gehört zu einem Kommando.

NAME = <structured-name 1..30>
Name des Kommandos.

ORIGIN = *STATEMENT(...)
Die Operandenwertdefinition gehört zu einer Anweisung.

NAME = <structured-name 1..30>
Name der Anweisung.

PROGRAM = <structured-name 1..30>
Name des Programms, zu dem die Anweisung gehört.

FROM-FILE =
Syntaxdatei, die die zu kopierenden Definitionen bzw. die zu kopierende Globalinformation enthält.

FROM-FILE = *CURRENT
Die zurzeit bearbeitete Syntaxdatei enthält die zu kopierenden Definitionen. Das ist nur möglich beim Kopieren von Operanden- oder Operandenwertdefinitionen.

FROM-FILE = *TASK-HIERARCHY
Die zu kopierende Definition wird aus einer der Syntaxdateien geholt, die zur aktuellen Syn-taxdatei-Hierarchie der Task gehören.

FROM-FILE = <filename 1..54 without-gen-vers>(...)
Die genannte Syntaxdatei enthält die zu kopierenden Definitionen bzw. die zu kopierende Globalinformation.

TYPE = *CURRENT / *USER / *GROUP / *SYSTEM
Die Syntaxdatei mit den zu kopierenden Definitionen bzw. der zu kopierende Globalinformation ist


*CURRENT
*USER
*GROUP
*SYSTEM


von der gleichen Art, wie die bearbeitete Syntaxdatei
eine Benutzersyntaxdatei
eine Gruppensyntaxdatei
eine Systemsyntaxdatei.

ATTACHED-INFO =
Bestimmt, welche der Definitionen, die zu dem spezifizierten Objekt gehören, kopiert werden. Für die Globalinformation, Programme und Anwendungsbereiche interpretiert SDF-A den Wert ONLY als *YES.

ATTACHED-INFO = *YES
Die Definition des spezifizierten Objekts wird einschließlich der Definitionen aller Objekte kopiert, die dem spezifizierten zugeordnet sind. (Anwendungsbereich mit zugeordneten Kommandos, Programm mit zugehörigen Anweisungen, Kommando oder Anweisung mit zugehörigen Operanden, Operand mit zugehörigen Operandenwerten, Operandenwert mit zugehöriger Struktur, Globalinformation mit sprachabhängigen Texten.)

ATTACHED-INFO = *NO
Die Definition des spezifizierten Objekts wird ohne die Definitionen der Objekte kopiert, die dem spezifizierten zugeordnet sind. (Anwendungsbereich ohne Kommandozuordnungen, Programm ohne zugehörige Anweisungen, Kommando oder Anweisung ohne zugehörige Operanden, Operand ohne zugehörige Operandenwerte, Operandenwert ohne zugehörige Struktur, Globalinformation ohne sprachabhängige Texte.)

ATTACHED-INFO = *ONLY
Ausschließlich die Definitionen der Objekte, die dem spezifizierten zugeordnet sind, werden kopiert. Die Definition des spezifizierten Objekts selbst wird nicht kopiert. (Beispiele: Operandenwerte ohne den Operanden, zu dem sie gehören; eine Struktur ohne den struktureinleitenden Operandenwert.)

OVERWRITE-POSSIBLE =
Bestimmt, ob die Definition eines Anwendungsbereichs, eines Kommandos, eines Programms oder einer Anweisung kopiert wird, wenn dieses Objekt bereits in der geöffneten Syntaxdatei definiert ist.

OVERWRITE-POSSIBLE = *NO
SDF-A lehnt das Kopieren eines Anwendungsbereichs, eines Kommandos, eines Programms oder einer Anweisung mit einer entsprechenden Meldung ab, wenn dieses Objekt bereits in einer bearbeiteten Syntaxdatei definiert ist. Das Kopieren der Globalinformation ist möglich.

OVERWRITE-POSSIBLE = *YES
SDF-A kopiert unabhängig davon, ob das Objekt bereits in der geöffneten Syntaxdatei definiert ist. Dabei ersetzt SDF-A ggf. die in der geöffneten Syntaxdatei vorhandene Definition durch die zu kopierende Definition. Ein Kommando oder eine Anweisung kann nur dann überschrieben werden, wenn:

  • NAME oder STANDARD-NAME identisch sind und

  • INTERNAL-NAME identisch ist.

OVERWRITE-POSSIBLE = *EXTERNAL-ATTRIBUTES
SDF-A kopiert nur die Objekte ohne die Definition der Objekte selbst. Die Definitionen der Objekte, die sich an den überschriebenen Anwendungsbereich oder an das Programm anschließen (z.B. Kommandos oder Anweisungen), bleiben erhalten. Die Angabe dieses Operanden ist nur möglich für das Kopieren von Anwendungsbereichen und Programmen (COPY OBJ =*DOMAIN...oder OBJ=*PROGRAM...). Der Operand ATTACHED-INFO erhält den Wert *NO, unabhängig davon, ob Sie einen anderen Wert angegeben haben.