Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

COMPARE-SYNTAX-FILE Compare objects from two syntax files

&pagelevel(4)&pagelevel

Objects in two different syntax files can be compared using the COMPARE-SYNTAX-FILE statement.

First of all, SDF-A searches for the object to be compared using the external name in the first syntax file. If it exists, SDF-A searches for this object using its internal name in the second syntax file. Therefore only objects with the same internal names can be compared. In the comparison log, SDF-A always uses the first default name of the object, i.e. the output can display two different external names for objects with the same internal names.

COMPARE-SYNTAX-FILE

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>

*COMMAND(...)

NAME = *ALL / <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>

*STATEMENT(...)

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

*OPERAND(...)

OPERAND-L1 = <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 = *COMMAND(...) / *STATEMENT(...)

*COMMAND(...)

NAME = <structured-name 1..30>

*STATEMENT(...)

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


*VALUE(...)

OPERAND-L1 = <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 = *COMMAND(...) / *STATEMENT(...)

*COMMAND(...)
   NAME = <structured-name 1..30>

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

,INPUT-FILE = <filename 1..54 without-gen-vers>(...)

<filename1..54 without-gen-vers>(...)

   TYPE = *SYSTEM / *USER / *GROUP

,COMPARE-FILE = <filename 1..54 without-gen-vers>(...)

<filename 1..54 without-gen-vers>(...)

   TYPE = *SYSTEM / *USER / *GROUP

,ATTACHED-INFORMATION = *YES / *NO

,OUTPUT = *SYSOUT / *SYSLST(...)

*SYSLST(...)

   SYSLST-NUMBER = *STD / <integer 1..99>

,COMPARE-ATTRIBUTES = *ALL / *USER-INTERFACE / *PRIVILEGES-ALLOWNESS


OBJECT =
Type of object whose definition is to be compared.

OBJECT = *GLOBAL-INFORMATION
Specifies that the global information of syntax files is to be compared.

OBJECT = *DOMAIN(...)
Specifies that the definitions of domains are to be compared.

NAME = *ALL / <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>
The definitions of all domains or of the domains named are compared.

OBJECT = *COMMAND(...)
Specifies that the definitions of commands are to be compared.

NAME = *ALL / <structured-name 1..30 with-wild> / list-poss(2000):<structured-name 1..30>
The definitions of all commands or of the commands named are compared.

OBJECT = *PROGRAM(...)
Specifies that the definitions of programs are to be compared.

NAME = *ALL / <structured-name 1..30 with-wild> / list-poss(2000): <structured-name 1..30>
The definitions of all programs or of the programs named are compared.

OBJECT = *STATEMENT(...)
Specifies that the definitions of statements are to be compared.

NAME = *ALL / <structured-name 1..30 with-wild / list-poss(2000): <structured-name 1..30>
The definitions of all statements or of the statements named are compared.

PROGRAM = <structured-name 1..30>
Name of the program to which the statements belong.

OBJECT = *OPERAND(...)
Specifies that the definition of an operand is to be compared. If this operand is included in a structure, it is specified by the path leading to it, i.e. by specifying the operands and operand values that introduce the structure in this path. If the name of one of the operands in the path is unique, not only within its structure, but also with respect to the higher-ranking structure (or globally within the command or statement), the path need not be completely specified (it can even be omitted). An operand which is not absolutely essential for the identification of the operand definition to be compared, as well as the operand value pertaining to it, can be omitted. An operand value specified for VALUE-Li (i=1,...,5) must pertain to the operand defined by OPERAND-Li. After the first VALUE-Li = *NO, SDF-A takes the operand defined by OPERAND-Li as the one whose definition is to be compared. Subsequently, SDF-A does not interpret the specifications for any other OPERAND-Lj, VALUE-Lj. If a value other than *NO is specified for VALUE-Li, the value specified for OPERAND-Li + 1 must also be other than *NO.

OPERAND-L1 = <structured-name 1..20>
Specifies the operand whose definition is to be compared (VALUE-L1 = *NO) or an operand in the path leading to it (VALUE-L1 î *NO). <structured-name> must be a globally unique operand name within the command or statement.

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 / *PRODUCT-VERSION /
*POSIX-PATHNAME / *POSIX-FILENAME / <composed-name 1..30> /
*NO means that the definition of OPERAND-L1 is to be compared. Otherwise, an operand value that introduces a structure is to be specified. The structure must directly or indirectly contain the operand whose definition is to be compared. If the operand value introducing the structure is of the data type KEYWORD(-NUMBER), then the particular value defined for it is to be specified (see ADD-VALUE
TYPE=*KEYWORD,...,VALUE= <c-string>). Here it must be remembered that this particular value is to be specified in each case without the prefixed asterisk. If the operand value introducing the structure is not of the type KEYWORD(-NUMBER), then the data type defined for it is to be specified.

OPERAND-L2 = *NO /<structured-name 1..20>
*NO means that OPERAND-L2 is irrelevant for the specification of the operand whose definition is to be compared. Otherwise, the name of an operand that is unique within the structure determined by VALUE-L1 is to be specified. This operand is either the one whose definition is to be compared (VALUE-L2 = *NO) or one that is in the path leading to it (VALUE-L2 î *NO).

VALUE-L2 = analogous to VALUE-L1
*NO means that VALUE-L2 is irrelevant for the specification of the operand. Otherwise, an operand value introducing a a structure is to be specified. The structure must directly or indirectly contain the operand whose definition is to be copied. For further information see VALUE-L1.

OPERAND-L3 = *NO / <structured-name 1..20>
*NO means that OPERAND-L3 is irrelevant for the specification of the operand whose definition is to be compared. Otherwise the name of an operand that is unique within the structure determined by VALUE-L2 is to be specified. This operand is either the one whose definition is to be compared (VALUE-L3 = *NO) or one that is in the path leading to it (VALUE-L3 î *NO).

VALUE-L3= analogous to VALUE-L1
*NO means that VALUE-L3 is irrelevant for the specification of the operand. Otherwise, an operand value introducing a structure is to be specified. The structure must directly or indirectly contain the operand whose definition is to be compared. For further information see VALUE-L1.

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

VALUE-L4 = analogous to VALUE-L1
see VALUE-L2.

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

ORIGIN =
Specifies the command or statement to which the operand definition to be compared pertains.

ORIGIN = *COMMAND (...)
The operand definition pertains to a command.

NAME = <structured-name 1..30>
Name of the command.

ORIGIN = *STATEMENT(...)
The operand definition pertains to a statement.

NAME = <structured-name 1..30>
Name of the statement.

PROGRAM = <structured-name 1..30>
Name of the program to which the statement pertains.

OBJECT = *VALUE(...)
Specifies that the definition of an operand value is to be compared. This operand value is specified by the path leading to it, i.e. by specifying the operands and operand values introducing the structure in this path. If the operand value pertains to an operand that is not attached to any structure, the path contains only this operand. If the operand value does pertain to an operand attached to a structure, the path also includes the higher-ranking operands as well as the associated operand values introducing the structure. If the name of one of the operands in the path is unique, not only within its structure, but also with respect to the higher-ranking structure (or globally within the command or statement), the path need not be completely specified. An operand that is not absolutely essential to identify the operand value definition to be compared, as well as the operand value pertaining to it, can be omitted. An operand value specified for VALUE-Li (i=1,...,5) must pertain to the operand defined by OPERAND-Li. After the first OPERAND-Li+1=*NO, SDF-A takes the operand value defined by VALUE-Li as the one whose definition is to be compared. Subsequently, SDF-A does not interpret the specifications for any other OPERAND-Lj, VALUE-Lj. If a value other than *NO is specified for OPERAND-Li, the value specified for VALUE-Li must also be other than *NO.

OPERAND-L1 = <structured-name 1..20>
Specifies the operand to which the operand value whose definition is to be compared pertains (OPERAND-L2 = *NO) or an operand in the path leading to this operand value (OPERAND-L2 î *NO).

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>
Specifies the operand value whose definition is to be compared (OPERAND-L2=*NO) or an operand value, introducing a structure, in the path leading to it (OPERAND-L2î*NO). If VALUE-L1 is of data type KEYWORD(-NUMBER), then the particular value defined for it is to be specified (see ADD-VALUE TYPE=*KEYWORD,...,VALUE=<c-string>). Here it must be remembered that this particular value is to be specified in each case without the prefixed asterisk. If the operand value is not of the type KEYWORD(-NUMBER), then the data type defined for it is to be specified.

OPERAND-L2 = *NO / <structured-name 1..20>
*NO means that the definition of VALUE-L1 is to be compared. Otherwise, the name of the operand to which the operand value whose definition is to be compared pertains (OPERAND-L3 = *NO) or the name of an operand in the path leading to this operand value (OPERAND-L3 î *NO) is to be specified. If an operand name is specified, this must be unique within the structure defined by VALUE-L1.

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> /
*NO means that the VALUE-L2 is irrelevant for the specification of the operand value to be compared. Otherwise, an operand value is to be specified. This operand value is either the one whose definition is to be compared (OPERAND-L3=*NO) or an operand value introducing a structure in the path leading to it (OPERAND-L3î*NO). For further information see VALUE-L1.

OPERAND-L3 = *NO / <structured-name 1..20>
*NO means that OPERAND-L3 is irrelevant for the specification of the definition of the operand value to be compared. Otherwise, the name of the operand to which the operand value whose definition is to be compared pertains (OPERAND-L4=*NO) or the name of an operand in the path leading to this operand value (OPERAND-L4î*NO) is to be specified. If an operand name is specified, this must be unique within the structure defined by VALUE-L2.

VALUE-L3 = analogous to VALUE-L2
*NO means that VALUE-L3 is irrelevant for the specification of the definition of the operand value to be compared. Otherwise an operand value is to be specified. This operand value is either the one whose definition is to be compared (OPERAND-L4 = *NO) or an operand value, introducing a structure, in the path leading to it (OPERAND-L4î*NO). For further information see VALUE-L1.

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

VALUE-L4 = analogous to VALUE-2
see VALUE-L2.

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

VALUE-L5= analogous to VALUE-2
see VALUE-L2.

ORIGIN =
Specifies the command or statement to which the operand value definition to be compared pertains.

ORIGIN = *COMMAND(...)

The operand value definition pertains to a command.

NAME = <structured-name 1..30>
Name of the command.

ORIGIN = *STATEMENT(...)
The operand value definition pertains to a statement.

NAME = <structured-name 1..30>
Name of the statement.

PROGRAM = <structured-name 1..30>
Name of the program to which the statement pertains.

INPUT-FILE = <filename 1..54 without-gen-vers>(...)
Syntax file containing the definitions or global information to be compared.

TYPE = *SYSTEM / *GROUP / *USER
The type of syntax file containing the definitions or the global information to be compared: system syntax file, group syntax file or user syntax file.

COMPARE-FILE = <filename 1..54 without-gen-vers>(...)
Syntax file with which the definitions or global information from INPUT-FILE are to be compared.

TYPE = *SYSTEM / *GROUP / *USER
Type of syntax file:
system syntax file, group syntax file or user syntax file.

ATTACHED-INFO =
Specifies which of the definitions pertaining to the particular object are to be output.

ATTACHED-INFO = *YES
The definition of the particular object is output, along with the definitions of all objects associated with the particular object (in other words: domain with associated commands, program with associated statements, command or statement with associated operand values, operand value with associated structure, global information with languagedependent texts).

ATTACHED-INFO = *NO
The definition of the specified object is output without the definitions of the objects associated with the specified object (in other words: domain without associated commands, program without associated statements, command or statement without associated operands, operand without associated operand values, operand value without associated structure, global information without language-dependent texts).

OUTPUT =
Specifies the output medium for the comparison log.

OUTPUT = *SYSOUT
Output is directed to the logical system file SYSOUT, i.e. in interactive mode usually to the screen.

OUTPUT = *SYSLST(...)
Output is directed to the logical system file SYSLST.

SYSLST-NUMBER = *STD / <integer 1..99>
Specifies the number of the logical system file SYSLST. If *STD is specified, the logical system file SYSLST is not numbered.

COMPARE-ATTRIBUTES =
Specifies the comparison attributes.

COMPARE-ATTRIBUTES = *ALL
The complete object definition is compared.

COMPARE-ATTRIBUTES = *USER-INTERFACE
The following are compared:

  • the help texts of the command, the statement, the domain or the operand

  • the additions to the data type of an operand value (e.g. <integer 1..99>)

  • the commentary line assigned to a program.

COMPARE-ATTRIBUTES = *PRIVILEGES-ALLOWNESS
The following are compared:

  • the input modes (DIALOG-ALLOWED, DIALOG-PROC-ALLOWED, BATCH-ALLOWED etc.)

  • the privileges which are assigned to the object.

Outputs of the COMPARE-SYNTAX-FILE statement

If the definitions of the objects to be compared are identical, only the names of the two syntax files and then the message END OF COMPARISON are output.

If the definitions of the objects to be compared are not identical, SDF-A outputs the following information:

  • Name of both syntax files

  • Identification of the objects which are defined differently

  • Differences in the definition

Names of the two syntax files

The figure in the first column identifies the syntax file:

1 : Syntax file which was specified with INPUT-FILE
2 : Syntax file which was specified with COMPARE-FILE

If the digit in the first column is missing, the information following it is valid for both syntax files.

Identifying the objects which are defined differently

SDF-A searches for objects with the external name in syntax file 1 (INPUT-FILE). If the name exists, SDF-A searches for this object by its internal name in syntax file 2 (COMPARE-FILE).

The identifier in the comparison log always begins with the object type, followed by a colon and the exact path to the object. The meanings of the terms in the following text are:

<domain-name>Name of the domain
<command-name>First STANDARD-NAME of the command
(see ADD-CMD, "ADD-CMD Define command")
<program-name>Name of the program
<statement-name>

First STANDARD-NAME of the statement
(see ADD-STMT, "ADD-STMT Define statement")

<operand-name>First STANDARD-NAME of the operand
(see ADD-OPERAND, "ADD-OPERAND Define operand")

<value-name>

First STANDARD-NAME of the operand value, if it is of the data type
KEYWORD(-NUMBER); otherwise the data type of the operand value
in lowercase letters.


DOMAIN:<domain-name>

Differences in the definition of a domain.

COMMAND:<domain-name>.<command-name>

Differences in the command definition, and the comparison was carried out using OBJECT=*DOMAIN(...).

COMMAND:<command-name>

Differences in the command definition, and the comparison was carried out using OBJECT=*COMMAND(...).

PROGRAM:<program-name>

Differences in the program definition.

STATEMENT:<program-name>.<statement-name>

Differences in the statement definition.

OPERAND:<domain-name>.<command-name>.<operand-name>

Differences in the operand definition of a command, and the comparison was carried out using OBJECT=*DOMAIN(...).

OPERAND:<command-name>.<operand-name>

Differences in the operand definition of a command, and the comparison was carried out using OBJECT=*COMMAND(...).

OPERAND:<program-name>.<statement-name>.<operand-name>

Differences in the operand definition of a statement and the comparison was carried out using OBJECT=*PROGRAM(...).

VALUE:<domain-name>.<command-name>.<operand-name>.<value-name>

Differences in the operand value definition of a command, and the comparison was carried out using OBJECT=*DOMAIN(...).

VALUE:<command-name>.<operand-name>.<value-name>

Differences in the operand value definition of a command, and the comparison was carried out using OBJECT=*COMMAND(...).

VALUE:<program-name>.<statement-name>.<operand-name>.<value-name>

Differences in the operand value definition of a command, and the comparison was carried out using OBJECT=*PROGRAM(...).

Differences between the compared objects

Directly after the object identifier, the results of the comparison are output.
Lines without the digit 1 or 2 in the first column are relevant to both syntax files and contain, for example, the text 'NOT DEFINED' as an indication that the object to be defined is not defined in both syntax files. The following are examples of output lines in a comparison log and with a short explanation.

Examples of undefined objects

PROGRAM NOT DEFINED

No program is defined in either of the syntax files. OBJECT=*PROGRAM(NAME=*ALL) was specified for the comparison.

PROGRAM:SDF-A NOT DEFINED

The program SDF-A is defined neither in syntax file 1 (INPUT-FILE) nor in syntax file 2 (COMPARE-FILE).

1 OPERAND:MODIFY-SDF-OPTIONS.MODE.TEST.CHECK-PRIVILEGES NOT DEFINED

In syntax file 1, the CHECK-PRIVILEGE operand is not defined in the structure MODE=*TEST(...) in the command MODIFY-SDF-OPTIONS.

2 COMMAND:SDF.RESET-INPUT-DEFAULTS NOT DEFINED

In syntax file 2, the RESET-INPUT-DEFAULTS command is not defined in the domain SDF.

1 COMMAND:MODIFY-SDF-OPTIONS NOT DEFINED
2 COMMAND:MODIFY-SDF-OPTIONS NOT DEFINED

The MODIFY-SDF-OPTIONS command does not have the same internal name in syntax file 2 as in syntax file 1.

Examples of different objects

Differences are presented in the form of the part of the SDF-A statement with which the effected object was defined; e.g. ADD-CMD for differences between commands, ADD-DOMAIN for differences between domains, or SET-GLOBALS for different global information.

1 COMMAND:MODIFY-SDF-OPTIONS HELP=(E('help from input-file'))
2 COMMAND:MODIFY-SDF-OPTIONS HELP=(E('help from compare-file'))

The help texts for the MODIFY-SDF-OPTIONS command are different.
The difference is presented as a part of the statement ADD-CMD NAME=MODIFY-SDF-OPTIONS,...,HELP=(E('...')).

1 COMMAND:MODIFY-SDF-OPTIONS HELP=(E('help from compare-file')) NOT DEFINED

There is no English help text defined in syntax file 1 for the MODIFY-SDF-OPTIONS command (the help text 'help from compare-file' is from syntax file 2 and is missing in syntax file 1).

1 VALUE:SDF.MODIFY-SDF-OPTIONS.MODE.TEST STRUCTURE=YES
2 VALUE:SDF.MODIFY-SDF-OPTIONS.MODE.TEST STRUCTURE=NO

The TEST value in the MODE operand of the MODIFY-SDF-OPTIONS command (SDF domain) is defined in syntax file 1 with STRUCTURE=*YES, and in syntax file 2 with STRUCTURE=*NO.