Generate Repository Schema utility

The Generate Repository Schema utility generates a Synergy Data Language description of your repository to a file. This description is referred to as a schema. See Synergy Data Language for more information about Synergy Data Language and possible uses for a repository schema file.

Note

You can also run this utility from the command line. See rpsutl utility.

1. Select Utilities > Generate Repository Schema. The default repository filenames displayed are determined by the logic discussed in Determining the repository files used.

1. Generating a repository schema.

2. Enter data in each field as instructed below.

Repository main file

Enter or select the name of the repository main file from which a schema should be generated.

Repository text file

Enter or select the name of the repository text file from which a schema should be generated.

Schema file

Enter the name of the file into which the repository schema should be generated. If you don’t specify an extension, it defaults to .ddf. By default, the file is created in the current working directory.

Option

Indicate whether you want to generate a schema for all definitions in the repository or for specific (selected) definitions. Selecting Specific enables you to generate schema for a specific format, enumeration, template, structure, file, or any combination thereof.        

Note

If you select All, the generated schema file will be valid for use by the Load Repository Schema utility. The Specific option could result in a Synergy Data Language file that contains duplicate definitions or missing (referenced) definitions, and which therefore may not be valid for use by the Load Repository Schema utility. See General usage rules for a description of the allowed structure of a repository schema file.

Tip

When selecting specific definitions, you can enter a partial name combined with wildcard characters (* or ?) to specify a set of definitions.

For the Format, Enumeration, Template, Structure, and File fields, you can select from a list of definitions by selecting Utility Functions > List Selections.

Generate structure timestamps

Select this option to include the date and time that each structure definition was last modified. This option adds the MODIFIED keyword to each generated structure definition. If you manually edit the schema, you should update this value for any structures that you change. See STRUCTURE for more information.

Format

If you selected Specific in the Option field, enter the name of a format definition to generate.

Enumeration

If you selected Specific in the Option field, enter the name of an enumeration definition to generate.

Template

If you selected Specific in the Option field, enter the name of a template definition to generate.

Structure

If you selected Specific in the Option field, enter the name of a structure definition to generate. This can be the name of an alias structure, but you must type it in, rather than select it using the List Selections option.

Keys, Relations, Aliases

If you selected All in the Option field or selected Specific and specified a structure name, indicate whether you want to generate the keys, relations, and aliases. By default, all definitions associated with a structure are generated; clear the check boxes for those you do not want generated.

File

If you selected Specific in the Option field, enter the name of a file definition to generate.

Structures, Keys, Relations, Aliases

If you selected Specific in the Option field and specified a filename in the File field, indicate whether you want to generate the file’s assigned structures as well. If you select Structures, all definitions associated with each assigned structure are generated by default; clear the check boxes for Keys, Relations, and Aliases if you do not want to generate those definitions.

To set these options when you want to generate all files, select Specific in the Option field and enter “*” in the File field.

3. Exit the window to generate the repository schema.

As the repository schema is being generated, status messages are displayed in the lower-left corner of the window. When processing is complete, a message that lists the number of each type of definition generated is displayed.

4. To return to the Utilities menu, press Enter.

Synergy Data Language file header

The output file generated by this utility includes a header that lists the name and version of the repository being generated, the date and time the utility was run, and information about the export options that were chosen. Possible export options include the following:

[ALL]|[FORMAT=name][ENUMERATION=name][TEMPLATE=name][STRUCTURE=name][FILE=name]

Additionally, the [ALL], [STRUCTURE], and [FILE] options may include abbreviations relative to the generated output. Possible abbreviations include the following:

-K = Exclude keys

-R = Exclude relations

-A = Exclude aliases

+S = Include assigned structures

For example, if you select All in the Option field and clear the default Keys setting, the information in the export options line in the output file would look like this:

;  EXPORT OPTIONS : [ALL-K]

If you select Specific in the Option field, specify the file definition name CUSTOMER, and choose to generate its assigned structures but not their aliases, the export options line would look like this:

;  EXPORT OPTIONS : [FILE+S-A=CUSTOMER]

The file below is an example of the Synergy Data Language output generated by the Generate Repository Schema utility when the All option is selected.

;  SYNERGY DATA LANGUAGE OUTPUT
;
;  REPOSITORY     : RPSDAT:rpsmain
;                 : RPSDAT:rpstext
;                 : Version 9.1
;
;  GENERATED      : 06-AUG-2009, 13:23:30
;                 : Version 9.1.5
;  EXPORT OPTIONS : [ALL]
Format STD_ID   Type NUMERIC   "ZZ-Z"
Template DIG8DATE   Type DATE   Size 8   Stored YYYYMMDD
   Description "8-digit date"
   Date Today   Date Short
 
Structure EMPLOYEE   DBL ISAM
   Description "Employee master file"
Field EMP_ID   Type DECIMAL   Size 3
   Description "Employee ID"
   Report Just LEFT   Format STD_ID
   Break   Required   Paint "*"
Field EMP_NAME   Type ALPHA   Size 25
   Description "Employee name"
   Info Line "Enter your full name."
Field EMP_DEPT   Type DECIMAL   Size 2
   Description "Department ID"
   Report Just LEFT
Field EMP_MNGR   Type DECIMAL   Size 3
   Description "Manager ID"
   Report Just LEFT
Field EMP_TITLE   Type ALPHA   Size 25
   Description "Title"
   Uppercase
Field EMP_DATE   Template DIG8DATE
   Description "Starting date"
Field EMP_STATUS   Type ALPHA   Size 1
   Description "Employee status"
   Selection List 2 2 3  Entries "A", "I", "V"
Key EMPLOYEE_ID   ACCESS   Order ASCENDING   Dups NO
   Segment FIELD   EMP_ID
Structure ORDER   DBL ISAM
   Description "Sales order management"
Field ORD_ID   Type DECIMAL   Size 6
   Description "Order ID"
   Report Just LEFT   Break   Noterm   Blankifzero
Field ORD_ITEM   Type DECIMAL   Size 3
   Description "Order item (product ID)"
   Report Just LEFT   Range 1 100
Field ORD_DATE   Template DIG8DATE
   Description "Order initiated date"
Field ORD_SUB   Type DECIMAL   Size 2   Dimension 2:2 
   Overlay ORD_DATE:0
   Description "Order date subscripted"
   Report Just LEFT
Field ORD_STATUS   Type ALPHA   Size 1    
   Description "Status"
   Allow "O", "S", "B"   
Field ORD_DESC   Type ALPHA   Size 40
   Description "Status description"
Key ORDER_ID   ACCESS   Order ASCENDING   Dups NO    
   Segment FIELD   ORD_ID
Key PRODUCT_ID   ACCESS   Order ASCENDING   Dups YES 
   Segment FIELD   ORD_ITEM   
Structure PRODUCT   DBL ISAM  
   Description "Product management"
Format MONEY   Type NUMERIC   "$######.##"   Justify RIGHT  
Field PRDT_ID   Type DECIMAL   Size 3
   Description "Product ID"   
   Report Just LEFT   Format STD_ID    
   Prompt "ID: "   Break   Required  
Field PRDT_NAME   Type ALPHA   Size 25    
   Description "Product name"  
   Prompt "Name: "   Uppercase
Field PRDT_PRICE   Type DECIMAL   Size 8   Precision 2  
   Description "Product price"
   Report Just LEFT   Format MONEY
   Prompt "Price: "   Nodecimal   Blankifzero
Field PRDT_MNGER   Type DECIMAL   Size 3  
   Description "Product manager ID"
   Report Just LEFT 
Field PRDT_DATE   Template DIG8DATE 
   Description "Product available date" 
Field PRDT_STATUS   Type ALPHA   Size 1   
   Description "Prdt portability status"  
   Prompt "Status: "   Allow "A", "D", "O", "I"   

Field PRDT_DESC   Type ALPHA   Size 40   
   Description "Status description"
   Prompt "Description: "
Key PRODUCT_ID   ACCESS   Order ASCENDING   Dups NO  
   Segment FIELD   PRDT_ID    
Key PRDT_MANAGER_ID   ACCESS   Order ASCENDING   Dups YES 
   Segment FIELD   PRDT_MNGER 
Relation  1   PRODUCT PRODUCT_ID   ORDER PRODUCT_ID
Relation  2   PRODUCT PRODUCT_ID   EMPLOYEE EMPLOYEE_ID 
File EMPLOYEE   DBL ISAM   "DAT:employee.ism"
   Description "Employee master file"   
   Assign EMPLOYEE  
File ORDER   DBL ISAM   "DAT:order.ism" 
   Description "Sales order management file" 
   Assign ORDER
File PRODUCT   DBL ISAM   "DAT:product.ism"  
   Description "Product management file"
   Assign PRODUCT