background image

Data Definition 
Language (DDL) 
Reference Manual

Abstract

This manual describes the DDL language syntax and the DDL dictionary database. 
The audience includes application programmers and database administrators.

Product Version

DDL D40

Supported Release Version Updates (RVUs)

This publication supports G02.00 and all subsequent G-series RVUs until otherwise 
indicated by its replacement publication.

Part Number

Published

426798-002

November 2004

Summary of Contents for DDL D40

Page 1: ...nary database The audience includes application programmers and database administrators Product Version DDL D40 Supported Release Version Updates RVUs This publication supports G02 00 and all subsequent G series RVUs until otherwise indicated by its replacement publication Part Number Published 426798 002 November 2004 ...

Page 2: ...ument History Part Number Product Version Published 098209 DDL D20 September 1993 105918 DDL D30 December 1994 122316 DDL D40 November 1995 426798 001 DDL D40 October 2000 426798 002 DDL D40 November 2004 ...

Page 3: ...Conventions xv 1 Introduction to DDL Compiling and Translating Data Definitions 1 1 Using DDL Definitions 1 2 Creating a Dictionary 1 4 Creating a Database 1 5 Generating Source Code 1 7 Maintaining a Dictionary 1 10 Examining a Dictionary 1 11 2 DDL Language Elements DDL Names 2 1 DDL File Names 2 2 Local File Names 2 2 DDL Locale Names 2 4 DDL Numbers 2 5 DDL Strings 2 5 DDL Keywords and Reserve...

Page 4: ...RECORD Statements 5 1 DEFINITION Statement 5 1 Forms of the DEFINITION Statement 5 1 Exceptions for Specifying Definition Clauses 5 2 Field Definition Syntax 5 3 Group Definition Syntax 5 4 Reference Definition Syntax 5 5 Syntax Elements 5 5 Definition Error Handling 5 11 RECORD Statement 5 12 Parts of the RECORD Statement 5 12 File Creation Syntax 5 14 Reference Record Structure Syntax 5 17 Recor...

Page 5: ...Clause 6 73 USAGE Clause 6 74 VALUE Clause 6 79 66 RENAMES Clause 6 85 88 Condition Name Clause 6 86 89 Enumeration Clause 6 89 7 SPI Tokens SPI Token Definition 7 1 DDL Token Definition Statements 7 2 TOKEN TYPE Statement 7 2 TOKEN CODE Statement 7 8 TOKEN MAP Statement 7 13 8 Dictionary Manipulation Statements DELETE Statement 8 1 EXIT Statement 8 4 OUTPUT Statement 8 5 OUTPUT UPDATE Statement 8...

Page 6: ...and 9 25 COLUMNS Command 9 27 COMMENTS Command 9 28 CPRAGMA Command 9 30 CTOKENMAP_ASDEFINE Command 9 31 CUNDEF Command 9 34 C_DECIMAL Command 9 35 C_MATCH_HISTORIC_TAL Command 9 38 DO_PTAL_ON Command 9 40 DDL Command 9 42 DEFLIST Command 9 44 DICT Command 9 47 DICTN Command 9 49 DICTR Command 9 51 EDIT Command 9 52 ERRORS Command 9 54 EXPANDC Command 9 56 FIELDALIGN_SHARED8 Command 9 58 FILLER Co...

Page 7: ...TSECTION Command 9 96 SOURCE Command 9 98 SPACING Command 9 99 TACL Command 9 100 TACLGEN Command 9 103 TAL Command 9 103 TALALLOCATE Command 9 106 TALBOUND Command 9 107 TALCHECK Command 9 108 TALUNDERSCORE Command 9 110 TEDIT Command 9 110 TIMESTAMP Command 9 112 VALUES Command 9 113 WARN Command 9 115 WARNINGS Command 9 115 10 Dictionary Maintenance Generating a Backup Schema 10 1 Adding New Di...

Page 8: ...10 21 Converting a Dictionary 10 21 A DDL Messages Warnings and Errors A 1 DDL Error and Warning Messages A 1 B Sample Schemas Sample Database Schema B 1 Host Language Source Code B 1 Database Schema Listing B 2 Sample SPI Schema B 7 DDL Commands to Create an SPI Schema B 8 Selected ZSPIDDL Statements B 9 ASSNDDL Statements B 10 C DDL Data Translation D Dictionary Database Structure Dictionary Com...

Page 9: ...ctionary Reports Using Enform Queries for Dictionary Reports E 1 Producing Dictionary Reports E 3 Compiling the DDL Dictionary Schema E 3 Requesting Reports E 4 F Syntax Summary DDL Run Command F 1 CONSTANT Statement F 1 DEFINITION Statement F 1 Field Definition F 1 Group Definition F 2 Reference Definition F 3 DELETE Statement F 3 EXIT Statement F 3 OUTPUT Statement F 4 OUTPUT UPDATE Statement F ...

Page 10: ... 9 NULL Clause F 9 OCCURS Clause F 9 OCCURS DEPENDING ON Clause F 10 PICTURE Clause F 10 REDEFINES Clause F 10 SPI NULL Clause F 10 SQLNULLABLE Clause F 10 TACL Clause F 11 TYPE Clause F 11 UPSHIFT Clause F 12 USAGE Clause F 12 VALUE Clause F 12 66 RENAMES Clause F 12 88 Condition Name Clause F 13 89 Enumeration Clause F 13 Compiler Commands F 14 G Pathmaker and DDL H DDL Alignment Rules C00CALIGN...

Page 11: ... Attributes That Differ in DDL and FUP 5 23 Table 6 1 Definition and Record Clauses 6 1 Table 6 2 Display Format Examples 6 5 Table 6 3 Figurative Constants 6 17 Table 6 4 Symbolic Literals 6 18 Table 6 5 Lengths of TACL Data Types 6 45 Table 7 1 Token Definition Statements 7 2 Table 7 2 Structure of a Bit Map 7 24 Table 8 1 Dictionary Manipulation Statements 8 1 Table 9 1 DDL Compiler Commands 9 ...

Page 12: ...Language DDL Reference Manual 426798 002 x Table D 4 SQL DATETIME Element Sizes D 23 Table D 5 SQL INTERVAL Element Sizes D 24 Table E 1 Summary of Dictionary Reports E 2 Table G 1 DDL Features in the Pathmaker Environment G 1 ...

Page 13: ... History New and Changed Information This publication has been updated to reflect new product names Because the product names are changing over time this publication might contain both HP and Compaq product names Product names in graphic representations are consistent with the current product interface The ANSICOBOL Command Description has been added to Section 9 DDL Compiler Commands The entry fo...

Page 14: ...What s New in This Manual Data Definition Language DDL Reference Manual 426798 002 xii New and Changed Information ...

Page 15: ...nerate its own source code from object definitions in a dictionary and produce reports on the contents of a dictionary Audience This manual was written for application programmers and database administrators Application programmers can use DDL to add data definitions to Pathmaker catalogs to define data objects and translate them into host language source code and to define SPI message tokens Data...

Page 16: ...n of statements the creation of objects in dictionaries and the generation of listings reports and host language source code Section 10 Dictionary Maintenance explains how to maintain a DDL dictionary Appendix A DDL Messages lists DDL error and warning messages with brief descriptions of the cause the action DDL takes and the user recovery procedure for each message Appendix B Sample Schemas provi...

Page 17: ... of the prerequisite manuals this manual refers to information in the following HP manuals COBOL85 for NonStop Systems Manual Enform Plus Reference Manual Event Management Service EMS Manual File Utility Program FUP Reference Manual Software Internationalization Guide NonStop SQL MP Reference Manual Pathmaker Programming Guide Guardian Procedure Calls Reference Manual Guardian Procedure Errors and...

Page 18: ...Items not enclosed in brackets are required For example pathname Brackets Brackets enclose optional syntax items For example TERM system name terminal name INT ERRUPTS A group of items enclosed in brackets is a list from which you can choose one item or none The items in the list can be arranged either vertically with aligned brackets on each side of the list or horizontally enclosed in a pair of ...

Page 19: ...ne of the items is a punctuation symbol such as a parenthesis or a comma For example CALL STEPMOM process id If there is no space between two items spaces are not permitted In this example no spaces are permitted between the period and any other items process name su name Line Spacing If the syntax of a command is too long to fit on a single line each continuation line is indented three spaces and...

Page 20: ...he user must press the Return key after typing the input Nonitalic text Nonitalic letters numbers and punctuation indicate text that is displayed or returned exactly as shown For example Backup Up lowercase italic letters Lowercase italic letters indicate variable items whose values are displayed or returned For example p register process name Brackets Brackets enclose items that are sometimes but...

Page 21: ...ecedes a binary number The H notation precedes a hexadecimal number For example 005400 B101111 H2F P p register E e register Notation for Management Programming Interfaces This list summarizes the notation conventions used in the boxed descriptions of programmatic commands event messages and error lists in this manual UPPERCASE LETTERS Uppercase letters indicate names from definition files Type th...

Page 22: ...ed in the right margin of changed portions of text figures tables examples and so on Change bars highlight new or revised information For example The message types specified in the REPORT clause are different in the COBOL environment and the Common Run Time Environment CRE The CRE has many new message types and some new message type codes for old message types In the CRE the message type SYSTEM in...

Page 23: ...is used is described in the same way Although commonly used to describe data in a database a DDL data dictionary can be used to describe other kinds of data For example Transfer applications generally use DDL to define and maintain units of work An application can have more than one dictionary or the application can maintain all of its data in a single dictionary The only restriction is that only ...

Page 24: ...the translated definitions to all open output files and devices Figure 1 1 is an overview of DDL Using DDL Definitions You use DDL statements to define modify delete and display data in a DDL dictionary You use DDL commands to create and open dictionaries and to generate files containing FUP commands data definition source code in different languages and report specifications You can use DDL to pe...

Page 25: ...ORTRAN Pascal pTAL TACL or TAL source code and to write the code to an EDIT file You can edit this code if needed and then add it to your application program Create messages You can use DDL to define messages for interprocess communication and store the message definitions in a DDL dictionary Having stored the messages you can translate them into the appropriate programming language or languages I...

Page 26: ... by more than one user at the same time Once a dictionary is created you can enter object definitions into it If you have a lot of complex definitions you probably want to present them in a source schema EDIT file rather than entering them interactively The source schema statements can be submitted to DDL as an input file in a noninteractive session or submitted with a SOURCE command in an interac...

Page 27: ...se files If you specify a FUP command in a source schema or interactively DDL opens a FUP file translates each subsequent RECORD statement into FUP file creation commands and writes the commands to the open FUP file The FUP command file is an EDIT file If you want to add to the FUP commands generated by DDL you can close the FUP file and then modify it with a text editor For example you could crea...

Page 28: ...tes the following steps for creating database files from DDL record definitions stored in a dictionary 1 Run DDL interactively open the dictionary and open the FUP command file Enter the OUTPUT RECORD statement specifying records defined in the dictionary DDL reads the record definitions from the dictionary and writes file creation commands for each specified record to the open FUP file 2 Optional...

Page 29: ...ta in a database and the data local to an application messages used for interprocess communication units of work for the Transfer Delivery System and SPI tokens used to build SPI messages For DDL to generate source code the appropriate language source file must be open To open a language source file you can include one or more C COBOL FORTRAN Pascal pTAL TACL or TAL commands in the source schema W...

Page 30: ...l for writing selected definitions to the language source file Figure 1 4 on page 1 9 illustrates two techniques for generating language source code These techniques are as follows 1 Generate source code for the entire schema Enter the commands to open a dictionary and a language source file in the schema before entering the definitions Then run DDL to compile the schema DDL builds the dictionary ...

Page 31: ...hanced to generate source code that produces the same data alignment regardless of whether the TNS compilers or native compilers are used To ensure the same data alignment the D40 DDL compiler emits fieldalign shared2 pragmas for C and FIELDALIGN SHARED2 directives for TAL and pTAL Figure 1 4 Generating Source Code 15 DDL IN schema 1 Generate source code entire schema 16 DDL DICT COBOL cobfile OUT...

Page 32: ...the original schema is lost In either case DDL can generate a new schema that accurately reflects the current dictionary and write this schema to a DDL source schema file You should not attempt to back up a dictionary that is part of a Pathmaker catalog using this technique Pathmaker dictionaries contain application design information that is not in generated DDL schemas DDL can compile the entire...

Page 33: ...n compile the source statements into the open dictionary with a SOURCE command Examining a Dictionary DDL produces a schema listing by default In addition DDL can produce a schema report that provides information about the object definitions in a schema For each Figure 1 5 Maintaining a Dictionary 17 DDL DICT SOURCE schema newdef EXIT 1 Add new definition to dictionary 18 DDL DICT DDL ddlsrc OUTPU...

Page 34: ...t your needs Figure 1 6 on page 1 13 shows how to produce a DDL schema report and how to produce dictionary reports using Enform 1 Produce schema report Run DDL with the source schema as the input file and include the REPORT command in the DDL run command Or run DDL interactively compile a DDL source schema file and request the report with a REPORT command The dictionary need not be open By defaul...

Page 35: ...Examining a Dictionary Figure 1 6 Examining a Dictionary 19 DDL REPORT S printer SOURCE schema EXIT 1 Produce schema report 20 ENFORM IN system system ddquerys DICT system ddl 2 Produce dictionary reports DDL ENFORM Source Schema Dictionary Schema Report Dictionary Reports VST006 vsd ...

Page 36: ...Introduction to DDL Data Definition Language DDL Reference Manual 426798 002 1 14 Examining a Dictionary ...

Page 37: ... through 9 of this manual This section describes the following DDL language elements common to statements and commands Names File names Locale names Numbers Strings Keywords and reserved words Special characters Comments Statements Compiler commands DDL Names Names used in DDL statements are DDL names of these types Constant names Definition names Record names Field names Group names Condition nam...

Page 38: ...ile names Network file names You specify these names exactly like file names Local File Names Local file names identify files on a single system or node If the local file name is not in the current subvolume or volume you must qualify the name with a specific subvolume or volume Note DDL supports the underscore as a part of the identifier Note SPI variable names and other names defined by HP begin...

Page 39: ...NonStop systems Always identify a network file by a fully qualified file name that includes the system volume and subvolume on which the file resides The syntax of a network file name follows system name is preceded by a backslash and consists of 1 to 7 alphabetic or numeric ASCII characters the first character must be alphabetic volume name is preceded by a dollar sign and consists of 1 to 6 alph...

Page 40: ...e for a constant as previously defined in the DDL dictionary The name cannot be the same as a DDL keyword or reserved word LN string specifies the value of a string constant string is a string of from 1 to 130 ASCII characters in the following form language code _territory code charset language code is a character string forming a language symbol territory code is a two character string forming an...

Page 41: ...Any plus or minus sign must immediately precede the number The following examples illustrate this notation DDL Strings A DDL string is any combination of ASCII or national characters within quotation marks The maximum length of a DDL string is 130 ASCII characters or 64 national characters If you use the COLUMNS command to specify the number of significant columns in an input line the maximum stri...

Page 42: ...d has a specific syntactical meaning when placed at a keyword position within a statement Keywords must be spelled exactly as shown in this manual To distinguish keywords from variable names in this manual keywords are always capitalized in the formal syntax descriptions When you specify keywords in DDL input however you do not need to capitalize them they are not case sensitive DDL keywords canno...

Page 43: ...EFINES REFRESH RELATIVE RENAMES RIGHT SECOND SEQ SEQUENCE SERIALWRITES SETLOCALENAME SHOW SPACE SPACES SPI NULL SQL SQLNULL SQL NULLABLE SSID SUBVOL SYSTEM TACL TALUNDERSCORE TEMPORARY THROUGH THRU TIME TIMES TIMESTAMP TO TOKEN CODE TOKEN MAP TOKEN TYPE TRANSID TSTAMP TYPE UNSIGNED UNSTRUCTURED UPDATE UPSHIFT USAGE USE USERNAME VALUE VARCHAR VARYING VARIFIEDWRITESVERSION YEAR ZERO ZEROES ZEROS DDL...

Page 44: ...guage see the reference manual for that language For a list of Enform reserved words see the Enform Plus Reference Manual DDL Special Characters The special characters shown in Table 2 1 provide punctuation and other services in a DDL source file Table 2 1 DDL Special Characters Name Character Function Blank Separates keywords data names and other language elements Percent Sign Denotes an octal nu...

Page 45: ...OMMENTS command is specified DDL has two kinds of dictionary comments User defined dictionary comments Dictionary comments generated by DDL Regardless of how they originate all dictionary comments begin with an asterisk in the first character position of an input line and continue for the remainder of the line Following the asterisk a comment can consist of any ASCII characters User Defined Dictio...

Page 46: ...uces these comments in any open C COBOL DDL FORTRAN Pascal TACL or TAL source file You can suppress the writing of dictionary comments to any of these open source files by entering the NOCLISTOUT command You can resume reproducing comments with a CLISTOUT command Putting Comments in the Compiler Listing DDL puts all user defined dictionary comments in its compiler listing by default whether or not...

Page 47: ...a DDL statement You cannot include a listing comment on the same line as a compiler command A listing comment can be on a line by itself for example Suppress the listing of dictionary comments NOCLISTIN You can also put listing comments between clauses in a statement for example An exclamation point ends the first comment and the end of the input line ends the second comment Production Comments DD...

Page 48: ...DL Statement Summary Statement Function Section CONSTANT Defines a constant and its attributes including name type and value The constant can be referred to in other DDL statements added to an open dictionary and compiled into a C COBOL DDL Pascal pTAL TACL or TAL source code file 4 DEFINITION Defines a definition an elementary or group data structure The definition can be added to an open diction...

Page 49: ...tion mark A single command cannot end with a period or any other punctuation mark RECORD Defines a record the record structure and physical characteristics of a disk file The defined record can be added to an open dictionary compiled into FUP file creation commands or compiled into a DDL or host language source code file 5 6 SHOW USE OF Lists all the DDL objects in an open dictionary that directly...

Page 50: ... Elements Data Definition Language DDL Reference Manual 426798 002 2 14 DDL Compiler Commands The DDL compiler commands are described in Section 9 DDL Compiler Commands Table 9 1 on page 9 1 summarizes the commands ...

Page 51: ...ommand you can specify a source schema file to pass to the DDL compiler for processing run option is any of the following CPU IN LIB OUT STATUS DEBUG INLINE MEM OUTV SWAP DEFMODE INSPECT NAME PFS TERM EXTSWAP INV NOWAIT PRI WINDOW HIGHPIN JOBID These run options are all described in detail in the TACL Reference Manual The run options of most importance to DDL are the following IN ddl source file s...

Page 52: ... process runs at a low PIN regardless of other considerations If you omit this run option the default depends on the HIGHPIN setting of the associated TACL process If you access a D series or G series DDL process from a terminal on a system running C series software DDL runs at a low PIN which is useful when the DDL program file s volume is full or busy compiler command is any of the DDL compiler ...

Page 53: ...amed COBSRC Read statements and commands from the source schema file DDLSRC Compile the object definition statements in DDLSRC in accordance with any commands in the source schema and add the compiled objects to the dictionary Write COBOL source code generated from the DDL source schema to COBSRC List the compiler output at the listing destination LISTFILE Running DDL in Interactive Mode DDL runs ...

Page 54: ...L compiler commands are preceded by a question mark and are not ended by a period The n construct is the TACL prompt for user input 2 DDL dict COBOL cobsrc SOURCE newsrc EXIT Assume that a dictionary already exists on the current default volume and subvolume The preceding commands start a DDL process and instruct DDL to perform these operations Open a dictionary on the current default volume and s...

Page 55: ...input from the terminal Open a dictionary on the volume DATA and the subvolume SALES Open the file FUPSRC clearing any contents from the file Retrieve the record CUSTOMER from the dictionary and write the appropriate FUP file creation commands for this record to FUPSRC Exit from DDL returning to the command interpreter Completion Code Processing When the DDL compiler terminates its operation it re...

Page 56: ...Running the DDL Compiler Data Definition Language DDL Reference Manual 426798 002 3 6 Completion Code Processing ...

Page 57: ...referenced by another object DDL issues an error message and does not add the constant to the dictionary If a previous compiler command opened a C COBOL Pascal pTAL TACL or TAL source code file DDL translates any constant defined in a CONSTANT statement into the specified language and writes it to the open source code file constant name is a DDL name for a constant For the rules governing DDL name...

Page 58: ... the type of the constant being defined version specifies the value of a version constant version is an ASCII string with three characters of the form ann in which a is any letter of the alphabet and nn is a 2 digit number DDL treats the letter as uppercase whether you specify it as uppercase or lowercase DDL translates the version string into a version number LN clause specifies the locale associ...

Page 59: ...rom DDL constants Version Constant Guidelines The following points are guidelines for specifying version constants You can use a version constant only in the VERSION clause of a TOKEN MAP statement in the VALUE clause of a DEFINITION statement or in the VALUE clause of a CONSTANT statement When a VALUE clause in a DEFINITION or CONSTANT statement includes a version constant DDL treats the version ...

Page 60: ...ines The following points are guidelines for using the name of an existing constant as the value in a CONSTANT statement You can specify a DDL constant name instead of a literal value in the VALUE clause of a CONSTANT statement whether the constant name identifies a string constant a numeric constant or a version constant When the name identifies a previously defined string constant the new value ...

Page 61: ... version constant DDL generates a define that contains the version number COBOL85 Guidelines The following points are guidelines for generating COBOL85 source code from CONSTANT statements If you request COBOL85 source code output by giving the COBOL command DDL generates a level 01 data description entry for each named constant For a string constant DDL generates a string value identical to the s...

Page 62: ...CL command DDL generates TACL TEXT variables for named constants DDL converts any hyphen in the constant name to a circumflex in the TACL TEXT variable name For a string constant DDL generates a TACL TEXT variable with a value derived from the DDL constant value The value of the TACL TEXT variable differs from the DDL constant if certain special characters are specified in the constant DDL precede...

Page 63: ...ines The following points are guidelines for generating pTAL or TAL source code from CONSTANT statements If you request pTAL or TAL source code output by giving the TAL command DDL generates pTAL or TAL source code for named constants DDL converts any hyphen in the constant name to a circumflex in the TAL DEFINE name For a string constant DDL generates a TAL DEFINE Each DEFINE specifies a value th...

Page 64: ...ype specified for constant C overrides the type specified for constant A When the data types are not the same the constant value must be compatible with each specified data type For example the following statements are both valid the value 1000 is compatible with type BINARY 16 as well as with type BINARY 32 CONSTANT thousand VALUE 1000 TYPE BINARY 32 CONSTANT max value VALUE thousand TYPE BINARY ...

Page 65: ...rd SPI Constants Standard SPI Constants Subsystems that use DSM are provided with a set of CONSTANT statements to define standard values for use in SPI messages For the names and descriptions of standard SPI constants see the SPI Programming Manualand the SPI Common Extensions Manual ...

Page 66: ...Named Constants Data Definition Language DDL Reference Manual 426798 002 4 10 Standard SPI Constants ...

Page 67: ...s are usually specified in a source schema file that is used as the IN file when DDL is executed noninteractively DEFINITION Statement The DEFINITION statement defines a definition that the DDL compiler can add to the currently open DDL dictionary Having been entered in the dictionary the definition can then be included in any later DEFINITION or RECORD statement by reference If a DEFINITION state...

Page 68: ...ement with brief descriptions of the definition clauses most of which specify definition attributes Section 6 Definition Attributes gives complete syntax descriptions and guidelines for these clauses Exceptions for Specifying Definition Clauses You can specify definition clauses in any order for a field or group with these exceptions Any level 88 condition name clauses and level 89 enumeration cla...

Page 69: ...FINITION statement when used to define a field DEF INITION def name PICTURE clause TYPE clause AS clause BEGIN DISPLAY clause EDIT PIC clause EXTERNAL clause HEADING clause HELP clause JUSTIFIED clause MUST BE clause NULL clause SPI NULL clause NOT SQLNULLABLE clause TACL clause UPSHIFT clause USAGE clause VALUE clause 88 condition name clause 89 enumeration clause END ...

Page 70: ...SQLNULLABLE clause USAGE clause VALUE clause Line item specification line item specification 66 RENAMES clause END line item specification is level number field name group name FILLER PICTURE clause TYPE clause AS clause DISPLAY clause EDIT PIC clause HEADING clause HELP clause JUSTIFIED clause LN clause MUST BE clause NULL clause OCCURS clause OCCURS DEPENDING ON clause REDEFINES clause SPI NULL ...

Page 71: ...ef name is a DDL name that uniquely identifies the definition in a dictionary No definition can have the same name as any other object in the dictionary For rules governing DDL names see Section 2 DDL Language Elements def name 1 TYPE def name 2 declares the data structure of a new definition by referring to a previously defined structure def name 1 is a DDL name that uniquely identifies a new def...

Page 72: ...splay string for a field that has the value associated with that level 89 item BEGIN precedes any level 88 condition name clauses and level 89 enumeration clauses in a DEFINITION statement for a single field BEGIN must precede the first period in the definition A DEFINITION statement that includes BEGIN must also include END and at least one level 88 or level 89 clause DISPLAY clause declares a de...

Page 73: ...lause declares a variable length array only for COBOL or DDL source code REDEFINES clause assigns two different data structures with different names to the same storage space SPI NULL clause assigns a null value to a field or group used in an SPI extensible structured token NOT SQLNULLABLE clause specifies whether a group or field is to be treated as an SQL nullable item If SQLNULLABLE is specifie...

Page 74: ...of fields within the definition field name is a DDL name that uniquely identifies a field within the enclosing group description or definition group name is a DDL name that uniquely identifies a group within the enclosing group description or definition FILLER is an unnamed field that reserves storage space within a group definition 88 condition name clause declares a condition name and assigns a ...

Page 75: ...ned by at least a level number and a name The level number must precede the group or field name Other clauses can follow in any order A group DEFINITION statement can contain nested group descriptions which must contain at least one field description Every field within a group DEFINITION statement must be described with a PICTURE or TYPE clause a group description cannot have either clause The TYP...

Page 76: ...ion and the level numbers of the definition s member fields are adjusted accordingly If a field is defined by a TYPE clause that refers to a previous definition the level number of any element following the field must be less than or equal to the level number of the field Definition Length Guidelines A definition s length must conform to the following rules If a definition is used only for working...

Page 77: ...he dictionary and if any source code files are open DDL does not write the definition to those files An extra period in a group definition might cause DDL to not report any additional errors until it encounters END DEF address 03 street address 05 street no PIC X 8 05 street PIC X 12 05 apt ro PIC X 4 03 city PIC X 14 03 state cd PIC X 2 03 zip PIC 9 5 END DEF phone DISPLAY N 999 999 9999 03 area ...

Page 78: ...le statements and terminated by END A RECORD statement consists of four parts Record name Assigns the record a unique name File creation Assigns the record to a file and specifies file creation attributes optional part Record structure Defines the record structure specifically or by referring to an existing definition Key assignment Specifies one or more fields within the record as key fields opti...

Page 79: ...ge 5 22 For the full syntax of this part of the RECORD statement see File Creation Syntax on page 5 14 record structure defines the data structure of the record optionally specifies any group or field within the structure as the primary key of a key sequenced file or an alternate key of a structured file For the full syntax of this part of the RECORD statement see Reference Record Structure Syntax...

Page 80: ...dicates that the record is a logical record with the same structure as one or more physical records You can include the logical record definition in an application program and assign it to a physical file with an ASSIGN command before you run the program No FUP output is produced for assigned files FILE IS file name TEMPORARY creation attribute ASSIGNED creation attribute is KEY SEQUENCED RELATIVE...

Page 81: ... size in bytes for both data and index blocks in a structured file The default block size for DDL is 4 096 bytes block length is an integer whose value is 512 1 024 2 048 or 4 096 constant name is the name of a constant in the open DDL dictionary The constant value must be a valid block length value NO BUFFERED sets the mode of handling write requests If you specify BUFFERED then write requests to...

Page 82: ...xtent size constant name sets the extent size in pages extent size is an integer from 1 to 65 535 that specifies the total extent size For structured files the extent size must be a multiple of the file s BLOCK value that is the extent size in bytes divided by the block size must be an integer For unstructured files the extent size must be a multiple of the file s BUFFERSIZE value For example if a...

Page 83: ...d files have no upward rounding you always read write or position at the byte count you give REFRESH forces the operating system to copy the file s label to disk whenever the file s file control block is updated SERIALWRITES specifies that writes to the mirror disk be done serially If you do not specify SERIALWRITES mirror disk writes will be done in parallel VERIFIEDWRITES specifies that disk wri...

Page 84: ...nship to other groups and fields within the record field name is a DDL name that identifies a field within a record The name must be unique within the record or if part of a group within the group line item specification 66 RENAMES clause line item specification is level number field name group name FILLER PICTURE clause TYPE clause AS clause DISPLAY clause EDIT PIC clause HEADING clause HELP clau...

Page 85: ...y level 89 clauses in the field s description You can use an AS clause to specify a default display string only for a field whose type is ENUM When an AS clause is part of a level 89 clause AS specifies the display string for a field that has the value associated with that level 89 item DISPLAY clause specifies a default format for field or group values listed in an Enform report EDIT PIC clause s...

Page 86: ...es with different names to the same file space SPI NULL clause assigns a null value to a field or group used in an SPI structured token NOT SQLNULLABLE clause specifies whether a line item is to be treated as an SQL nullable item TACL clause associates a TACL data type with a DDL data type defined in a field DEFINITION group DEFINITION or RECORD statement UPSHIFT clause specifies that ASCII charac...

Page 87: ...either an integer from 32 768 to 32 767 or two ASCII characters enclosed in quotation marks The key specifier can be omitted for a primary key if included the key specifier must be 0 A nonzero key specifier indicates an alternate key constant name is the name of a constant in the open DDL dictionary The constant value must be a valid key specifier value group name field name identifies a group or ...

Page 88: ...ield or group in a record can be used for this purpose ASCENDING DESCENDING specifies the sort order The default sort order is ASCENDING group name field name identifies the sort field If the name is not unique to the dictionary it must be qualified to make it unique The form of a qualified group or field name is record name group name group name field name File Creation Guidelines The following p...

Page 89: ... group and field description within a record structure must have at least a level number and a name The level number must precede the name Other clauses except level 88 and level 89 clauses can follow in any order before the first period in the description Level 88 and level 89 clauses must follow the first period in any order A record structure must contain at least one field description A record...

Page 90: ...Level numbers need not be assigned sequentially that is an 02 group can contain two 05 fields with no intervening 03 or 04 levels If a field is defined by a TYPE clause that refers to a group definition the field s level number replaces the implicit level 01 number of the referenced definition and the level numbers of the definition s member fields are adjusted accordingly If a field is defined by...

Page 91: ...ric For COBOL this is a picture of all X s a picture of all 9 s without a sign or TYPE CHARACTER DDL ignores any key assignment specifications when generating TACL source code from a RECORD statement RECORD Statement Examples The RECORD statement examples refer to the following DEFINITION statements and the first DEFINITION statement refers to the following CONSTANT statements CONSTANT phone headi...

Page 92: ...g record definition two alternate key fields have the same name and must be qualified RECORD phones FILE IS dallas data sales person KEY SEQUENCED 02 social security PIC 9 9 02 home phone TYPE phone 02 work phone TYPE phone KEY IS social security KEY hc IS home phone area code KEY wc IS work phone area code END The next example shows FUP output for creating an alternate key file specified in a REC...

Page 93: ...T 4 32 SET MAXEXTENTS 100 CREATE Test1 RESET SET TYPE K SET KEYLEN 12 SET REC 16 SET BLOCK 4096 SET IBLOCK 4096 SET EXT 4 32 SET MAXEXTENTS 100 CREATE AltKy RECORD Statement Error Handling When the DDL compiler encounters an error in a RECORD statement it continues processing the statement to determine if there are other errors before processing the next statement DDL does not add the record to th...

Page 94: ...Definitions and Records Data Definition Language DDL Reference Manual 426798 002 5 28 RECORD Statement Error Handling ...

Page 95: ...hen generating host language source code DISPLAY Specifies a default display format for values listed on Enform reports DDL ignores this clause when generating host language source code EDIT PIC Specifies a format for a field s data Only the Pathmaker product uses this format DDL ignores this clause when generating host language source code EXTERNAL Outputs the EXTERNAL clause in COBOL85 source fi...

Page 96: ...a field directly TYPE def name Specifies the type and size of a field by TYPE referring to a previous definition UPSHIFT Specifies that ASCII characters entered in the current field must be upshifted Requesters generated by the Pathmaker product upshift character strings entered into this field user written programs must be coded to upshift them USAGE Specifies computational storage allocation for...

Page 97: ... string constant name is the name of a constant in the open DDL dictionary The constant value must be a valid display string value LN clause specifies the locale associated with a value The following example shows a DDL definition containing an AS clause that specifies a default display string CONSTANT prts obj bolt VALUE IS 1 CONSTANT prts obj nut VALUE IS 2 CONSTANT prts obj pin VALUE IS 3 CONST...

Page 98: ... the name of a constant in the open DDL dictionary The constant value must be a valid display format value DISPLAY Clause Guidelines The following points are guidelines for using the DISPLAY clause Display formats are essentially edit masks that control how the Enform product displays listed values For example display formats can insert characters and suppress leading zeros A display format specif...

Page 99: ... the value is moved for display DDL ignores the EDIT PIC clause when generating host language source code edit picture is a character string that conforms to the field s data type and follows the guidelines listed after this syntax and the rules for a COBOL alphanumeric or numeric edited picture For details about the COBOLrules see the description of the PICTURE clause in the COBOL85 for NonStop S...

Page 100: ...l point The length of the data to the right of the decimal point in the edit picture must be less than or equal to the length of the field to the right of the decimal point The length of the data in the edit picture must be greater than 0 For SQL VARCHAR fields the length of the data in the edit picture clause must be less than or equal to the specified length of the VARCHAR field The maximum leng...

Page 101: ...he data length on that side in the elementary item EXTERNAL Clause The EXTERNAL clause lets you output the EXTERNAL clause in COBOL source files The COBOL source files can be part of a copy library that is shared among different program modules When emitting language output DDL generates the EXTERNAL clause verbatim for COBOL output for output in C FORTRAN Pascal pTAL TACL and TAL DDL strips this ...

Page 102: ...YTAG MUST BE NULL REDEFINES or UPSHIFT clause A FILLER field cannot be used for an SQL VARCHAR field C and Pascal do not have FILLER clauses For these languages DDL generates a unique name for each FILLER field the name is of the form FILLER_number The number portion of the name is incremented by 1 for each FILLER clause DDL encounters in the definition For C number starts at 0 for each new DDL de...

Page 103: ...n be used to specify the length of a FILLER field for example 02 FILLER PIC X 6 02 FILLER TYPE CHARACTER 6 02 FILLER PIC 9 6 Each of these FILLER fields reserves a storage area of 6 bytes HEADING Clause The HEADING clause establishes a default heading for columns of field or group values listed on an Enform report or on a screen generated by the Enable or Pathmaker product DDL ignores the HEADING ...

Page 104: ... for a field or group the field or group name is the default heading A heading specified in the DDL HEADING clause can be overridden by the Enform product or suppressed by the Enable or Pathmaker product HEADING Clause Examples For Enform a slash within a heading splits the heading onto the next line for example DEF ordernum PICTURE X 3 HEADING Order Number The heading is displayed as Order Number...

Page 105: ...single line of text does exceed 77 characters you will receive a warning message The ASCII quotation mark character can be represented within a help text string by using two consecutive quotation marks Help text appears on DDL schema listings Help text is displayed on the screen when an end user requests help from NonStop Transaction Services MP NonStop TS MP applications generated by the Pathmake...

Page 106: ...mdy date PIC 9 6 DISPLAY mdy date display HELP Enter date as mdy date help You can combine a help text string with a constant in the same DEFINITION statement JUSTIFIED Clause The JUSTIFIED clause lets you output the JUSTIFIED RIGHT clause in COBOL source files When emitting language output for COBOL DDL generates the JUSTIFIED RIGHT clause verbatim for language output in C FORTRAN Pascal pTAL TAC...

Page 107: ...e key constant name is the name of a constant in the open DDL dictionary The constant value must be a valid key specifier value DUPLICATES NOT ALLOWED specifies whether duplicate alternate key values are allowed The default is to allow duplicate alternate key values You cannot use DUPLICATES ALLOWED for a primary key field KEYTAG Clause Guidelines The following points are guidelines for using the ...

Page 108: ...nventory PIC 9 3 S 02 location PIC X 3 02 price PIC 9 6 V99 DISPLAY partnum display END LN Clause The LN clause specifies the language territory and character set for a text item value specifies the value associated with the clause containing the locale name See the other clause descriptions in this section for more information locale name either of the following constant name specifies a DDL name...

Page 109: ...ause the HEADING clause the 88 clause and the VALUE clause A maximum of 32 internationalization I18N definitions are allowed per text item If more than 32 I18N definitions are associated with one text item an error occurs The additional I18N definitions are not added to the DDL dictionary The following locale names and locales are supported POSIX C da_DK ISO8859 1 Danish de_CH ISO8859 1 German Swi...

Page 110: ...E clause when generating host language source code value specifies a valid value to be entered in a field If value 1 and value 2 are specified value 1 must be less than or equal to value 2 The form of value can be any of the following character string constant name figurative constant national literal number symbolic literal value name character string is a string of ASCII characters enclosed in q...

Page 111: ...ore digits 0 to 9 an optional plus or minus sign and an optional decimal point The value must not be enclosed in quotation marks symbolic literal is a literal that the DDL compiler has prenamed and predefined DDL replaces symbolic literal with the appropriate literal for COBOL output You can Table 6 3 Figurative Constants Figurative Constant Value LOW VALUE LOW VALUES One or more of the lowest cha...

Page 112: ...group as long as the group does not have an initial value If a field described with a MUST BE clause also has a VALUE clause the initial value specified in the VALUE clause must satisfy the MUST BE constraints If a field described with a MUST BE clause also has an UPSHIFT clause the MUST BE values must be upshifted If a field described with a MUST BE clause is of type ENUM the values in the clause...

Page 113: ... month and months in a year DEF date 02 day PIC 9 2 MUST BE 1 THROUGH 31 02 month PIC 9 2 MUST BE 1 THROUGH 12 02 year PIC 9 2 END If you specify the same MUST BE values frequently you can define the values as constants for example CONSTANT sales VALUE 1 CONSTANT shipping VALUE 2 CONSTANT personnel VALUE 3 DEF company 02 department TYPE BINARY 16 MUST BE sales shipping personnel 88 sales VALUE sal...

Page 114: ...use Guidelines The following points are guidelines for using the NULL clause Any alternate key can be assigned a null value The most common null values are ASCII blank 40 and binary zero The null value used must fit in one byte When you generate FUP source code from the DDL definition the FUP code specifies alternate key file information including the octal representation of the null value you sel...

Page 115: ...sename PIC X 22 04 dependents PIC 9 2 KEY IS empid KEY ti is taxinfo END You could also use a constant name to specify the NULL value in the preceding example for example CONSTANT null 0 VALUE 0 02 taxinfo NULL null 0 04 spousename PIC X 22 04 dependents PIC 9 2 OCCURS Clause The OCCURS clause specifies that a field or group is repeated a fixed number of times max is an integer from 1 to 32 767 th...

Page 116: ... level of nesting the subscripts are written in order from most inclusive to least inclusive The form of the subscript depends on the language For example COBOL encloses subscripts in parentheses and pTAL or TAL encloses them in brackets Subscript bounds depend on the language accessing the data For COBOL FORTRAN and Pascal the subscript bounds are implicitly 1 and max For C and TACL the subscript...

Page 117: ...r example DEF paydate 02 dates OCCURS 12 TIMES 03 month PIC 99 03 day PIC 99 03 year PIC 99 END To refer to an individual field within a group follow the field name with a subscript For example a COBOL program uses a subscript to refer to a month within the DATES group You could also specify a constant as the OCCURS value CONSTANT pay period VALUE IS 24 DEF bi monthly paydate 02 paydate OCCURS pay...

Page 118: ...nstant value must be an integer between 0 and 32 767 max is the greatest number of times the field or group can be repeated You can specify max as a positive integer greater than or equal to min or as the name of a constant in an open DDL dictionary The constant value must be a positive integer greater than or equal to min field name identifies an existing field within the same definition and with...

Page 119: ...lause COBOL output for the INDEXED BY attribute is the direct translation of the attribute If you specify an index name in the OCCURS clause you should not specify USAGE IS INDEX for the field of that name because COBOL requires that all index names be unique throughout a program DDL checks for the uniqueness of an index name you specify in the INDEXED BY attribute OCCURS DEPENDING ON Clause Examp...

Page 120: ...an be alphanumeric or numeric Alphanumeric strings have the following form A X 9 length Numeric strings can have any of the following forms S 9 length V 9 length T 9 length V 9 length 9 length V 9 length S 9 length V 9 length T X represents any ASCII character A represents any lowercase or uppercase letter of the alphabet or an ASCII blank 9 represents an ASCII digit from 0 to 9 DDL Code COBOL Cod...

Page 121: ...field A national picture string has the following form N n length N n represents a national character which is 2 bytes long length is a one digit to five digit integer enclosed in parentheses that specifies the number of times the preceding symbol repeats You can also specify the length by repeating the symbol N the number of character positions you want in the field Each character is two bytes lo...

Page 122: ...idelines when generating C source code DDL translates alphanumeric and numeric PICTURE clauses except numeric clauses described with USAGE IS COMP into C char types DDL translates numeric PICTURE clauses with USAGE IS COMP into C short long double and long long types Appendix C DDL Data Translation contains a table showing the C data types generated from DDL PICTURE clauses PICTURE Clause Guidelin...

Page 123: ...rate sign DDL translates the symbol S into the COBOL PICTURE S and adds a COBOL SIGN clause with a SEPARATE phrase If S is the first symbol in a numeric picture string DDL adds SIGN LEADING SEPARATE If S is the last symbol in a numeric picture string DDL adds SIGN TRAILING SEPARATE For COBOL the symbol T represents a digit that contains an embedded sign DDL translates the symbol T into PICTURE S9 ...

Page 124: ...L source code Most alphanumeric national and numeric PICTURE clauses are translated into TACL STRUCTs containing character strings The only exception is numeric PICTURE clauses described with USAGE IS COMP COMP numeric fields are translated into TACL STRUCTs containing binary data types Appendix C DDL Data Translation contains a table showing the TACL data types generated from DDL PICTURE clauses ...

Page 125: ...d files 4 062 bytes Relative files 4 072 bytes Unstructured files 4 096 bytes DEF ascii pictures 02 alpha field PIC A 10 02 alphanum 2 PIC X 10 02 alphanum 1 PIC AAX 4 9 4 02 nat field PIC N 5 02 unsigned PIC 9 5 02 signed 1 PIC S9 5 02 signed 1 PIC 9 5 S 02 signed 2 PIC T9 5 02 signed 3 PIC 9 5 T 02 imp decimal PIC 9 3 V9 2 END 10 alphabetic characters 10 alphanumeric characters 10 alphanumeric c...

Page 126: ...ric an attempt to redefine a group containing binary items could produce unpredictable results A redefining structure must not be larger than the structure it redefines If you redefine an SQL VARCHAR field the maximum size of the redefining field is the length of the VARCHAR field including the two byte length field In pTAL or TAL a redefining structure can be smaller than the structure it redefin...

Page 127: ... DDL then issues a warning DDL generates the variant record name by prefixing a V_ to the name of the first structure being redefined If the DDL generated variant record name is the same as any of its siblings defined in the same group DDL issues an error message and does not generate output Pascal does not do any run time checking to enforce which variant is active at any given time The following...

Page 128: ...T16 OF 01 D_1 CHAR 02 D_2 CHAR END CASE INT16 OF 01 E FSTRING 5 02 F RECORD F_1 FSTRING 3 F_2 FSTRING 2 END END REDEFINES Clause Example In the following example the storage defined for exempt employees is redefined for nonexempt employees DEF employee 02 emp id PIC 9 4 02 emp name PIC X 22 02 emp type PIC X 02 exmpt emp 04 salary PIC 9 6 V99 02 non exmpt emp REDEFINES exmpt emp 04 hrly wage PIC 9...

Page 129: ... the name of a constant in the open DDL dictionary The constant value must be a valid character or number value SPI NULL Clause Guidelines The following points are guidelines for using the SPI NULL clause The SPI NULL value must fit in one byte The SPI NULL clause differs from the NULL clause as follows The SPI NULL clause is used only to assign an SPI null value to a field or a group of fields th...

Page 130: ...n a group definition is inherited by each of the fields within the group that has the clause A field within a group defined with an SPI NULL clause cannot have its own SPI NULL clause When you refer to one definition from another the following applies If you specify an SPI NULL clause in the referring definition or in any group that includes the referring definition the specified SPI null value ov...

Page 131: ...EF jobclass TYPE BINARY 16 SPI NULL 255 VALUE 0 When JOBCLASS is used as an extensible structured token the SSNULL procedure initializes JOBCLASS to the specified SPI null value When JOBCLASS is used for any other purpose DDL initializes it to the initial value specified in the VALUE clause DEF assn ddl jobcode SPI NULL 0 02 prefix TYPE BINARY 16 02 code TYPE BINARY 16 END DEF assn ddl jobinfo 02 ...

Page 132: ... if no such specification is made for the group DDL outputs an SQL nullable line item as a group with two elementary items in all of the supported host languages C COBOL FORTRAN Pascal pTAL TACL and TAL The name of the group is derived from the name of the SQL nullable line item the names of the elementary items are indicator and valu The data type of the indicator item is the data type within the...

Page 133: ... string is specified on a null line item the length of the string must be less than or equal to the specified size of the line item Do not include the added numeric field as part of the available space for the string If an odd byte length is specified on an SQL nullable line item that has an OCCURS clause specified or implied the internal total size of the line item is calculated by Occurrences sp...

Page 134: ... SQL nullability with the result that line items within the group are not SQL nullable unless individually declared otherwise DEF B is specified as being SQLNULLABLE with the result that line items within that group are SQL nullable unless individually declared otherwise Semantically the preceding two examples are equivalent although they are defined differently DEF A 02 name PIC X 25 02 nickname ...

Page 135: ...ABLE 02 subordinate TYPE SQL VARCHAR 15 OCCURS 10 TIMES END pragma fieldalign shared2 __b typedef struct __b char name 25 struct short indicator char valu 10 nickname short salary char hire_date 10 struct short indicator struct short len char val 15 valu subordinate 10 b_def DDL Type COBOL Type DEF B SQLNULLABLE 02 name PIC X 25 NOT SQLNULLABLE 02 nickname PIC X 10 VALUE SQLNULL 02 salary TYPE BIN...

Page 136: ... SQL DATE NOT SQLNULLABLE 02 subordinate TYPE SQL VARCHAR 15 OCCURS 10 TIMES END RECORD B CHARACTER 25 NAME FILLER 1 RECORD NICKNAME INTEGER 2 INDICATOR CHARACTER 10 VALU END RECORD INTEGER 2 SALARY CHARACTER 10 HIREDATE RECORD SUBORDINATE INTEGER INDICATOR RECORD VALU INTEGER LEN CHARACTER 15 VAL END RECORD FILLER 1 END RECORD END RECORD DDL Type Pascal Type DEF B SQLNULLABLE 02 name PIC X 25 NOT...

Page 137: ...gin STRUCT NAME BEGIN CHAR BYTE 0 24 END FILLER 1 STRUCT NICKNAME Begin INT INDICATOR STRUCT VALU BEGIN CHAR BYTE 0 9 END End INT SALARY STRUCT HIRE DATE BEGIN CHAR BYTE 0 9 END STRUCT SUBORDINATE 0 9 Begin INT INDICATOR STRUCT VALU Begin INT LEN STRUCT VAL BEGIN CHAR BYTE 0 14 END End FILLER 1 End End DDL Type pTAL or TAL Type DEF B SQLNULLABLE 02 name PIC X 25 NOT SQLNULLABLE 02 nickname PIC X 1...

Page 138: ...ot DDL issues an error message when the lengths do not match If the TACL clause is omitted DDL translates the field or group to a TACL STRUCT that corresponds to the DDL data type For a table showing the standard data type translations for TACL see Appendix C DDL Data Translation If a TACL data type is associated with a DDL data item defined with an OCCURS clause each occurrence of the DDL data it...

Page 139: ... data type The length in bytes of each high level TACL data type is shown in Table 6 5 TACL Clause Examples To illustrate the TACL high level data types produced by the TACL clause the following two DEFINITION statements show the source code generated when a TACL clause is specified and when it is not The following DEFINITION statement has a TACL clause that specifies type CRTPID TACL DEF term id ...

Page 140: ...any TACL clause in the referenced definition For example the following DEFINITION statement inherits the TACL data type specified for group FNAME DEF in the preceding example TACL DEF fname 2 TYPE fname def From the preceding definition DDL generates the same TACL data type as the original FNAME DEF Section FNAME 2 Struct Begin FNAME FNAME 2 End If the referring object is defined with a TACL claus...

Page 141: ...represents a character string length is the number of characters in a CHARACTER type field The maximum values for length follow 255 bytes for FORTRAN which allows 255 ASCII characters or 127 national characters data type TYPE def name data type is CHARACTER length BINARY 8 UNSIGNED BINARY 16 scale UNSIGNED BINARY 32 scale UNSIGNED BINARY 64 scale FLOAT 32 FLOAT 64 COMPLEX LOGICAL 1 LOGICAL 2 LOGIC...

Page 142: ...em of type BINARY as a positive binary integer BINARY 64 numbers must not be described as UNSIGNED FLOAT for C FORTRAN pTAL TAL and Pascal only represents a signed real number in binary scientific notation A FLOAT 32 field is 4 bytes long a FLOAT 64 field is 8 bytes long If the length is omitted data type is FLOAT 32 COMPLEX for FORTRAN and C only represents an 8 byte binary complex number LOGICAL...

Page 143: ...er YEAR MONTH DAY HOUR MINUTE SECOND and FRACTION The start date time item must appear earlier in this list than the end date time item For example SQL DATETIME MONTH TO MINUTE is a valid SQL DATETIME specification but SQL DATETIME SECOND TO HOUR is not valid FRACTION specifies the maximum number of digits for a fraction of a second The valid range for end field precision is 1 through 6 The defaul...

Page 144: ...d integer that specifies the number of significant digits for the starting field The default value is 2 FRACTION specifies the maximum number of digits for a fraction of a second The valid range for end field precision is 1 through 6 The default value is 6 BIT represents the bit maps of the item bit length specifies the size of the bit fields bit length is an integer from 1 to 15 ENUM enum name sp...

Page 145: ... 9 n P n COMP if the scale is negative The PICTURE clause includes S unless UNSIGNED is specified This is identical to the code generated for COBOL 74 UNSIGNED does not affect generation of COBOL code for a BINARY data type when scale is not specified For Pascal the BINARY 16 32 and 64 data types are translated into INT16 INT32 and INT64 respectively Types BINARY 16 UNSIGNED and BINARY 32 UNSIGNED...

Page 146: ...definition as a TAL DEFINE For information about the NOTALALLOCATE command see TALALLOCATE Command on page 9 106 LOGICAL data types for Pascal type LOGICAL 1 is translated into BOOLEAN Types LOGICAL 2 and LOGICAL 4 are translated into INT16 and INT32 respectively SQL data types SQL VARCHAR SQL DATETIME SQL DATE SQL TIME SQL TIMESTAMP and SQL INTERVAL are supported by NonStop SQL MP but are not sup...

Page 147: ... a DDL CHARACTER field SQL DATETIME data type The syntax for the SQL DATETIME data type differs from the corresponding SQL syntax For DDL you do not use parentheses around the end field precision item for SQL you do enclose end field precision in parentheses The language output for an SQL DATETIME SQL DATE TIME or SQL TIMESTAMP field corresponds to a DDL CHARACTER data type DDL generates a field w...

Page 148: ... on page 6 79 for additional information about these values BIT data type A bit field inside a group structure that follows a nonbit field starts on a new 16 bit word If you specify bit fields consecutively inside the group structure DDL allocates the same 16 bit word for all contiguous bit fields that can fit in one 16 bit word For the next bit field that cannot fit in the same 16 bit word DDL al...

Page 149: ... NULL value for a bit field is 255 by default Because all bit fields and bit fillers have the same SPI NULL value all bits are turned on in a byte containing bit items Bit fields that share the same byte must have the same version number in a token map The version number applies to the entire byte If a bit field extends across 2 bytes within a word the version number of that field applies to the e...

Page 150: ...annot be used as keys For C DDL generates bit maps as follows If bit length is greater than 1 the output for field definition is SHORT or UNSIGNED SHORT Group definition output is short fieldname bit length or unsigned fieldname bit length If bit length is 1 the output for a bit map is unsigned short DDL does not generate C output for implicit bit fillers and therefore does not generate any C code...

Page 151: ...filler For TACL DDL generates bit maps as follows The output for a bit map declared as a field definition is INT or UINT DDL ignores bit length The output for a bit map declared in a group structure is FILLER Both named bit fields and filler bit fields have the same number of words as the bit map For pTAL or TAL DDL generates bit maps as follows The output for a bit map declared as a field definit...

Page 152: ...f the referenced definition If you add comments the new comments replace the original comments in a definition referenced by another definition CLISTOUTDETAIL lists the original comments along with the new ones For more information see the CLISTOUT Command on page 9 20 Referring to a Definition of the Same Name The following points are guidelines for using the TYPE clause DDL reads the definition ...

Page 153: ... to each of the preceding definitions DEF orderinfo 02 employee TYPE name 02 ordernum TYPE HEADING Order Number 02 orderdt TYPE orddate HEADING Order Date 02 orderint TYPE ordinterval HEADING Order Interval 02 delivdate TYPE deldate HEADING Deliv Date 02 salesman PIC 9 4 HEADING Salesman 02 custnum PIC 9 4 HEADING Customer END DEF type clause example 02 chr TYPE CHARACTER 8 02 bin 16 TYPE BINARY 1...

Page 154: ...NUM referenced by TYPE keeps its name in the ORDERINFO record but its implicit level 01 is changed to 02 and a new heading overrides its original heading New headings specified for ORDERNUM ORDERDT and DELIVDATE override the heading declared in ORDDATE and DELDATE SQL VARCHAR Field Output for C The following examples show how DDL translates definitions and descriptions of SQL VARCHAR fields into C...

Page 155: ...PE name 02 address TYPE SQL VARCHAR 29 OCCURS 10 TIMES END 01 NAME 02 LEN PIC S9 4 COMP VALUE 4 02 VAL PIC X 25 VALUE Mary 01 CUSTOMER 02 CUSTOMER NAME 03 LEN PIC S9 4 COMP VALUE 4 03 VAL PIC X 25 VALUE Mary 02 FILLER PIC X 1 02 ADDRESS OCCURS 10 TIMES 03 LEN PIC S9 4 COMP 03 VAL PIC X 29 03 FILLER PIC X 1 DDL Type FORTRAN Type DEF name TYPE SQL VARCHAR 25 VALUE Mary DEF customer 02 customer name ...

Page 156: ...L VARCHAR 25 VALUE Mary DEF customer 02 customer name TYPE name 02 address TYPE SQL VARCHAR 29 OCCURS 10 TIMES END TYPE NAME_DEF STRING 25 TYPE CUSTOMER_DEF RECORD CUSTOMER_NAME NAME_DEF ADDRESS ARRAY 1 10 OF STRING 29 END DDL Type TACL Type DEF name TYPE SQL VARCHAR 25 VALUE Mary SECTION name STRUCT BEGIN INT len STRUCT val BEGIN CHAR byte 0 24 END END DEF customer 02 customer name TYPE name 02 a...

Page 157: ...1 25 END value is Mary STRUCT CUSTOMER DEF FIELDALIGN SHARED2 BEGIN STRUCT CUSTOMER NAME BEGIN INT LEN STRING VAL 1 25 END value is Mary FILLER 1 STRUCT ADDRESS 1 10 BEGIN INT LEN STRING VAL 1 29 FILLER 1 END END DDL Type C Type DEF Bit 1 TYPE BIT 1 DEF New Bit 1 TYPE Bit 1 DEF Bit 10 TYPE BIT 10 UNSIGNED DEF Bit Map 2 Bits 8 TYPE BIT 8 2 Bits 3 TYPE BIT 3 UNSIGNED 2 Bits 10 TYPE BIT 10 End DEF Bi...

Page 158: ...PE ENUM 89 Val 1 Value 1 89 Val 2 Value 3 89 Val 3 Value 0 End enum val_1 1 val_2 3 val_3 0 DEF Bits With Enums 02 Bit Field 1 TYPE BIT 8 ENUM Enum Spec 02 Bit Field 2 TYPE BIT 4 End typedef short enum_spec_def pragma fieldalign shared2 __bits_with_enums typedef struct __bits_with_enums short bit_field_1 8 short bit_field_2 4 bits_with_enums_def DEF Reused Bits 02 Data Item Type Binary 02 Bits Lay...

Page 159: ... 2 Filler Type Binary 16 2 Field 2 Type Binary 32 End 01 BIT FILLERS 02 FIELD 1 PIC X 3 the following filler is implicit 02 FILLER PIC X 1 the following filler is bit maps 02 FILLER NATIVE 2 the following filler is explicit 02 FILLER NATIVE 2 02 FIELD 2 NATIVE 4 DEF Enum Spec Begin TYPE ENUM 89 Val 1 Value 1 89 Val 2 Value 3 89 Val 3 Value 0 End 01 ENUM SPEC NATIVE 2 88 VAL 1 VALUE IS 1 88 VAL 2 V...

Page 160: ...R 2 BIT10 DEF Bit Map 2 Bits 8 TYPE BIT 8 2 Bits 3 TYPE BIT 3 UNSIGNED 2 Bits 10 TYPE BIT 10 End RECORD BITMAP FILLER 2 FILLER 2 END RECORD DEF Bit Struct 2 Bits 0 TYPE Bit 1 2 Bits 1 To 10 TYPE Bit 10 End RECORD BITSTRUCT FILLER 2 END RECORD DEF Bit Fillers 2 Field 1 Type Character 3 2 Filler Type Bit 4 2 Bit Field 1 Type Bit 5 2 Filler Type Binary 16 2 Field 2 Type Binary 32 End RECORD BITFILLER...

Page 161: ...TYPE BIT 4 End RECORD BITSWITHENUMS FILLER 2 END RECORD DEF Reused Bits 02 Data Item Type Binary 02 Bits Layout 1 Redefines Data Item 03 F 11 TYPE BIT 5 03 F 12 TYPE BIT 6 03 F 13 TYPE BIT 4 02 Bits Layout 2 Redefines Data Item 03 F 21 TYPE BIT 4 03 F 22 TYPE BIT 3 End RECORD REUSEDBITS INTEGER 2 DATAITEM RECORD BITSLAYOUT1 FILLER 2 END RECORD EQUIVALENCE BITSLAYOUT1 DATAITEM RECORD BITSLAYOUT2 FI...

Page 162: ...t 2 Bits 0 TYPE Bit 1 2 Bits 1 To 10 TYPE Bit 10 End TYPE BIT_STRUCT_DEF PACKED RECORD BITS_0 BIT_1_DEF BITS_1_TO_10 BIT_10_DEF FILLER_1 INT 5 END DEF Bit Fillers 2 Field 1 Type Character 3 2 Filler Type Bit 4 2 Bit Field 1 Type Bit 5 2 Filler Type Binary 16 2 Field 2 Type Binary 32 End TYPE BIT_FILLERS_DEF PACKED RECORD FIELD_1 FSTRING 3 the following is implicit FILLER_1 CHAR FILLER_2 INT 4 BIT_...

Page 163: ... BIT 8 ENUM Enum Spec 02 Bit Field 2 TYPE BIT 4 End TYPE BITS_WITH_ENUMS_DEF PACKED RECORD BIT_FIELD_1 INT 8 BIT_FIELD_2 INT 4 FILLER_1 INT 4 END DEF Reused Bits 02 Data Item Type Binary 02 Bits Layout 1 Redefines Data Item 03 F 11 TYPE BIT 5 03 F 12 TYPE BIT 6 03 F 13 TYPE BIT 4 02 Bits Layout 2 Redefines Data Item 03 F 21 TYPE BIT 4 03 F 22 TYPE BIT 3 End TYPE REUSED_BITS_DEF RECORD CASE INT16 O...

Page 164: ...ER 2 FILLER 2 INT2 FIELD 2 End DEF Enum Spec Begin TYPE ENUM 89 Val 1 Value 1 89 Val 2 Value 3 89 Val 3 Value 0 End Section VAL 1 Text 1 Section VAL 2 Text 3 Section VAL 3 Text 0 Section ENUM SPEC Struct Begin ENUM ENUM SPEC End DEF Bits With Enums 02 Bit Field 1 TYPE BIT 8 ENUM Enum Spec 02 Bit Field 2 TYPE BIT 4 End Section BITS WITH ENUMS Struct Begin FILLER 2 End DEF Reused Bits 02 Data Item T...

Page 165: ... Bits 10 TYPE BIT 10 End STRUCT BIT MAP DEF FIELDALIGN SHARED2 BEGIN UNSIGNED 8 BITS 8 UNSIGNED 3 BITS 3 BIT_FILLER 5 UNSIGNED 10 BITS 10 BIT_FILLER 6 END DEF Bit Struct 2 Bits 0 TYPE Bit 1 2 Bits 1 To 10 TYPE Bit 10 End STRUCT BIT STRUCT DEF FIELDALIGN SHARED2 BEGIN UNSIGNED 1 BITS 0 UNSIGNED 10 BITS 1 TO 10 BIT_FILLER 5 END DEF Bit Fillers 2 Field 1 Type Character 3 2 Filler Type Bit 4 2 Bit Fie...

Page 166: ...ld 1 TYPE BIT 8 ENUM Enum Spec 02 Bit Field 2 TYPE BIT 4 End STRUCT BITS WITH ENUMS DEF FIELDALIGN SHARED2 BEGIN UNSIGNED 8 BIT_FIELD_1 UNSIGNED 4 BIT_FIELD_2 BIT_FILLER 4 END DEF Reused Bits 02 Data Item Type Binary 02 Bits Layout 1 Redefines Data Item 03 F 11 TYPE BIT 5 03 F 12 TYPE BIT 6 03 F 13 TYPE BIT 4 02 Bits Layout 2 Redefines Data Item 03 F 21 TYPE BIT 4 03 F 22 TYPE BIT 3 End STRUCT REU...

Page 167: ...nto the dictionary UPSHIFT can be associated only with elementary items in RECORD or DEFINITION statements A field can have a MUST BE clause and an UPSHIFT clause If these clauses are used together the MUST BE string must be upshifted A field can have both a VALUE clause and an UPSHIFT clause If these clauses are used together you must specify any alphabetic characters in the VALUE clause as upper...

Page 168: ...most half byte regardless of whether S is specified in the PICTURE declaration For example DDL DICT DEF EMP 02 F1 PIC 9999 PACKED DECIMAL VALUE 1234 END COBOL OUTPUT ADE101 JYOTI 4 DDL DDL Compiler T9100ABQ 15NOV99 SYSTEM BOMBAY COPYRIGHT TANDEM COMPUTERS INCORPORATED 1978 1979 1981 1982 1986 1999 DICT Audited dictionary created on subvol ADE101 JYOTI Dictionary opened on subvol ADE101 JYOTI for u...

Page 169: ...ivalent data types Any attempt to generate output for the PACKED DECIMAL data type in languages other than COBOL cause DDL to issue error messages USAGE Clause Guidelines The following points are guidelines for using the USAGE clause All fields declared as TYPE BINARY are COMPUTATIONAL items by default A field can be declared as COMPUTATIONAL if the associated PICTURE declaration is of the form PI...

Page 170: ...unsigned short long unsigned long or double C data types For Pascal source code DDL translates COMP data types into INT16 CARDINAL INT32 or INT64 Appendix C DDL Data Translation contains tables showing the host language data types generated from the DDL COMP data types You can specify INDEX only for a field definition or a field description COBOL output for USAGE IS INDEX is the direct translation...

Page 171: ...epends upon the number of 9s specified in the picture clause of that item When a DDL item contains any PACKED DECIMAL field declared with a USAGE clause COMP 3 COMPUTATIONAL 3 or PACKED DECIMAL value then DDL only supports the generation of output for COBOL USAGE Clause Examples Although source code can be produced for computational items in each language problems can occur when data is stored in ...

Page 172: ...NARY 32 USAGE IS INDEX DEF xyz TYPE BINARY USAGE IS INDEX DEF tst TYPE abc DEF grp 02 item 1 TYPE xyz 02 item 2 PIC 9 10 END 01 ABC USAGE IS INDEX Invalid ERROR 01 TST NATIVE 4 01 GRP 02 ITEM 1 NATIVE 2 02 ITEM 2 PIC 9 10 DDL COBOL DEF def1 PIC 9 4 COMP 3 01 def1 PIC 9 4 COMP 3 DEF def2 PIC 9 4 COMPUTATIONAL 3 01 def2 PIC 9 4 COMP 3 DEF def3 PIC 9 4 PACKED DECIMAL 01 def3 PIC 9 4 COMP 3 DEF grp1 C...

Page 173: ...ring LN clause constant name LN clause figurative constant national literal LN clause number LN clause sql literal symbolic literal value name character string is a string of ASCII characters enclosed in quotation marks To represent the ASCII quotation mark character use 2 consecutive quotation marks The character string cannot be a null string constant name is the name of a constant in the open D...

Page 174: ...es datetime literal is a DATETIME DATE TIME or TIMESTAMP value in ANSI USA or EUROPEAN format For details about NonStop SQL MP datetime literal rules and formats see the discussion about language elements in the NonStop SQL MP Reference Manual or the NonStop SQL MP Programming Reference Manualfor the language you are using Name Definition LOW VALUE LOW VALUES One or more of the lowest character in...

Page 175: ...s a literal that the DDL compiler has prenamed and predefined DDL replaces symbolic literal with the appropriate numeric literal for COBOL output You can use symbolic literals only for numeric items The symbolic literals follow value name is the name associated with a value in a level 89 enumeration clause for a field of type ENUM The initial value for a field of type ENUM must be a value name and...

Page 176: ...e both a VALUE clause and an UPSHIFT clause If these clauses are used together you must specify any alphabetic characters in the VALUE clause as uppercase If an initial value is specified at a group level no other initial value can be specified within the group If a DEFINITION statement that includes an initial value is referenced by a statement that also includes an initial value the DDL compiler...

Page 177: ...finition has no effect on subgroups defined by reference to other groups CURRENT is valid only for elementary fields of type SQL DATETIME If the type was previously defined the definition must be a field definition with an SQL DATETIME type specified SQLNULL is valid only for SQL nullable elementary line items that is SQL items that are not specified as NOT NULL If the type was previously defined ...

Page 178: ...rts enm screw VALUE IS prts obj screw AS Screw 89 prts enm washer VALUE IS prts obj washer AS Washer END This example uses national literal values DEF sample type PIC NN DEF language info 02 language TYPE sample type VALUE N ab END The following example uses sql literal values DEF birthday TYPE SQL DATETIME year to day DEF family birthday 02 father TYPE birthday VALUE 1945 12 12 02 mother TYPE bir...

Page 179: ...ed by group name and def name A field name is a DDL name group name is the name of a previously defined group in the dictionary If group name is not unique it can be qualified by group name and def name A group name is a DDL name RENAMES Clause Guidelines The following points are guidelines for using the RENAMES clause A RENAMES clause has its own level number 66 A RENAMES clause does not redescri...

Page 180: ...clause associates a condition name with a value a list of values or a range of values enabling you to refer to the value or values by the condition name DDL ignores this clause when generating C FORTRAN Pascal pTAL TACL or TAL source code condition name is a DDL name that uniquely identifies a value a list of values or a range of values value is a literal value associated with condition name value...

Page 181: ...te cannot contain the binary equivalent of a quotation mark Do not separate the N or n and the opening quotation mark with a space or a line break The length of a national literal must agree with the length specified in the PICTURE clause for the national data item number is 1 or more digits 0 9 an optional plus or minus sign and an optional decimal point The value need not be enclosed in quotatio...

Page 182: ...od and END after the last clause Condition Name Clause Examples The values in ADDR CODE are associated with condition names DEF cust addr cd 02 addr code TYPE BINARY 16 88 corp hdq VALUE 01 88 shipping VALUE 02 03 88 billing VALUE 04 THRU 07 88 sales VALUE 11 THRU 13 15 END A COBOL program can use the preceding construct to determine the appropriate customer address For example IF shipping PERFORM...

Page 183: ...nally specifies a display string for the value You can use an enumeration clause only for a field of type ENUM value name is a name that uniquely identifies the enumeration value VALUE value constant name specifies a value to associate with value name If the first enumeration clause does not include a value the value is 0 The value for any subsequent enumeration clause that does not include a valu...

Page 184: ...a field definition or description Level 89 clauses cannot directly follow a group definition or description For C the level 89 enumeration clauses for a field of type ENUM are translated into literals included in a C enumeration type If the type of a single field definition is ENUM DDL generates a typedef enum If the type of a field in a group definition is ENUM DDL generates an enum embedded in a...

Page 185: ...r a field of type ENUM are translated into LITERALs If the type of a single field definition is ENUM and you do not specify NOTALALLOCATE DDL generates LITERALs followed by an INT for the definition for example LITERAL ENUMERATION NAME1 ENUMERATION VALUE1 ENUMERATION NAME2 ENUMERATION VALUE2 INT DEF NAME If the type of a field in a group definition is ENUM DDL generates LITERALs followed by a STRU...

Page 186: ...tus enum no_error 0 read_error 1 write_error 6 typedef short status_def DEF old status TYPE status VALUE no error typedef status_def old_status_def value is no_error DEF cpu 2 state TYPE ENUM 89 stop 89 pause 89 running END pragma section cpu enum stop 0 pause 1 running 2 pragma fieldalign shared2 __cpu typedef struct __cpu short state cpu_def DEF system state 2 cpu0 TYPE cpu 2 cpu1 TYPE cpu END p...

Page 187: ... no error 89 read error 89 write error VALUE 3 END DEF old status TYPE status VALUE no error DEF cpu 2 state TYPE ENUM 89 stop 89 pause 89 running END DEF system state 2 cpu0 TYPE cpu 2 cpu1 TYPE cpu END INTEGER 2 STATUS C NO ERROR 0 C READ ERROR 1 C WRITE ERROR 3 INTEGER 2 OLDSTATUS C Initial value is NO ERROR RECORD CPU INTEGER 2 STATE C STOP 0 C PAUSE 1 C RUNNING 2 END RECORD RECORD SYSTEMSTATE...

Page 188: ... ENUM BEGIN 89 no error 89 read error VALUE 3 89 write error END DEF old status TYPE status VALUE no error DEF cpu 2 state TYPE ENUM 89 stop 89 pause 89 running VALUE 4 END DEF system state 2 cpu0 TYPE cpu 2 cpu1 TYPE cpu END CONST NO_ERROR 0 CONST READ_ERROR 3 CONST WRITE_ERROR 4 TYPE STATUS_DEF INT16 TYPE OLD_STATUS_DEF STATUS_DEF CONST STOP 0 CONST PAUSE 1 CONST RUNNING 4 TYPE CPU_DEF RECORD ST...

Page 189: ...ection NO ERROR Text 0 Section READ ERROR Text 1 Section WRITE ERROR Text 6 Section STATUS STRUCT Begin ENUM STATUS End DEF old status TYPE status VALUE no error DEF cpu 2 state TYPE ENUM 89 stop 89 pause 89 running END Section OLD STATUS Struct Begin ENUM OLD STATUS End Section STOP Text 0 Section PAUSE Text 1 Section RUNNING Text 2 Section CPU Struct Begin ENUM STATE End DEF system state 2 cpu0 ...

Page 190: ...or 89 write error VALUE 6 89 status error END LITERAL NO ERROR 0 READ ERROR 1 WRITE ERROR 6 STATUS ERROR 7 INT STATUS DEF old status TYPE status VALUE no error DEF cpu 2 state TYPE ENUM 89 stop 89 pause 89 running END INT OLD STATUS DEF Value is NO ERROR LITERAL STOP 0 PAUSE 1 RUNNING 2 STRUCT CPU DEF FIELDALIGN SHARED2 BEGIN INT STATE END DEF system state 2 cpu0 TYPE cpu 2 cpu1 TYPE cpu END STRUC...

Page 191: ...es the statements used to define token types token codes and token maps For a description of building and using SPI messages see the Distributed Systems Management DSM Manual SPI Token Definition Tokens are defined by the following DDL dictionary objects A token is the smallest accessible unit in an SPI message A token has two parts an identifying code and a token value Each token value is identif...

Page 192: ...n type with the new token type If the existing token type is referenced by another object DDL issues an error message and does not add the new token type to the dictionary If the appropriate source code files are open DDL generates C COBOL Pascal pTAL TACL or TAL token type structures when it executes the TOKEN TYPE statement Table 7 1 Token Definition Statements Statement Function TOKEN TYPE Defi...

Page 193: ...a valid token data type value DEF IS def name OCCURS number TIMES constant name specifies an existing definition or DEF to define the structure and length of the token The total length of the token must be less than or equal to 254 bytes The DEF IS clause cannot be included when an OCCURS 0 TIMES clause is specified The DEF IS clause is optional when an OCCURS VARYING clause is specified def name ...

Page 194: ...mple token in a TOKEN TYPE statement You cannot specify the token type of an extensible structured token because SPI defines the token type of all extensible structured tokens as the DDL token type ZSPI TYP MAP The token data type specified in the VALUE clause of the TOKEN TYPE statement must be a token data type that has been defined by SPI If you specify the token data type as a number this numb...

Page 195: ...ons of the standard SPI token types To use the standard SPI definitions compile this file into your dictionary using the DDL SOURCE command For a complete description of the standard SPI token types see the SPI Programming Manual and the SPI Common Extensions Manual You can use the standard token types where applicable or you can define your own token types When you define a token type specificall...

Page 196: ... the choice of redefining a standard token type with a name that is meaningful to your subsystem The second token type example contains a varying number of two word integers Note that the DEF IS clause is included for documentation only it is not used to determine the token length of the token type Because the token type is defined as variable length with OCCURS VARYING the token length is set to ...

Page 197: ...UINT TOKEN TYPE VALUE 514 END Section ASSN TYP STATUS Struct BEGIN UINT TOKEN TYPE VALUE 514 END Section ASSN TYP VARIABLE TOKEN Struct BEGIN UINT TOKEN TYPE VALUE 1023 END The generated values are identical to the values generated for pTAL TAL or COBOL source code output from the same TOKEN TYPE statements C source code pragma section zspi_typ_int define ZSPI_TYP_INT 514U pragma section assn_typ_...

Page 198: ...sting token code with the new token code If the appropriate source code files are open DDL generates C COBOL85 Pascal pTAL TACL or TAL token code structures when it executes the TOKEN CODE statement token name is a DDL name that identifies a particular token For the rules governing DDL names see Section 2 DDL Language Elements VALUE IS token number constant name identifies a particular token token...

Page 199: ...em ID Quotation marks must enclose subsystem id If you specify an invalid subsystem ID the DDL compiler rejects the token The valid external format for a subsystem ID consists of 1 to 8 alphanumeric characters and hyphens specifying the subsystem owner a period a subsystem number or name another period and a version number for example TANDEM 43 1245 TANDEM XYZ 0 constant name is the name of a cons...

Page 200: ...OKEN CODE statement Every token code is implicitly or explicitly qualified by an SPI subsystem ID Two tokens of the same token type but qualified by different subsystem IDs can have identical token numbers and still be differentiated by SPI Within a subsystem tokens must be differentiated by their token numbers The following guidelines apply to source code that DDL generates for the TOKEN CODE sta...

Page 201: ... statement that defines the token code ZSPI TKN RETCODE This token code identifies the standard return token TOKEN CODE zspi tkn retcode VALUE IS 0 TOKEN TYPE IS zspi typ enum The definition of ZSPI TKN RETCODE and the standard token type definition to which it refers ZSPI TYP ENUM are in the file ZSPIDEF ZSPIDDL When writing your own subsystem you often need to define your own token codes For exa...

Page 202: ...ral ASSN TKN STAT REPLY 11D 24 2D 16 102D The value of the pTAL or TAL representation of the token code is identical to the value generated for COBOL source code output from the same TOKEN CODE statement TACL source code Section ASSN TKN MY STATUS Struct BEGIN INT2 TOKEN CODE VALUE 184680549 END Section ASSN TKN STAT REPLY Struct BEGIN INT2 TOKEN CODE VALUE 184680550 END The generated value is ide...

Page 203: ...that already exists in the open dictionary DDL replaces the existing token map with the new token map If the appropriate source code file is open DDL generates C COBOL Pascal pTAL TACL or TAL token map structures when it executes the TOKEN MAP statement map name is a DDL name that identifies an extensible structured token For the rules governing DDL names see Section 2 DDL Language Elements TOKEN ...

Page 204: ...uctured token identified by the token map SSID subsystem id constant name identifies the subsystem to which the token belongs If the SSID clause is omitted DSM Template Services does not keep track of the information in the HEADING and DISPLAY clauses subsystem id is an ASCII character string that conforms to the valid external format for a subsystem ID Quotation marks must enclose subsystem id If...

Page 205: ... group of fields in the definition is associated with a version number Every elementary field must be defined with either a VERSION or a NOVERSION clause If VERSION or NOVERSION is specified for a group the clause applies to each field within that group You can specify only one version number for a field number is an integer in the range 1 to 65 535 string is a character string of the form ann in ...

Page 206: ... by the value of another field in the structure an is present field When VERSION or NOVERSION is specified for a group the following rules apply Every field in the group inherits the version specified for the group No field within the group can have a VERSION or NOVERSION clause If you specify a VERSION or NOVERSION clause for a range of fields or groups you must not specify a VERSION or NOVERSION...

Page 207: ...sible value of a field is legitimate then an SPI null value cannot be used to indicate the presence or absence of a value In such a case you have two alternatives Indicate the presence or absence of a non null value in the field by an is present field An is present field is a Boolean field that can be set to 1 to indicate that the field has a value is present or set to 0 to indicate the field valu...

Page 208: ...t fields consecutively inside the group structure DDL allocates the same 16 bit word for all contiguous bit fields that can fit in the word For the next bit field that cannot fit in the same 16 bit word DDL allocates the next word Consecutive bit fields that occupy the same word have the same byte offset value but different bit offset values in their records in the DICTOBL file An elementary item ...

Page 209: ... one word in the token map The LITERAL map name WLN specifies the total number of words in the token map For a description of how to use these definitions in a subsystem that accepts SPI programmatic commands see the Distributed Systems Management DSM Manual Standard SPI Definitions in Token Map Definitions The following guidelines apply to using standard SPI definitions when you define token maps...

Page 210: ...ary using the DDL SOURCE command TOKEN MAP Statement Examples The following example describes an extensible structured token with 3 fields and a total byte length of 12 Each field is defined by reference to a definition in the standard SPI definition file ZSPIDEF ZSPIDDL The referenced definition determines the data type of the field and specifies a default SPI null value for that field The SPI nu...

Page 211: ... VALUE 2303 02 FILLER NATIVE 2 VALUE 3 02 FILLER NATIVE 2 VALUE 12 02 FILLER NATIVE 2 VALUE 12 02 FILLER NATIVE 2 VALUE 02 FILLER NATIVE 2 VALUE 17152 02 FILLER NATIVE 2 VALUE 1024 02 FILLER NATIVE 2 VALUE 2136 END Token type XSPI TYPE MAP Token number Token byte length Version C00 VST704 vsd DEFINE JOBINFO MAP 2303 3 12 17152 1024 2136 LITERAL JOBINFO MAP WLN 6 Number of words in token map VST705...

Page 212: ... version for JOBCLASS For a description of using an is present field see the Distributed Systems Management DSM Manual The following examples show how to specify version numbers for bit fields DEF bits layout x 02 x 1 Type BIT 5 02 x filler Type BIT 3 02 x 2 Type BIT 7 END TOKEN MAP map bits x VALUE is 1 DEF is bits layout x VERSION D40 FOR x 1 THRU x 2 END DEF bits layout y 02 y 1 Type BIT 4 02 y...

Page 213: ...put from the preceding definitions and TOKEN MAP statements for bit fields SECTION BITS LAYOUT X STRUCT BITS LAYOUT X DEF BEGIN UNSIGNED 5 X 1 UNSIGNED 3 X FILLER UNSIGNED 7 X 2 BIT_FILLER 1 END SECTION MAP BITS X DEFINE MAP BITS X 2303 1 2 17152 767 LITERAL MAP BITS X WLN 5 SECTION BITS LAYOUT Y STRUCT BITS LAYOUT Y DEF BEGIN UNSIGNED 4 Y 1 UNSIGNED 8 Y 2 BIT_FILLER 4 UNSIGNED 6 Y 3 BIT_FILLER 10...

Page 214: ...UNSIGNED 7 BITS 7 BIT_FILLER 9 END SECTION BIT MAP EX C DEFINE BIT MAP EX C 2303 111 12 17152 1023 1 0 511 1 17152 767 1 0 511 1 17162 511 1 17172 767 1 0 767 LITERAL BIT MAP EX C WLN 23 Table 7 2 shows a further breakdown of the token map bit map ex c Table 7 2 Structure of a Bit Map Value in Word Byte 1 Byte 2 Meaning of Value 2303 8 255 Token type 111 0 111 Token number 12 0 12 Byte length of s...

Page 215: ...as field z 1 and bit fields in the same byte must have the same version number DEF bits layout z 02 z 1 Type BIT 4 SPI Null 255 02 z 2 Type BIT 3 SPI Null 255 02 z 3 Type BIT 10 02 z 4 Type BIT 4 END TOKEN MAP map bits z VALUE is 20 DEF is bits layout z VERSION C00 FOR z 1 NOVERSION FOR z 2 1 0 1 New version specification follows 0 0 0 NOVERSION 511 1 255 Null value for bit FILLER 1 0 1 New versio...

Page 216: ...ause DDL would put bits 2 in the same byte as bits 3 for which NOVERSION is specified DEF bit ddl ex b 02 bits 8 Type BIT 8 02 bits 3 Type BIT 3 SPI NULL 255 02 bits 2 Type BIT 2 02 bits 10 Type BIT 10 02 bits 1 Type BIT 1 SPI NULL 255 END TOKEN MAP bit map ex b VALUE 1 DEF bit ddl ex b VERSION C00 FOR bits 8 NOVERSION FOR bits 3 VERSION C10 FOR bits 2 VERSION C20 FOR bits 10 THRU bits 1 END ERROR...

Page 217: ...can specify up to 50 constants def name is a DDL name that uniquely identifies an existing definition in an open DDL dictionary You can specify up to 50 definitions Table 8 1 Dictionary Manipulation Statements Statement Function DELETE Deletes one or more DDL objects of a particular object type from an open DDL dictionary EXIT Terminates an interactive DDL session OUTPUT Generates DDL FUP REPORT o...

Page 218: ...that is referenced by other objects you must first delete all the objects that refer to it Deleting an object that is referenced by another object is more complicated than deleting an object that is not referenced For example deleting a definition can be more complicated than deleting a record because a record is never referenced by another record or by a definition Similarly deleting a constant o...

Page 219: ...ce the code in a source file and use the SOURCE command to pass the code to the DDL compiler The following shows how to delete an SPI token type that is referenced by two SPI token codes first delete the token codes 06 VOLUME spi tokens 07 DDL DICT DELETE TOKEN CODE assn tkn my status assn tkn stat reply DELETE TOKEN TYPE assn typ status EXIT 03 VOLUME data sales 04 DDL DICT DELETE RECORD employee...

Page 220: ...e command interpreter Use of the EXIT statement within a source schema is optional because reaching the end of the file performs the same function EXIT closes any files that were opened in the session Entering CTRL Y at the terminal has the same effect as an end of file mark If you type CTRL Y at the DDL prompt DDL displays EOF and ends the session EXIT Statement Examples The following example sho...

Page 221: ...nary You can specify up to 50 definitions record name is a DDL name that uniquely identifies a record in an open DDL dictionary You can specify up to 50 records token name is a DDL name that uniquely identifies a token code in an open DDL dictionary You can specify up to 50 token codes map name is a DDL name that uniquely identifies a token map in an open DDL dictionary You can specify up to 50 to...

Page 222: ...he OUTPUT statement are listed on the DDL compiler listing If C COBOL Pascal pTAL TACL or TAL source code files are open the OUTPUT statement retrieves any of the specified objects constant definition record token code token map or token code from the open dictionary and generates the appropriate source code in each open source code file If FORTRAN source code files are open the OUTPUT statement r...

Page 223: ...o the open COBOL source file SPITKN 16 DDL DICT spi tokens COBOL spitkn OUTPUT CONSTANT OUTPUT TOKEN TYPE assn typ status OUTPUT TOKEN CODE assn tkn my status assn tkn stat reply EXIT Rather than specify a list of the particular constants needed by the token type and token code this example generates source code for all the constants in the dictionary 15 DDL DICT DDL ddlsrc OUTPUT NODDL FUP fupsrc...

Page 224: ... following points are guidelines for using the OUTPUT UPDATE statement The OUTPUT UPDATE statement is useful only when you want to modify or delete an object that might be referenced by one or more other dictionary objects The dictionary and a DDL source file must both be open before you specify OUTPUT UPDATE Pathmaker objects servers services requesters and screens that refer to the specified def...

Page 225: ... specified object close the DDL source update file and use the SOURCE command to compile only the first section This instructs the DDL compiler to delete all referring objects Then use a DELETE statement to delete the specified object OUTPUT UPDATE Statement Examples Assume your dictionary contains the objects defined in the database schema from Appendix B and that you want to change the size of t...

Page 226: ...2 STATE PIC X 12 02 ZIP TYPE ZIP CD End Section CUSTINFO Definition CU STINFO 02 CUSTNUM TYPE 02 CUSTNAME TYPE NAME 02 ADDR TYPE End Section SUPPINFO Definition SUPPINFO 02 SUPPNUM TYPE 02 SUPPNAME TYPE NAME 02 ADDR TYPE End Section CUSTOMER Record CUSTOMER File is data sales customer Key sequenced Audit Definition is CUSTINFO Key is CUSTNUM duplicates not allowed Key cn is CUSTNAME End Section SU...

Page 227: ...eyword CONSTANT DEF DEFINITION or TOKEN TYPE is omitted DDL functions as if the specified object is a definition Such action provides compatibility with previous versions of DDL type name is a DDL name that uniquely identifies a token type defined in an open DDL dictionary You can specify up to 50 token types SHOW USE OF Statement Guidelines The following points are guidelines for using the SHOW U...

Page 228: ... the objects it displays Any objects that refer directly to a specified object are at nesting level 1 any objects that refer directly to an object at level 1 are at nesting level 2 and so forth If more than one object refers to a specified object the listing is sequenced first by the order in which objects are specified in the SHOW USE OF statement second by the order in which referring objects ar...

Page 229: ...T SHOW USE OF DEF custnum name 1 Definition CUSTNUM used by Definition CUSTINFO 2 Definition CUSTINFO used by Record CUSTOMER 1 Definition CUSTNUM used by Definition ORDERINFO 2 Definition ORDERINFO used by Record ORDERS 1 Definition NAME used by Definition CUSTINFO 2 Definition CUSTINFO used by Record CUSTOMER 1 Definition NAME used by Definition EMPINFO 2 Definition EMPINFO used by Record EMPLOY...

Page 230: ...Dictionary Manipulation Statements Data Definition Language DDL Reference Manual 426798 002 8 14 SHOW USE OF Statement ...

Page 231: ...rols subsequent action and still others do both Table 9 1 lists all the compiler commands grouping them according to the general functions they perform It provides a brief summary of each command and indicates whether the command acts immediately A or sets a condition S Note that many commands have a second form that begins with NO You can set and reset these commands as necessary The rest of this...

Page 232: ...SI format C NOC Opens or closes a C source code file A causes subsequent DDL object definitions to be written to an open C source code file S CCHECK NOCCHECK Causes or suppresses C syntax checks on subsequent DDL object definitions S CDEFINEUPPER NOCDEFINEUPPER Directs DDL to generate C define names in uppercase or lowercase letters S CFIELDALIGN_MATCHED2 Directs DDL to store structures in a way t...

Page 233: ... not to generate C data structures that are equivalent to pTAL TAL and COBOL data structures DDL NODDL Opens or closes a DDL source schema file A causes subsequent DDL object definitions to be written to an open DDL source schema file S DO_PTAL_ON DO_PTAL_OFF Causes DDL to generate a file that can be compiled by a pTAL or TAL compiler S EXPANDC NOEXPANDC Causes or suppresses a referenced type defi...

Page 234: ...scal source code file A causes subsequent DDL object statements to be written to an open Pascal source code file S PASCALBOUND Sets array bounds for Pascal source code output S PASCALCHECK NOPASCALCHECK Causes or suppresses Pascal syntax checking on subsequent data descriptions S PASCALNAMEDVARIANT NOPASCALNAMEDVARIANT Causes DDL to generate the last REDEFINES clause in Pascal output as a named or...

Page 235: ...alues in DDL or COBOL source code S Listing control CLISTIN NOCLISTIN Lists or suppresses user comments in the compiler listing S DEFLIST NODEFLIST Lists or suppresses definition source code where it is referred to S LINECOUNT Specifies the number of lines per page for all output files S LIST NOLIST Lists or suppresses DDL source listing S OUT Specifies and opens a new listing destination file for...

Page 236: ...OBOL Command Example In this example the DDL compiler opens a COBOL source file COBSRC and adds the definition for NAME to that file Other commands continued HELP Lists a brief description of any or all compiler commands A RESET Stops compiling the current statement A TEDIT Suspends compiler execution and starts a PS Text Edit process A A Act immediately S Set condition for subsequent action Table...

Page 237: ... definition for NAME to that file This definition is written to COBSRC1 as follows SCHEMA PRODUCED DATE TIME 9 14 2004 18 07 27 SECTION NAME TANDEM Definition NAME created on 09 14 2004 at 18 07 01 NAME 02 LAST NAME PIC X 12 02 FIRST NAME PIC X 8 02 MIDINIT PIC X 2 C Command The C command instructs the DDL compiler to Create and open a C source file or open an existing C source file Translate subs...

Page 238: ...es The following points are guidelines for using the C command The specified C source file must be an EDIT file an unstructured file or a sequential device such as a terminal a spooler or a process If the file exists but is not one of these types DDL issues an error message and does not open the file Only one C source file can be open at a time If you use the C command when you already have a C so...

Page 239: ... for a definition or record compiled with EXPANDC contains the fillers added by DDL as specified by the alignment algorithm in effect when the definition or record was compiled For the data types that DDL generates for C source code see Table C 1 on page C 2 The DDL compiler performs all of the syntax checks listed under the CCHECK command before writing the C source output If DDL finds a syntax e...

Page 240: ...M_HEADING Customer Number pragma section custnum Definition CUSTNUM created on 11 02 1995 at 14 37 typedef char custnum_def 4 pragma section zip_cd Definition ZIP CD created on 11 02 1995 at 14 37 typedef char zip_cd_def 5 pragma section name Definition NAME created on 11 02 1995 at 14 37 pragma fieldalign shared2 __name typedef struct char last_name 12 char first_name 8 char midinit 2 name_def pr...

Page 241: ... earlier rules substructures that contain only byte data can be byte aligned or odd length The C00CALIGN and CFIELDALIGN_MATCHED2 commands cannot be in effect at the same time DDL uses the value of the last command that was specified C00CALIGN NOC00CALIGN or CFIELDALIGN_MATCHED2 C00CALIGN is the default setting For more information about alignment rules see Appendix H DDL Alignment Rules CCHECK Co...

Page 242: ...words cannot be DDL names If you compile DDL data structures for C you must maintain word alignment throughout Be sure that all members of a structure containing character or filler items have an even number of characters and that a substructure within a structure starts on a word boundary Odd length character fields must be followed by fields that are naturally word aligned If you use the C_MATCH...

Page 243: ...PPER generates C define names in uppercase letters CDEFINEUPPER is the default NOCDEFINEUPPER generates C define names in lowercase letters CFIELDALIGN_MATCHED2 Command The CFIELDALIGN_MATCHED2 command specifies that data structure alignment follows the pTAL and TAL alignment rules CFIELDALIGN_MATCHED2 directs DDL to use pTAL and TAL rules Additionally C output is generated for the following start...

Page 244: ...nerated with CFIELDALIGN_MATCHED2 set is preceded by the following statement pragma fieldalign shared2 __struct name where __struct name is the name of the struct When generating C source with matched2 alignment DDL allows substructures to start on an odd byte boundary Without matched2 alignment C substructures must start on a word boundary The DDL source code for a definition or record compiled w...

Page 245: ...ignment rules see Appendix H DDL Alignment Rules CFIELDALIGN_MATCHED2 Examples The following example shows the storage alignment for structure s1 struct s1 struct char c 3 ss2 char y s1 With CFIELDALIGN_MATCHED2 set members of the structure can start on odd byte boundaries With C00CALIGN set all structures and nested substructures must begin and end on an even byte boundary The next example shows ...

Page 246: ... Definition Language DDL Reference Manual 426798 002 9 16 CFIELDALIGN_MATCHED2 Command With CFIELDALIGN_MATCHED2 set members of the substructure can start on odd byte boundaries c 0 c 1 c 2 filler y filler x c 0 c 1 c 2 y filler ...

Page 247: ...an opened C output file identifier_name Specifies the identifier affected by the command CIFDEF CIFNDEF CENDIF Command Guidelines The following points are guidelines for using the CIFDEF CIFNDEF and CENDIF commands Each CIFNDEF and CIFDEF command must be closed by one CENDIF command The DDL compiler allows the nesting of CIFNDEF and CIFDEF commands DDL does not store the identifier name following ...

Page 248: ... Output source for C is opened on ADE101 BUG CSRC CIFNDEF EMP CONSTANT EMP VALUE JYOTI Constant EMP defined C output produced for EMP CIFDEF EMP CONSTANT EMP VALUE RAM Constant EMP defined C output produced for EMP CENDIF CENDIF NOC Output source for C is closed The C source file csrc contains the following SCHEMA PRODUCED DATE TIME 3 10 2000 19 39 53 ifndef EMP pragma section emp Constant EMP cre...

Page 249: ...ess of the setting of CLISTIN the compiler listing always includes any production comments The DDL compiler generates production comments to provide such information as the total length of records and definitions and to document such compiler actions as adding a record to the dictionary CLISTIN and NOCLISTIN work independently of the COMMENTS and NOCOMMENTS commands that control output of comments...

Page 250: ...any comments on referenced definitions immediately preceding the referring definition or record CLISTOUT Command Guidelines The following points are guidelines for using the CLISTOUT command CLISTOUT reproduces comments on any open C COBOL DDL FORTRAN FUP Pascal pTAL or TAL source code file You can suppress comments with NOCLISTOUT and then enable them with a subsequent CLISTOUT CLISTOUT does not ...

Page 251: ...uppress this comment with a NOTIMESTAMP command see the TIMESTAMP Command on page 9 112 CLISTOUT Command Example The following example illustrates selective suppression or reproduction of comments in a COBOL source output file The file COBSRC looks like this SECTION AA TANDEM 01 AA PIC X 8 SECTION BB TANDEM comment for bb 01 BB PIC 9 6 SECTION YY TANDEM comment for yy 01 YY comment for aa 02 Y1 PI...

Page 252: ...urce file is open the compiler performs the COBOL checks whether or not COBCHECK is set You can stop COBOL syntax checking by specifying a NOCOBCHECK command you can restart checking with a subsequent COBCHECK The DDL compiler does not perform the lengthy syntax testing performed by the COBOL compiler The DDL compiler tests the DDL statements to ensure that they do not violate the following rules ...

Page 253: ...up and specify the group as the key a group s data type is assumed to be alphanumeric regardless of the data types of its member fields COBCHECK Command Example The following listing shows the error messages generated by the COBOL syntax check on a single RECORD statement When COBCHECK is in effect DDL issues the following message for each DDL object statement that passes the syntax check COBOL CH...

Page 254: ...s is cobol level base increment level 1 Here level is the level number of the item within the dictionary it can be any value from 0 to 49 The COBLEVEL level numbers are used only for COBOL source output DDL does not keep these level numbers in the dictionary If you need to rebuild your COBOL source files and want to keep the COBLEVEL level numbers you must specify the COBLEVEL command before issui...

Page 255: ...he current file and opens a new source file cobol source file identifies the COBOL source file For the syntax of file names see DDL File Names on page 2 2 If cobol source file is omitted DDL displays the COBOL source code at the home terminal purges the contents of an existing COBOL source file before opening the file If the specified file does not exist DDL ignores the exclamation point NOCOBOL c...

Page 256: ...le in a separate section with the same name as the DDL object it contains You can suppress the default section headings with the SETSECTION command The DDL compiler performs all of the syntax checks listed under the COBCHECK command before writing source output If it finds a syntax error DDL issues an error message and does not write the source output for the DDL object statement with the error it...

Page 257: ...a in Appendix B Sample Schemas COLUMNS Command The COLUMNS command specifies how many character positions on input lines are significant for DDL input Each character position is a column and you can specify from 12 to 132 significant input columns num specifies the number of significant one byte character positions or columns for input num is an integer from 12 to 132 COLUMNS Command Guidelines Th...

Page 258: ...ociated with an object can be more than one line long Any comments that immediately precede the definition of an object are associated with that object Any comments that immediately precede the definition of an element in a group definition or record are associated with that element For more information on comments see CLISTOUT Command on page 9 20 and DDL Comments on page 2 9 COMMENTS Command Exa...

Page 259: ... 2 An expanded name in the following sequence Last name First name Middle initial 01 CUSTNAME Last name 02 LAST NAME PIC X 12 First name 02 FIRST NAME PIC X 8 Middle initial 02 MIDINIT PIC X 2 In the following example a comment on a TOKEN TYPE statement is inherited in the C COBOL Pascal TACL and pTAL or TAL source code generated for the token type DICT COBOL TAL TACL COMMENTS CLISTOUT NOTIMESTAMP...

Page 260: ...s Token type for enumerated tokens Literal ZSPI TYP ENUM 11 8 2 CPRAGMA Command The CPRAGMA command turns on pragma generation for C output NOCPRAGMA changes each pragma to a comment in C output so you can port the C code from DDL to another system whose C compiler does not support pragmas CPRAGMA turns on pragma generation for C output CPRAGMA is the default NOCPRAGMA encloses pragma generation w...

Page 261: ...CTOKENMAP_ASDEFINE Command Guidelines The following points are guidelines for using the CTOKENMAP_ASDEFINE and NOCTOKENMAP_ASDEFINE commands If the C output of a TOKEN MAP as a define exceeds one line a continuation character is appended to the end of all lines except the last one as required by the C syntax for a define The rules governing CDEFINEUPPER and NOCDEFINEUPPER also apply to the C outpu...

Page 262: ...MAP2 defined Token Map MAP2 added to dictionary pragma section map2 Token Map MAP2 created on 08 02 2000 at 15 04 define MAP2 2303 20 2 17152 767 C output produced for MAP2 DEF EMP1 02 F2 PIC X 500 END Definition EMP1 size is 500 bytes Definition EMP1 added to dictionary pragma section emp1 Definition EMP1 created on 08 02 2000 at 15 05 pragma fieldalign shared2 __emp1 typedef struct __emp1 char f...

Page 263: ...5 05 define MAP3 2303 150 500 17152 1 2561 C output produced for MAP3 NOCDEFINEUPPER OUTPUT Loading Definition EMP pragma section emp Definition EMP created on 08 02 2000 at 15 03 pragma fieldalign shared2 __emp typedef struct __emp char f1 2 emp_def define emp_def_Size 0 C output produced for EMP Loading Token Map MAP1 pragma section map1 Token Map MAP1 created on 08 02 2000 at 15 03 define map1 ...

Page 264: ...EMP1 pragma section emp1 Definition EMP1 created on 08 02 2000 at 15 05 pragma fieldalign shared2 __emp1 typedef struct __emp1 char f2 500 emp1_def define emp1_def_Size 0 C output produced for EMP1 Loading Token Map MAP3 pragma section map3 Token Map MAP3 created on 08 02 2000 at 15 05 static short map3 2303 150 500 17152 1 2561 C output produced for MAP3 CUNDEF Command The CUNDEF command generate...

Page 265: ...MP VALUE JYOTI Constant EMP defined C output produced for EMP CIFDEF EMP CUNDEF EMP CENDIF NOC Output source for C is closed The C source file csrc contains the following SCHEMA PRODUCED DATE TIME 3 10 2000 20 05 28 pragma section emp Constant EMP created on 03 10 2000 at 20 05 define EMP JYOTI ifdef EMP undef EMP endif C_DECIMAL Command The C_DECIMAL command controls whether the DDL compiler prod...

Page 266: ...mal values in C output for simple numeric fields For computational numeric fields DDL ignores the effect of the C_DECIMAL compiler command C_DECIMAL Command Example The following example shows the use of the C_DECIMAL and NOC_DECIMAL commands 12 DICT DEF EMP 02 ITEM1 PIC 9 5 02 ITEM2 PIC 9 6 END C OUTPUT C_DECIMAL OUTPUT NOC_DECIMAL OUTPUT DEF EMP1 02 ITEM1 PIC 9 5 02 ITEM2 PIC 9 5 COMP END C_DECI...

Page 267: ...cimal item2 6 emp_def C output produced for EMP NOC_DECIMAL OUTPUT Loading Definition EMP pragma section emp Definition EMP created on 03 06 2000 at 17 13 pragma fieldalign shared2 __emp typedef struct __emp char item1 5 char item2 6 emp_def C output produced for EMP DEF EMP1 02 ITEM1 PIC 9 5 02 ITEM2 PIC 9 5 COMP END Filler emitted at level 2 after ITEM1 Definition EMP1 size is 10 bytes Definitio...

Page 268: ...ucture ending on an odd byte boundary followed by a user defined item that DDL would allocate starting on the odd byte DDL allocates data starting on an odd byte for character data only The source code for a generated struct is preceded by the following statement pragma fieldalign shared2 __struct name NOC_MATCH_HISTORIC_TAL resets the option C_MATCH_HISTORIC_TAL Command Guidelines The following p...

Page 269: ..._TAL Command Example The following example shows the C source generated for the given DDL source with C_MATCH_HISTORIC_TAL in effect which allows substructures to start and end on odd byte boundaries If the C_MATCH_HISTORIC_TAL command is not in effect C source will not be generated for def f because substructure j starts on an odd byte boundary def a 02 b type character 1 02 c type character 1 02...

Page 270: ...lause for all structures in pTAL or TAL output DO_PTAL_ON in the default DO_PTAL_OFF causes generation of a FIELDALIGN clause for all structures in pTAL or TAL output but encloses the FIELDALIGN clauses within IF PTAL compiler directives DO_PTAL_ON Command Guidelines Either option causes the DDL compiler to generate code that can be compiled with either the TAL or pTAL compiler However if you need...

Page 271: ...es the following output when DO_PTAL_ON is in effect SCHEMA PRODUCED DATE TIME 3 10 1995 15 26 30 SECTION FIRST PAGE Definition FIRST created on 3 10 1995 at 15 26 STRUCT FIRST DEF FIELDALIGN SHARED2 BEGIN STRING FLD1 STRUCT SUB BEGIN STRING FLD2 END END DDL produces the following output with DO_PTAL_OFF in effect SCHEMA PRODUCED DATE TIME 3 10 1995 15 26 30 SECTION FIRST PAGE Definition FIRST cre...

Page 272: ...rce file If ddl source file is omitted DDL lists the source at the home terminal purges the contents of an existing DDL source file before opening the file If the specified file does not exist DDL ignores the exclamation point NODDL closes the currently open DDL source file and stops translating subsequent DDL object definitions NODDL is the default setting DDL Command Guidelines The following poi...

Page 273: ...g example directs the DDL compiler to purge the contents of the file before opening it If the file does not exist DDL creates a new file with the specified name DDL dallas data sales ddlsrc In the next example the compiler writes all the definitions and records from an open dictionary to the DDL source file DDLSRC first purging any data in that file Assume that the dictionary does not contain Path...

Page 274: ...The DEFLIST command instructs DDL to include in its compiler listing a description of each definition that is referenced by a DEFINITION or RECORD statement DEFLIST lists the level number name size and byte offset of definitions referenced by a DEFINITION or RECORD statement NODEFLIST suppresses the DEFLIST descriptions in the listing NODEFLIST is the default DEFLIST Command Guidelines The followi...

Page 275: ...ithin a structure that is in error DEFLIST shows where the error is DEFLIST Command Examples Assume that this definition of VARIABLE TABLE is already in the dictionary DEF variable table 02 table size TYPE BINARY 16 02 data table TYPE BINARY 32 OCCURS 1 TO 100 TIMES DEPENDING ON table size END Variable Value level number Level number assigned to the field in the referring structure field name Name...

Page 276: ... 2 4 1 100 Table starts at byte 0 with a maximum length of 402 bytes Element starts at byte 0 and has a length of 2 bytes Element starts at byte 2 has a length of 4 bytes and occurs 1 to 100 times VST909 vsd DEFLIST OUTPUT RECORD customer Include descriptions of referenced definitions in the listing VST910 vsd Loading Record CUSTOMER Including 01 CUSTINFO 0 69 Including 02 CUSTNUM 0 4 Including 03...

Page 277: ...s the dictionary subvolume dict subvol name is a subvolume name in this form node name volume name subvolume name If dict subvol name is omitted DDL uses the current system and the current volume and subvolume If node name is omitted DDL uses the current system if volume name is omitted DDL uses the current volume and if subvolume name is omitted DDL uses the current subvolume purges all existing ...

Page 278: ...rrent update access If a dictionary already exists you can do either of the following Purge the dictionary and re create it by specifying an exclamation point after the subvolume name Add new DDL objects to the existing dictionary by omitting the exclamation point Note that for a Pathmaker dictionary DICT deletes only DDL objects not Pathmaker objects services servers requesters and screens Pathma...

Page 279: ...en to the open dictionary DICTN Command The DICTN command instructs the DDL compiler to do the following Create and open a nonaudited dictionary on a specified subvolume or open an existing dictionary on a specified subvolume Enter all subsequent DDL object definitions into the open dictionary DICTN creates and opens a new dictionary or opens an existing dictionary and enters all subsequent object...

Page 280: ...a completely new dictionary by user Y User Y must have purge access to the original files to be able to use the purge option otherwise DDL does not execute the DICT command If no dictionary is in the specified subvolume DDL ignores the exclamation point If the dictionary is audited or was created by an older DDL version DDL deletes the dictionary and re creates it as a nonaudited dictionary provid...

Page 281: ...s the default file security of whoever compiles the DDL source code Only one dictionary can be open at a time If you use the DICTN command when you already have a dictionary open DDL closes the current dictionary before opening the specified dictionary After a DICTN or DICT command creates a dictionary using DICTN or DICT to open the dictionary has no effect on whether the dictionary is audited or...

Page 282: ...es the NOSAVE command when a dictionary is opened with DICTR Only one dictionary can be open at a time If you use the DICTR command when you already have a dictionary open DDL closes the current dictionary before opening the specified dictionary DICTR Command Example This command opens the dictionary on DATA SALES for read only access DICTR data sales EDIT Command The EDIT command instructs the DD...

Page 283: ... For instance if you have opened a COBOL source file entered some text in this file and then want to view it with the text editor you must issue the NOCOBOL command before you issue the EDIT command Default EDIT File When you specify edit file name in the EDIT command DDL passes that name to the current EDIT process and also stores the name If you omit edit file name from the next EDIT command in ...

Page 284: ...and Guidelines The following points are guidelines for using the ERRORS command If the ERRORS command is omitted compilation continues until the end of the source file regardless of the number of errors ERRORS max errors 33 DDL DICT DDL ddlfil RECORD sum NODDL EDIT ddlfil LIST ALL CURRENT FILE IS DATA PARTS DDLFIL 1 Record SUM 2 File is DATA SALES SUM Unstructured 3 Def is SUM DEF 4 End FIX 3 3 De...

Page 285: ...peared the fifth error to occur the third error after the command appeared would halt compilation ERRORS Command Examples The following ERRORS command directs the DDL compiler to stop compiling when it encounters the third compilation error ERRORS 3 If a third compilation error is encountered DDL issues the error message for the third error followed by the fatal error message Too Many Errors Compi...

Page 286: ...enced could refer to yet another structure that might be in another module Without inline expansion a dependency chain or modules must be developed to ensure proper resolution of references The EXPANDC command does not apply to type ENUM because the C compiler requires each enumerator to be unique For ENUM types DDL outputs a referenced type definition as a structure name DDL generates a C enumera...

Page 287: ...pragma fieldalign shared2 __e typedef struct __e c_def e1 d_def e2 15 e_def pragma fieldalign shared2 __e typedef struct __e char e1 10 struct short b1 char b2 10 struct short b31 char b32 10 b3 5 e2 15 e_def def f 2 f1 pic x 100 2 f2 redefines f1 3 f3 type b 3 f4 pic x 10 end pragma fieldalign shared2 __f typedef struct __f union char f1 100 struct b_def f3 char f4 10 f2 u_f1 f_def pragma fieldal...

Page 288: ...nd causes DDL to generate explicit filler fields To align an item according to its width At the end of a structure to make its length a multiple of its alignment To prevent bit fields less than 16 bits from straddling a 2 byte boundary FIELDALIGN_SHARED8 Example The following example shows the C source generated from the given DDL source with FIELDALIGN_SHARED8 in effect DDL Source FIELDALIGN_SHAR...

Page 289: ...FILLER command specifies a filler algorithm to be used when the DDL compiler generates filler bytes for source code DDL generates filler bytes when needed to make sure the next field or group starts on a word boundary Whenever you create a new dictionary you should use FILLER 1 FILLER 0 is primarily provided for compatibility with dictionaries created by versions of DDL prior to the B00 software r...

Page 290: ...e item field or a group not described with a REDEFINES clause does not start on a word boundary DDL inserts one byte of filler before the field or group If the first element in a group not described with a REDEFINES clause does not start on a word boundary DDL inserts one byte of filler before the group If a group described with an OCCURS clause has both an odd number of bytes and an element that ...

Page 291: ...code for example consider the following DEFINITION statements DEF test1 02 a PIC XX 02 b PIC S9 4 COMP END DEF case1 02 c PIC X 02 test1 TYPE END DEF case2 02 test1 TYPE 02 c PIC X END With FILLER 1 the COBOL source code for CASE1 and CASE2 is 01 CASE1 02 C PIC X 02 FILLER PIC X 1 02 TEST1 03 A PIC XX 03 B PIC S9 4 COMP 01 CASE2 02 TEST1 03 A PIC XX 03 B PIC S9 4 COMP 02 C PIC X With FILLER 0 the ...

Page 292: ...as though FORTRAN source code were being produced If a FORTRAN source file is open FORCHECK is the default NOFORCHECK terminates the FORTRAN checking If a FORTRAN source file is not open NOFORCHECK is the default FORCHECK Command Guidelines The following points are guidelines for using the FORCHECK command If a FORTRAN source file is open the compiler performs the FORTRAN checks whether or not FOR...

Page 293: ...e FORTRAN Command The FORTRAN command instructs the DDL compiler to Create and open a FORTRAN source file or open an existing FORTRAN source file Translate subsequent statements that describe DDL definitions and records into FORTRAN source statements Translate DDL objects specified in subsequent OUTPUT statements into FORTRAN source statements Write the FORTRAN source statements to the FORTRAN sou...

Page 294: ...se the FORTRAN command when you already have a FORTRAN source file open DDL closes the current source file before opening the new source file The only DDL objects that can be translated into FORTRAN source code are definitions and records The compiler can translate definitions and records specified in an OUTPUT statement only if the dictionary containing these objects is open If the FORTRAN source...

Page 295: ... DDL object with the error it does write source output for a DDL object if only a warning is issued DDL ignores the RENAMES clause when generating FORTRAN source output FORTRAN Command Example In the following example DDL retrieves the definition of the record CUSTOMER from the open dictionary translates it into FORTRAN source code and writes it to the file DALLAS DATA SALES FORSRC If this file al...

Page 296: ...cts the DDL compiler to Create and open a FUP source file or open an existing FUP source file Translate the file attributes of any subsequent RECORD statements into FUP file creation commands Translate the file attributes of any records specified in subsequent OUTPUT statements into FUP file creation commands Write the FUP file creation commands to the open FUP source file FUP opens the specified ...

Page 297: ...ce file already exists and the exclamation point is omitted DDL appends the new FUP file creation commands to the end of the file DDL does not replace any existing commands in the file You can change any file creation command after it is written to the FUP source file by closing the file and then editing it using the EDIT program You might need to edit either of the following attributes File names...

Page 298: ... K SET KEYLEN 4 SET REC 69 SET BLOCK 4096 SET IBLOCK 4096 SET AUDIT SET MAXEXTENTS 100 SET EXT 4 32 CREATE data sales customer RESET SET TYPE K SET KEYLEN 28 SET REC 28 SET BLOCK 4096 SET IBLOCK 4096 SET EXT 4 32 SET AUDIT SET MAXEXTENTS 100 CREATE data sales custome0 To create the file CUSTOMER and its alternate key file CUSTOME0 enter the following command 35 FUP IN fupsrc 34 DDL DICT FUP fupsrc...

Page 299: ...ELP command lists a command description in an interactive session 36 DDL HELP SAVE SAVE Don t purge dictionary when it is closed The following example shows how the HELP command matches a partial command name to a command and displays information 37 DDL HELP C COBOL Open COBOL source output on specified file LINECOUNT Command The LINECOUNT command specifies the number of lines printed on both a re...

Page 300: ...rom NOLIST to the next LIST command or to the end of the source file LIST Command Guidelines The following points are guidelines for using the LIST command The DDL listing destination can be specified as a parameter when DDL is executed with the DDL run command or it can be specified as a parameter in the DDL OUT command For a description of the DDL run command see Section 3 Running the DDL Compil...

Page 301: ...file If an NCL source file is already open the command closes the current file and opens a new source file NCL source file identifies the NCL source file If you omit NCL source file DDL lists the NCL Constant source statements at the home terminal purges the contents of any existing NCL source file before creating and opening a new file If the specified file does not exist DDL ignores the exclamat...

Page 302: ...e writing the name to the NCL source file All NCL constant names generated by the DDL compiler appear in uppercase characters The specified NCL source file must be an EDIT file If the source file exists but is not an EDIT file DDL issues an error message does not open the file and does not output any NCL source Only one NCL source file can be open at a time If you specify the NCLCONSTANT command w...

Page 303: ... Constant VAL 4 created on 12 01 1992 at 10 54 define val_4 4 Constant VAL 7 created on 12 01 1992 at 10 54 define val_7 7 Constant VAL 8 created on 12 01 1992 at 10 54 define val_8 8 Constant LARGE VAL created on 12 01 1992 at 10 54 define large_val 32768 NEWFUP_FILEFORMAT Command The NEWFUP_FILEFORMAT command specifies file format 2 in FUP source files The NEWFUP_FILEFORMAT command instructs the...

Page 304: ...o define a record size greater than the above specified record sizes DDL issues an error message NEWFUP_FILEFORMAT Example In the following example the DDL compiler generates a statement in FUP source files to create a format 2 file 20 DDL DICT NEWFUP_FILEFORMAT DEF EMP 02 EMP NAME PIC X 20 02 EMP ID PIC 9 4 COMP 02 EMP SALARY PIC 9 6 V9 2 END FUP RECORD EMPL FILE IS EMPLOYEE DEF IS EMP KEY IS EMP...

Page 305: ...KEY MN IS EMPL EMP NAME END Record EMPL size is 30 bytes Record EMPL added to dictionary SECTION EMPL Record EMPL created on 03 02 2000 at 18 00 RESET SET FORMAT 2 SET ALTKEY MN KEYOFF 0 KEYLEN 20 FILE 0 SET NO ALTCREATE SET ALTFILE 0 EMPLOYE0 SET TYPE K SET KEYOFF 20 SET KEYLEN 2 SET REC 30 SET BLOCK 4096 SET IBLOCK 4096 SET EXT 4 32 SET MAXEXTENTS 100 CREATE EMPLOYEE RESET SET FORMAT 2 SET TYPE ...

Page 306: ...LEFORMAT command allows the user to generate FUP output without any format specification DDL does not allow you to define a record length that is more than the maximum allowed length for the particular type of file For files with no format specification the maximum allowed record length assuming the block size as 4096 bytes is as follows If you attempt to define a record size that is greater than ...

Page 307: ...MA PRODUCED DATE TIME 3 02 2000 18 52 42 Output source for FUP is opened on ZTNT PTVWAT5 NOFILEFORMAT RECORD EMPL FILE IS EMPLOYEE DEF IS EMP KEY IS EMPL EMP ID KEY MN IS EMPL EMP NAME END Record EMPL size is 30 bytes Record EMPL added to dictionary SECTION EMPL Record EMPL created on 03 02 2000 at 19 10 RESET SET ALTKEY MN KEYOFF 0 KEYLEN 20 FILE 0 SET NO ALTCREATE SET ALTFILE 0 EMPLOYE0 SET TYPE...

Page 308: ...lar format command using the OLDFUP_FILEFORMAT NEWFUP_FILEFORMAT or NOFILEFORMAT command and stores the records in the dictionary the user must use the same commands while requesting FUP output of those records The format specification for both the alternate key and the main file is the same format 1 in this case DDL does not allow the user to define a record length greater than the maximum allowe...

Page 309: ...2 EMP ID PIC 9 6 COMP 02 EMP SALARY PIC 9 7 V9 2 END Definition EMP size is 23 bytes Definition EMP added to dictionary FUP SCHEMA PRODUCED DATE TIME 3 01 2000 21 26 19 Output source for FUP is opened on ZTNT PTVWAMU OLDFUP_FILEFORMAT RECORD EMPL FILE IS EMPLOYEE DEF IS EMP KEY IS EMPL EMP ID KEY MN IS EMPL EMP NAME END Record EMPL size is 23 bytes Record EMPL added to dictionary SECTION EMPL Reco...

Page 310: ...llowing points are guidelines for using the OUT command When you use the OUT command DDL lists the entire compiler output source lines and error messages on the listing destination you specify in that command DDL also lists error messages on the listing destination specified in the DDL run command The OUT command can be used anywhere within a DDL source file Different portions of the listing can b...

Page 311: ...d is used to nullify the effect of the OUTPUT_SENSITIVE command if that command is already in effect The NOOUTPUT_SENSITIVE command is the default form of the command OUTPUT_SENSITIVE Command Guidelines The OUTPUT_SENSITIVE command allows the user to define all definitions records and constants in case sensitive format All lowercase remains lowercase and all uppercase remains uppercase The default...

Page 312: ...ds DDL DICT C TAL NOOUTPUT_SENSITIVE DEF kiSHOy 02 cuTNAME PIC X 10 02 cdT ID PIC 9 6 END DICT Audited dictionary created on subvol ADE101 BUG Dictionary opened on subvol ADE101 BUG for update access C SCHEMA PRODUCED DATE TIME 3 06 2000 13 19 47 Output source for C is opened on ZTN0 PTS3Z89 TAL SCHEMA PRODUCED DATE TIME 3 06 2000 13 19 55 Output source for TAL is opened on ZTN0 PTS3Z89 NOOUTPUT_S...

Page 313: ...C 9 6 COMP END Definition emp size is 14 bytes Definition emp added to dictionary pragma section emp Definition emp created on 03 06 2000 at 13 29 pragma fieldalign shared2 __emp typedef struct __emp char emp_NAME 10 unsigned long emp_ID emp_def define emp_def_Size 0 C output produced for emp SECTION emp PAGE Definition emp created on 03 06 2000 at 13 29 STRUCT emp DEF FIELDALIGN SHARED2 BEGIN STR...

Page 314: ... resumes listing at the top of the next page If a title is specified DDL lists that title at the top of every subsequent page until it encounters another PAGE command with a different listing title PAGE Command Example The following PAGE command specifies a listing title PAGE DEFINITIONS Each subsequent listing page has the title DEFINITIONS until DDL encounters another PAGE command with a new tit...

Page 315: ... terminal a spooler or a process If the file exists but is not one of these types DDL issues an error message and does not open the file Only one Pascal source file can be open at a time If you use the Pascal command when you already have a Pascal source file open DDL closes the current source file before opening the new source file If the Pascal source file already exists and the exclamation poin...

Page 316: ... error it does write source output for an object if only a warning is issued When generating Pascal source code DDL ignores the following clauses PASCAL Command Example In the following example the DDL compiler retrieves the record CUSTOMER from the open dictionary translates it into Pascal source code and appends the source code to the open Pascal file For the DDL definition of the CUSTOMER recor...

Page 317: ...or different arrays DDL uses the value in the PASCALBOUND command when writing an element to the dictionary After an element is in the dictionary changing the PASCALBOUND value has no effect on the Pascal output for that element To change the PASCALBOUND value for an entered element you must replace the element in the dictionary Pascal arrays are declared for fields and groups described with an OC...

Page 318: ...urce file is open PASCALCHECK is the default If there is no Pascal source file open NOPASCALCHECK is the default PASCALCHECK Command Guidelines The following points are guidelines for using the PASCALCHECK command If a Pascal source file is open the compiler performs the Pascal checks whether or not PASCALCHECK is set You can stop Pascal syntax checking by specifying NOPASCALCHECK you can restart ...

Page 319: ...ck on a single DEFINITION statement When PASCALCHECK is in effect DDL issues the following message for each DDL object that passes the syntax check PASCAL CHECK completed for name In this message name is the name of the object checked by PASCALCHECK PASCALCHECK DEF TRANSPORT 02 CASE PIC X 10 02 ORIGIN PIC X 10 02 DESTIN PIC X 10 02 LABEL PIC X 10 02 PACKED PIC X 10 END Definition TRANSPORT size is...

Page 320: ...d writes a schema report to the open file REPORT directs the DDL compiler to open a report file and write a schema report to that file The schema report describes DDL objects defined by statements or output from the open dictionary If a REPORT file is already open this command closes the current file and opens the specified file report destination is a file name or the name of an output device to ...

Page 321: ...erence the report also provides the source definition If the report destination you specify is an existing file DDL appends the report to the contents of the file REPORT Command Examples To produce a schema report on the output device S PRINTER you could enter the following noninteractive command 40 DDL IN myschema DICT REPORT S printer You could generate the same report interactively as follows 4...

Page 322: ...Command Guidelines The following points are guidelines for using the RESET command You should use RESET only in interactive sessions It functions in the noninteractive mode but is more useful in the interactive mode You should use RESET whenever an error or series of errors makes it difficult to continue compilation RESET Command Example This example shows an interactive session in which a structu...

Page 323: ...ing dictionary is opened for update and NOSAVE is in effect when the dictionary is closed the contents of the dictionary are purged The NOSAVE command is ignored if the dictionary is part of a Pathmaker project If the DDL compiler encounters an error while processing a statement that describes a DDL object it does not add that object to the dictionary If the dictionary is saved either by default o...

Page 324: ...of a source schema section called section name SECTION Command Guidelines The following points are guidelines for using the SECTION command A section is defined as all the source lines following a SECTION command up to and including the last line before the next SECTION command or the end of the DDL source schema You can divide a DDL source schema into any number of sections You can use the SOURCE...

Page 325: ...ocale is used See Section 6 Definition Attributes for complete information on specifying locales SETLOCALENAME Command Guidelines The following points are guidelines for using the SETLOCALENAME command If multiple SETLOCALENAME commands are issued the last one issued is in effect The SETLOCALENAME command can be set anytime Different locales can be used when generating a programming language sourc...

Page 326: ...DDL FORTRAN Pascal pTAL or TAL source code file The SETSECTION command has no effect on sections in a DDL source schema You use the SECTION command to specify section names in a source schema SETSECTION section name directs the DDL compiler to immediately generate a SECTION heading with section name on all currently open host language source code files except TACL files and to generate no other SE...

Page 327: ...ns in the DDL source schema being compiled You use the SECTION command to specify section names in a source schema in order to selectively compile source sections with the SOURCE command SETSECTION Command Examples The following example shows the use of the SETSECTION command to generate two source code sections one for constants and one for definitions SETSECTION constants CONSTANT custnum headin...

Page 328: ...created with the DDL command If you specify more than one section the sections are compiled in the order they occur in the source file A single SOURCE command can extend over more than one input line The first line begins with SOURCE and each subsequent line begins with a question mark Source schema files can be nested that is source schema A can contain a SOURCE command specifying source schema B...

Page 329: ...efault is 0 SPACING Command Guidelines The following points are guidelines for using the SPACING command The SPACING command controls spacing only on a printed report it does not affect spacing in a report file or on a terminal display You can use the SPACING command as often as you want to within a DDL source schema or in a DDL session SPACING Command Example In this example the SPACING command d...

Page 330: ... new source file tacl source file identifies the TACL source file If tacl source file is omitted DDL lists the TACL source code at its home terminal purges the contents of an existing TACL source file before opening the file If the specified file does not exist DDL ignores the exclamation point NOTACL closes the currently open TACL source file and stops translating subsequent DDL objects NOTACL is...

Page 331: ...es that DDL generates for TACL source code see Table C 5 on page C 10 When translating a definition or record DDL generates a TACL structure corresponding to the data type of each field or group of fields in the definition or record unless the field or group is defined with a TACL clause If a field definition or a field or group description includes a TACL clause DDL generates a TACL structure wit...

Page 332: ...CORD customer The TACL source code in TACLSRC follows Section CUSTOMER Struct Begin STRUCT CUSTNUM BEGIN CHAR BYTE 0 3 END STRUCT CUSTNAME Begin STRUCT LAST NAME BEGIN CHAR BYTE 0 11 END STRUCT FIRST NAME BEGIN CHAR BYTE 0 7 END STRUCT MIDINIT BEGIN CHAR BYTE 0 1 END End STRUCT ADDR Begin STRUCT ADDRESS BEGIN CHAR BYTE 0 21 END STRUCT CITY BEGIN CHAR BYTE 0 13 END STRUCT STATE BEGIN CHAR BYTE 0 1 ...

Page 333: ...tput TAL Command The TAL command instructs the DDL compiler to Create and open a pTAL or TAL source file or open an existing pTAL or TAL source file Translate all subsequent statements that define DDL objects into pTAL or TAL source statements Translate any DDL objects specified in subsequent OUTPUT statements into pTAL or TAL source statements Write the TAL source statements to the TAL source fil...

Page 334: ...f the pTAL or TAL source file already exists and the exclamation point is omitted DDL appends the DDL objects to the end of the file s original contents DDL does not replace any existing objects The compiler can translate DDL objects specified in an OUTPUT statement only if the dictionary containing these objects is open Each DDL object translated into pTAL or TAL source code is written to the pTA...

Page 335: ... command before writing the pTAL or TAL source output If DDL finds a syntax error it does not write the source output for the object with the error it does write source output for an object if only a warning is issued The lower bound for pTAL or TAL arrays can be set with the TALBOUND command TAL Command Example In the following example DDL opens the dictionary opens and then clears the file DALLA...

Page 336: ...hen NOTALALLOCATE is in effect DDL translates single field definitions into pTAL or TAL DEFINEs or STRUCT templates TALALLOCATE allocates memory for single field definitions when the TAL command is in effect TALALLOCATE is the default NOTALALLOCATE suppresses memory allocation when the TAL command is in effect causing DDL to translate single field definitions into pTAL or TAL DEFINEs or STRUCT tem...

Page 337: ... 1 assigns any subsequent pTAL or TAL arrays a lower bound of 1 TALBOUND 1 is the default TALBOUND Command Guidelines The following points are guidelines for using the TALBOUND command You can use the TALBOUND command as often as needed to set different bounds for different arrays DDL uses the value specified by the TALBOUND command when it writes an element to the dictionary After an element is i...

Page 338: ...es the DDL compiler to Perform pTAL or TAL syntax checks as though the compiler were going to produce pTAL or TAL source code but without actually generating the code List messages describing any error or warning conditions discovered during syntax checking TALCHECK performs the pTAL or TAL syntax checks as though pTAL or TAL source code were being produced If a pTAL or TAL source file is open TAL...

Page 339: ...f form specified by pTAL or TAL pTAL or TAL reserved words cannot be DDL names A constant value must not be greater than its defined limit A name cannot be longer than 31 ASCII characters including suffixes such as DEF WLN or KEY A REDEFINES clause cannot be at the level directly following that of a definition or record TALCHECK Command Example The following listing shows the error messages genera...

Page 340: ...TAL output NOTALUNDERSCORE is the default TALUNDERSCORE Command Example The following example shows the pTAL or TAL output from the same DDL definition CONSTANT This Is A Literal VALUE is 99 When TALUNDERSCORE is in effect DDL produces the following pTAL or TAL output LITERAL This_Is_A_Literal 99 When NOTALUNDERSCORE is in effect DDL produces the following pTAL or TAL output LITERAL This Is A Lite...

Page 341: ...s to the DDL compiler You must close any source file before editing it For instance if you have opened a COBOL source file and entered some text in it and then you want to view the source file with the text editor you must issue the NOCOBOL command before you issue the TEDIT command Default TEDIT File When you specify edit file name in the TEDIT command DDL passes that name to the current PS Text ...

Page 342: ...s the date and time comments on DDL or host language source listings TIMESTAMP Command Guidelines The following points are guidelines for using the TIMESTAMP command DDL produces a number of starred timestamp comments on the listings of DDL or host language source code A comment at the beginning of the listing tells the date and time the schema was produced individual comment lines preceding each ...

Page 343: ...press initial values in the source code generated for COBOL and DDL This command applies only to values specified in the VALUE clause of a DEFINITION or RECORD statement VALUES includes initial values in COBOL or DDL source code when a VALUE clause is in a DEFINITION or RECORD statement VALUES is the default NOVALUES suppresses any initial values when generating DDL or COBOL source code NO VALUES ...

Page 344: ...l values into comments The VALUES command is useful for definitions used in the Linkage sections of COBOL or SCREEN COBOL where COBOL initial values are not allowed VALUES Command Example The following example suppresses initial values for the definition NEW NAME These fields are stored in COBSRC as SECTION NEW NUMB TANDEM 01 NEW NUMB PIC 9 12 VALUE ZEROS SECTION NEW NAME TANDEM 01 NEW NAME PIC X ...

Page 345: ...the number of compilation warnings allowed before DDL terminates the compilation max warnings is the maximum number of compilation warnings allowed before DDL terminates compilation of the source file The number must be in the range from 1 to 32 767 WARNINGS Command Guidelines The following points are guidelines for using the WARNINGS command If the WARNINGS command is omitted compilation continue...

Page 346: ...ut instead counts the number of messages issued that begin with WARNING Some warning conditions can generate more than one such message For example WARNING COBOL85 OUTPUT DIAGNOSTICS WARNING Unsupported data type in element A WARNING Unsupported data type in element B If for example WARNINGS 3 had been specified compilation would terminate after this condition occurred WARNINGS Command Examples Th...

Page 347: ...created from the DDL compiler You might have made so many minor changes to definitions and records in the dictionary that the original source schema is out of date You might have lost the original schema or purged it by accident To generate a source schema use the OUTPUT statement to generate DDL source code for all the objects in an open dictionary and write the code to an open DDL source file Yo...

Page 348: ...n existing record DDL issues an error message and does not replace the existing object You can specify the new object in an interactive DDL session but errors are not easy to correct in a session So if the object requires more than a few lines of code it is generally easier and safer to add a new object noninteractively To add the object you specify the appropriate statements in a source file open...

Page 349: ... record DEPENDENTS contains two fields EMPNUM and DEPNAME that refer to existing objects in the dictionary Deleting Dictionary Objects Deleting a dictionary object is comparatively easy if the object is not referenced by other objects in the dictionary Objects that are never referenced by other objects are records SPI token codes and SPI token maps The technique for deleting such objects is descri...

Page 350: ...ctionary do this 1 Open the dictionary The dictionary must be open before DDL executes the DELETE statement 2 Specify the DELETE statement or statements You can specify the statement in an interactive DDL session 3 Compile the DELETE statement If you enter the statement in an interactive session DDL compiles the statement as you enter it If the statement is in a source file you can specify the fil...

Page 351: ...oken codes token types and token maps that refer to the object to be deleted It writes the DELETE statements to delete the referring objects in the correct sequence in the first section of an open DDL source file It redefines the specified object in the second section of an open DDL source file It writes the statements to rebuild the objects that referred to the specified object in a section for e...

Page 352: ...he DELETE statements for these objects to the DDL compiler This step executes the DELETE statements effectively deleting the objects from the dictionary 6 Delete the object Use a DELETE statement to delete the object from the dictionary To illustrate this procedure suppose you want to delete the definition of a field called AGE from the dictionary and this definition is referenced by another defin...

Page 353: ...PLOY DDL source output produced for EMPLOY Loading Record EMPLOYEE DDL source output produced for EMPLOYEE NODDL EDIT delfile L 1 10 1 Section AGE DELETES 2 Delete Record EMPLOYEE 3 Delete Definition EMPLOY 4 5 Section AGE 6 7 8 Section EMPLOY 9 10 EXIT SOURCE delfile age deletes 1 SECTION AGE DELETES 2 Delete Record EMPLOYEE Record EMPLOYEE deleted from dictionary 3 Delete Definition EMPLOY Defin...

Page 354: ... course change the original source schema directly and recompile the dictionary but this causes unnecessary processing if your dictionary is large To modify the object do this 1 Open the dictionary Use a DICT or DICTN command to open the dictionary containing the object to be modified 2 Modify the object To avoid recompiling the entire source schema write the object definition from the dictionary ...

Page 355: ...fy is referenced by any other objects 45 DDL DICT data sales DDL newsrc OUTPUT RECORD orders Loading Record ORDERS DDL source output produced for ORDERS NODDL EDIT newsrc LA 3 Section ORDERS 6 Record ORDERS 7 File is data sales orders Key sequenced 8 Audit 9 Definition is ORDERINFO 10 11 Key is ORDERNUM Duplicates not allowed 12 Key sn is SALESPERSON 13 Key cn is CUSTNUM 14 End A 13 13 Key cn is C...

Page 356: ...fied followed by the statements to redefine each deleted object to the open DDL source file OUTPUT UPDATE redefines objects in sequence so that referenced objects are defined before any objects that refer to them After executing OUTPUT UPDATE you can edit the statement that defines the object you are changing When the statement is changed to your satisfaction compile the DDL source file into an op...

Page 357: ... compiler from the command interpreter specifying the DDL source file as the input file Suppose postal zip codes must be changed from five digits to nine digits The sample database schema in Appendix B Sample Schemas includes a definition of the object ZIP CD which is referenced by three definitions SUPPINFO CUSTINFO and ADDR and by two records SUPPLIER and CUSTOMER The following example illustrat...

Page 358: ...ced for ZIP CD Loading Definition ADDR DDL source output produced for ADDR Loading Definition CUSTINFO DDL source output produced for CUSTINFO Loading Definition SUPPINFO DDL source output produced for SUPPINFO Loading Record CUSTOMER DDL source output produced for CUSTOMER Loading Record SUPPLIER DDL source output produced for SUPPLIER NODDL EDIT modfile xvs f Section ZIP CD DELETES Delete Record...

Page 359: ...making the necessary deletions modifications and additions 3 Compile the schema into a new dictionary If you do not need the old dictionary you can clear it at this time and write the new dictionary objects back into the cleared dictionary files To illustrate this procedure generate a current schema for the dictionary on DATA SALES 48 VOLUME data sales 49 DDL DICT DDL newsrc OUTPUT EXIT List and e...

Page 360: ...ity Program FUP Reference Manual Moving a Dictionary You can move a dictionary from one subvolume to another subvolume with a combination of FUP commands If you are creating a backup dictionary on the new subvolume keep the original dictionary If you want only one copy of the dictionary purge the original dictionary after the move The procedure for moving a nonaudited dictionary differs from the p...

Page 361: ...ng the following command 57 OBEY data sales dicmove If you no longer need the original dictionary on DATA SALES you can purge the dictionary files as described in Purging a Dictionary on page 10 18 Moving an Audited Dictionary Moving an audited dictionary requires more steps than moving a nonaudited dictionary because of these actions of the FUP utility on audited files When you FUP DUP an audited...

Page 362: ...ile that uses an audited alternate key file so you must disable auditing on any alternate key file before enabling auditing on a file that uses that alternate key file To move an audited dictionary 1 Disable auditing using FUP ALTER commands Where necessary reenable auditing on alternate key files before disabling auditing on files that use the alternate key files 2 Duplicate the dictionary files ...

Page 363: ...IT FUP ALTER DICTVER NO AUDIT FUP DUP DICTALT DICTCDF DICTDDF DICTKDF DICTMAP data sales FUP DUP DICTOBL DICTODF DICTOTF DICTOUF DICTOUK data sales FUP DUP DICTRDF DICTTKN DICTTYP DICTVER data sales VOLUME data sales FUP ALTER DICTKDF ALTFILE 0 DICTALT FUP ALTER DICTOBL ALTFILE 0 DICTALT FUP ALTER DICTODF ALTFILE 0 DICTALT FUP ALTER DICTOUF ALTFILE 0 DICTOUK FUP ALTER DICTRDF ALTFILE 0 DICTALT FUP...

Page 364: ... use the following command interpreter commands 59 VOLUME data sales 60 PURGE DICTALT DICTCDF DICTDDF DICTKDF DICTMAP DICTOBL DICTODF 61 PURGE DICTOTF DICTOUF DICTOUK DICTRDF DICTTKN DICTTYP DICTVER You can purge an open dictionary with the NOSAVE command If NOSAVE is in effect when you exit from DDL when another dictionary is opened or when the dictionary is closed using the NODICT command DDL pu...

Page 365: ...rease the maximum number of file extents To increase the maximum number of file extents do the following 1 Start an interactive FUP session 2 Use ALTER to increase the value of MAXEXTENTS 3 Use FUP INFO file name DETAIL to display and verify your changes 4 Exit from the interactive FUP session Table 10 1 Dictionary File Extent Sizes Dictionary File Primary Extent Secondary Extent DICTALT 4 pages 3...

Page 366: ... dictionary A dictionary is badly corrupted and cannot be rebuilt if one of the dictionary files is deleted One way to rebuild the dictionary is to generate a source schema following the procedure described under Generating a Backup Schema on page 10 1 This procedure rebuilds information about DDL objects and can be used for dictionaries created from the DDL compiler but not for dictionaries that ...

Page 367: ...occurs Assume that a dictionary has been created on the subvolume DATA SALES Type the following command to determine if the dictionary is audited 66 FUP INFO data sales FUP displays the following information CODE EOF LAST MODIF OWNER RWEP TYPE REC BLOCK DATA SALES DICTALT 201A 12288 17 06 8 47 CUCU K 38 4096 DICTCDF 207A 12288 17 06 8 47 CUCU K 11 4096 DICTDDF 200 30 17 06 8 47 CUCU DICTKDF 206A 1...

Page 368: ...rwritten For example you can use the following commands and statements to convert a version 4 or 5 dictionary on subvolume DATA SALES to a new dictionary on the same subvolume If you run Enform reports using SYSTEM SYSTEM DDQUERYS against a converted dictionary change the dictionary description embedded in the dictionary on SYSTEM DDL and install the release of Enform that corresponds to this rele...

Page 369: ...s or G series dictionary for Enform reports on D series or G series files To change the dictionary description do this 1 Move to the subvolume SYSTEM DDL 2 Purge the existing dictionary files on that subvolume 3 Run DDL to compile the dictionary schema SYSTEM SYSTEM DDLSCHEMA and print a listing of the compiled schema The following example illustrates this procedure 69 VOLUME system ddl 70 PURGE d...

Page 370: ...Dictionary Maintenance Data Definition Language DDL Reference Manual 426798 002 10 24 Converting a Dictionary ...

Page 371: ...d warning messages follows The messages are alphabetized on the first word following the ERROR FATAL ERROR or WARNING prefix Cause A group described with a USAGE IS COMP clause contains a field with a data type that cannot be computational Effect DDL rejects the object Recovery Change the data type of the field or remove the USAGE IS COMP clause from the group definition or description WARNING Ind...

Page 372: ...ause from the group definition Cause This is an internal compiler error no user error is implied Effect DDL closes the dictionary and all output files and stops processing current source file Recovery Report the error to your service provider Cause The figurative constant ALL precedes a numeric literal in a VALUE or MUST BE clause Effect DDL rejects the object Recovery Either remove the figurative...

Page 373: ...e from the bit field definition or description or change the type of the field and recompile the object Cause An attribute specified for a field in a RECORD statement can be specified only in a DEFINITION statement For example the SPI NULL clause cannot be in a RECORD statement but can be in a DEFINITION statement Effect DDL rejects the object Recovery Remove the attribute from the RECORD statemen...

Page 374: ... relative Cause The source files are nested too deeply DDL allows approximately 20 levels of nesting Effect DDL closes the dictionary and output files and stops processing Recovery Reduce the number of nesting levels of source files Cause An invalid value was specified for BUFFERSIZE Effect Effect DDL rejects the record Recovery Recovery Change the BUFFERSIZE value to 512 1 024 2 048 or 4 096 and ...

Page 375: ...ferenced by another definition or record DDL cannot replace this definition without corrupting definitions or records that refer to this definition Effect DDL rejects the object Recovery Use OUTPUT UPDATE to rebuild objects that refer to the corrected definition Cause At least one ifdef or ifndef statement in C output was not closed Effect DDL issues this warning message For example DICT Audited d...

Page 376: ...S clauses Effect DDL does not write the object to the COBOL source file Recovery Reduce the levels of nested OCCURS clauses and recompile the object Cause You requested COBOL85 output by default or with a SETCOBOL85 command but the object does not conform to COBOL85 rules Effect A message follows describing the COBOL85 error DDL does not write the object to the COBOL85 source file Recovery If you ...

Page 377: ...ictionary to the current version and reenter command Cause You have entered a command that does not apply to the particular object type for example OUTPUT UPDATE specifies RECORD or SHOW USE OF specifies TOKEN CODE as the object type Effect DDL does not execute the command Recovery Use a different command for the particular object type Cause A field description that you attempted to compile contai...

Page 378: ...he error and recompile For more information about computational items see USAGE Clause on page 6 74 Cause The data type of the referenced item identified by element_name is described with a USAGE IS COMP clause but is not a computational data type Effect DDL rejects the object Recovery Correct the error and recompile For more information about computational items see USAGE Clause on page 6 74 Caus...

Page 379: ...e error and recompile Cause The record definition of an entry sequenced relative or unstructured file contains a COMPRESS DCOMPRESS or ICOMPRESS clause These clauses apply only to key sequenced files Effect DDL rejects the object Recovery Change the file structure to key sequenced or remove the COMPRESS DCOMPRESS or ICOMPRESS clause Cause A CONSTANT statement has a value that is incompatible with ...

Page 380: ...use A CONSTANT statement has either a value greater than 130 ASCII characters or a value that was made greater by DDL emitting a tilde preceding the special TACL characters and TACL code is requested Effect DDL does not generate TACL code for the constant or for any object that refers to the constant Recovery Shorten the constant value and regenerate the TACL constant or object that refers to the ...

Page 381: ...cify a primary key that has offset 0 or remove the DCOMPRESS clause Cause You are attempting to run DDL on an unsupported version of the operating system Effect The DDL process does not start Recovery Consult your system manager Cause An internal error has occurred No user error is implied Effect DDL closes the dictionary and output files and stops processing Recovery Consult your system manager C...

Page 382: ...rd generates a Pascal type definition that is greater than 32 766 bytes Effect DDL does not generate Pascal output for the specified definition or record Recovery Shorten the definition or record and regenerate the Pascal source code Cause A definition or record generates a TACL structure that is greater than 5 000 bytes The entire TACL structure not just individual fields must be less than or equ...

Page 383: ...rently being defined tried to refer to itself Effect DDL rejects the object Recovery Take out the reference to the field and recompile the statement Cause The DEPENDING ON element has a VALUE clause in which the specified value is not within the range specified by the OCCURS clause Effect DDL rejects the object Recovery Specify a valid value and recompile Cause You moved the dictionary from anothe...

Page 384: ... Error and Warning Messages Cause DDL was unable to convert the dictionary To determine the cause see the preceding error message in your output listing Effect The dictionary is not converted Recovery Correct the error and rebuild the dictionary ERROR Dictionary conversion failed ...

Page 385: ...overy Determine the status of the individual files and purge them manually when possible Cause You entered a DICTR command but no dictionary exists on the specified volume and subvolume Effect DDL does not open the specified dictionary Recovery Reissue the DICTR command specifying the correct volume and subvolume Cause You placed a DICT command within a group definition or a RECORD statement and d...

Page 386: ...s unique Cause An enumeration clause for a field specifies the same value as another enumeration clause for the field Effect DDL rejects the object Recovery Specify a different enumeration value and recompile Cause You specified an EDIT or TEDIT command in a DDL source file or session in which an OUT command or the OUT run option has specified the output file to be a file other than an interactive...

Page 387: ... Cause The edit picture specified in an EDIT PIC clause is not valid for the data type of the field being defined Effect DDL rejects the object Recovery Specify a valid edit picture in the clause and resubmit the statement to DDL Cause A file error indicated by file error occurred during creation of the EDIT or TEDIT process No user error is implied Effect DDL cannot start the EDIT or TEDIT proces...

Page 388: ... SCHEMA PRODUCED DATE TIME 8 01 2000 15 05 22 Output source for TAL is opened on ZTN1 PTPJHYV def emp pic 9999 PACKED DECIMAL Definition EMP size is 3 bytes Definition EMP added to dictionary WARNING TAL OUTPUT DIAGNOSTICS ERROR Element contains PACKED DECIMAL data type EMP ERROR PACKED DECIMAL data type is not supported in TAL ERROR Errors detected no output produced for EMP Recovery Recovery is ...

Page 389: ...specified for an item whose length does not agree with the TACL data type For more information about TACL data type lengths see TACL Clause Guidelines on page 6 44 Effect DDL rejects the object Recovery Change the length of the item or remove the TACL clause and recompile Cause DDL encountered a version of a dictionary that the current version of DDL cannot access Effect DDL stops processing Recov...

Page 390: ... a transaction in an audited dictionary Transactions are aborted when a change to the dictionary is begun but cannot be completed Effect DDL closes the dictionary and output files and stops processing Recovery Your dictionary might be corrupt consult your system manager Cause DDL encountered an error while trying to begin a transaction in an audited dictionary A transaction begins when the diction...

Page 391: ...rrectly Recovery Put at start of each SOURCE input line and recompile Cause A value for EXT is not a multiple of the block size the default block size is 4096 bytes Effect DDL rejects the object Recovery Change the EXT value to a multiple of BLOCK For example if BLOCK 4096 4 is a valid value for EXT but 3 is not Cause A value for EXT is not a multiple of the buffer size the default buffer size is ...

Page 392: ...e corresponding DDL structure containing the REDEFINES clause Effect DDL still generates source code for C Recovery No recovery is necessary Cause DDL generated an anonymous Pascal record because DDL encountered a REDEFINES clause The record is anonymous because it has a name but no type DDL generated the record name by prefixing a V_ to the name of the first structure being redefined Effect DDL s...

Page 393: ... assignment clause for a primary key includes a file name You can specify a file name in the KEY IS clause only for an alternate key Effect DDL uses the file name specified in the file creation part of the record statement and ignores the file name specified in the key assignment clause Recovery No recovery is necessary because a primary key does not require a separate file Cause A FILLER field is...

Page 394: ... Effect DDL rejects the object Recovery Remove the MUST BE clause and recompile Cause A FILLER field is described with a NULL clause Effect DDL rejects the object Recovery Remove the NULL clause and recompile Cause A FILLER field is described with a REDEFINES clause Effect DDL rejects the object Recovery Remove the REDEFINES clause and recompile Cause A FILLER field is described with a TACL clause...

Page 395: ...Remove the USER clauses and recompile Cause A FILLER field has no PICTURE or TYPE clause to specify its length Effect DDL rejects the object Recovery Add a PICTURE or TYPE clause to the field description and recompile Cause An elementary field is larger than 255 bytes and output to a FORTRAN source file is requested Effect DDL does not write object containing field larger than 255 bytes to the FOR...

Page 396: ...s Cause You requested FORTRAN output but the object does not conform to FORTRAN syntax rules Effect A message follows describing the FORTRAN error DDL does not write the object to the FORTRAN source file Recovery Correct the error and recompile if you want FORTRAN output WARNING FORTRAN OUTPUT DIAGNOSTICS ...

Page 397: ...DDL rejects the object Recovery Reduce the number of nesting levels and recompile Cause You specified a JUSTIFIED clause for a group Effect DDL rejects the object Recovery Remove the JUSTIFIED clause from the group definition or description add a JUSTIFIED clause to the description of each field in the group and recompile Cause You specified a MUST BE clause for a group Effect DDL rejects the obje...

Page 398: ...nition into the dictionary Recovery If the help text must fit on Pathmaker screens break the text into shorter lines and recompile A single HELP clause can have many lines of help text but each line must be no more than 77 characters long Cause A DDL name containing a hyphen might duplicate a FORTRAN name Effect When generating FORTRAN source code DDL might use another identifier with the same FOR...

Page 399: ...tes specify the same version for bit fields that share the same word Cause A COBOL level number increment in a COBLEVEL command is equal to or less than 0 Effect DDL does not change the increment Recovery Correct the error and recompile if you want to Cause A field whose definition or description includes a USAGE IS INDEX clause is not 2 or 4 bytes is not a single field or is not a computational i...

Page 400: ...e the object Cause An initial value for a group exceeds the combined size of the fields within the group Effect DDL rejects the object Recovery Change the initial value or the combined field size and recompile Cause An initial value for a field is outside the range specified for that field in a MUST BE clause Effect DDL rejects the object Recovery Change the MUST BE range or the VALUE clause and r...

Page 401: ...or bit fields are generated as 16 bit integer items Effect DDL takes no action beyond the warning message Recovery No recovery is necessary Cause You used an invalid special character Effect DDL rejects the object Recovery Remove the invalid character and recompile Cause The indicated compiler command is invalid Effect DDL ignores the command Recovery Correct the command and recompile if necessary...

Page 402: ... The FILE IS clause of a RECORD statement specifies an invalid file name Effect DDL rejects the object Recovery Correct the file name and recompile Cause A hyphen is the last character of a name identifying a record definition group or field Effect DDL rejects the object Recovery Correct the error and recompile Cause A specified level number is less than 02 or greater than 49 or an elementary fiel...

Page 403: ...ax and recompile Cause PICTURE string does not conform to required syntax Effect DDL rejects the object Recovery Correct the PICTURE string and recompile Cause The first value in a specified range is greater than the second value Effect DDL rejects the object containing invalid range Recovery Correct the range and recompile Cause A section name in a SOURCE command is invalid or is not present when...

Page 404: ...tant name in a CONSTANT statement can cause this error Effect DDL rejects the object Recovery Modify the statement to conform to DDL syntax rules and recompile Cause The code in the TEXT TYPE field of the dictionary file DICTOTF is supposed to identify a comment but the code is invalid for a comment Effect DDL cannot use the dictionary Recovery This error cannot be recovered using DDL alone Report...

Page 405: ... Cause You specified a version in a VERSION constant or in the VERSION clause of a TOKEN MAP statement that is not of the form ann in which a is a letter and nn is a 2 digit number Effect DDL rejects the object Recovery Specify the version correctly and recompile Cause A REDEFINES clause refers to a level 66 item Effect DDL rejects the object Recovery Correct or remove the REDEFINES clause and rec...

Page 406: ...countered an error while attempting to access the USERID file on SYSTEM SYSTEM DDL must access this file to record the creator user ID and modifier user ID in the dictionary Effect DDL closes the dictionary and output files and stops processing Recovery If the problem persists consult your system manager Cause The JUSTIFIED clause can appear only in an alphabetic or alphanumeric elementary item Ef...

Page 407: ...e alternate key Cause You specified a key field for an unstructured file unstructured files cannot have key fields Effect DDL rejects the record Recovery Remove the key specification and recompile Cause You specified a KEYTAG string with more than 2 characters Effect DDL rejects the record Recovery Specify a KEYTAG string no longer than 2 characters and recompile Cause The same KEYTAG value occurs...

Page 408: ... elementary field Effect DDL rejects the object Recovery Correct the error and recompile Cause One or more level 88 clauses follow the definition or description of a bit field DDL does not allow level 88 clauses for bit maps because COBOL does not support such structures and level 88 items are meaningful only for COBOL Effect DDL rejects the object Recovery To avoid the error message remove the le...

Page 409: ...NT number command is not a positive integer Effect The line count is unchanged Recovery Correct number and recompile if necessary Cause A literal name you used as a key in a record definition written to a pTAL or TAL source file exceeds the pTAL or TAL limit on name size Effect DDL changes the literal name to a comment Recovery Shorten the key name and recompile Cause A TALCHECK command found that...

Page 410: ...ord or definition that was created with matched2 alignment Effect DDL does not generate the Pascal source Recovery Compile the definition without the CFIELDALIGN_MATCHED2 command Cause A source schema contains a SECTION command with no section name and a SOURCE command requests a section in that schema Effect DDL ignores the SECTION command Recovery Specify a name in the SECTION command and recomp...

Page 411: ... specification from the field and recompile Cause More than 32 I18N definitions were associated with a text item Effect DDL rejects the text item Recovery Have a maximum of 32 I18N definitions associated with a text item Cause When you specified nonunique alternate keys you specified different file names on different keys Effect DDL continues processing using only the first file name encountered R...

Page 412: ...r to another ENUM field and recompile Cause A field name has the same name as a group record or definition that contains the field and COBOL output was requested Effect DDL suppresses COBOL output Recovery Change the field name so that it differs from the names that qualify it and recompile Cause A CENDIF compiler command was used that did not match with any CIFDEF or CIFNDEF commands used before ...

Page 413: ...error and recompile Cause You entered a NOSAVE command but no dictionary is open Effect DDL ignores the NOSAVE command Recovery Open a dictionary using the DICT command and reissue the NOSAVE command Cause FUP output is being generated and a file is specified in DDL as assigned or temporary FUP output can be generated only for permanent files Assigned and temporary files can be used only in C COBO...

Page 414: ...he last clause Cause NO ODDUNSTR describes a key sequenced entry sequenced or relative file NO ODDUNSTR applies only to unstructured files Effect DDL rejects the object Recovery Change the file type to unstructured or remove the NO ODDUNSTR attribute and recompile Cause A FILE clause specified a key sequenced file but no primary key was specified in a KEYTAG or KEY IS clause Effect DDL rejects the...

Page 415: ...ou specified a numeric field as a key field when COBOL output is requested COBOL does not allow numeric keys Effect DDL suppresses COBOL output Recovery Redefine the key field as alphanumeric or specify a different alphanumeric field as the key and recompile Cause The source file in source command is not found in the mentioned subvolume Effect DDL cannot start reading in the file Recovery Add the ...

Page 416: ...is inherited by the referring definition DDL does not produce output for inherited attributes Recovery Remove the NULL clause from the DDL source schema or change the null value so that it differs from the referenced definition and recompile Cause A NULL clause character string is longer than 1 byte or a NULL clause number is greater than 255 or less than 0 Effect DDL rejects the object Recovery S...

Page 417: ...rejects the object Recovery Give the object a different name and recompile Cause An object specified in a statement or command or referenced by another object is not in the open dictionary Effect DDL does not execute the statement or command or DDL rejects the referring object Recovery Define the missing object and reissue the command or statement or recompile the referring object Cause The next o...

Page 418: ...scal TACL or TAL Cause The field you specified in the DEPENDING ON phrase of an OCCURS clause is not defined Effect DDL rejects the object Recovery Define the field referred to in the DEPENDING ON phrase and recompile Cause The field specified in the DEPENDING ON phrase of an OCCURS clause is not a numeric data type Effect DDL rejects the object Recovery Correct the error and recompile Cause An OC...

Page 419: ...e data structure Cause An OCCURS clause is at the definition or record level OCCURS can be specified only at level number 02 or greater Effect DDL rejects the object Recovery Correct the error and recompile Cause A number in octal format contains a decimal point for example 6 5 is not a valid octal number Effect DDL rejects the object Recovery Correct the number and recompile Cause The security of...

Page 420: ...s Definition EMP added to dictionary WARNING TAL OUTPUT DIAGNOSTICS ERROR Element contains PACKED DECIMAL data type EMP ERROR PACKED DECIMAL data type is not supported in TAL ERROR Errors detected no output produced for EMP Effect Recovery is not possible Remove the COMP 3 COMPUTATIONAL 3 or PACKED DECIMAL data item from the definition or record Such data items are not supported in C FORTRAN pTAL ...

Page 421: ...n the maximum of 18 nines Effect DDL rejects the object For example def emp 02 fld1 pic 9 19 comp 3 ERROR PICTURE clause contains more than 18 nines FLD1 Recovery Correct the error and recompile Cause A PICTURE string exceeds 30 ASCII characters when COBOL output is requested Effect DDL does not write the object to the COBOL source file Recovery Shorten the PICTURE string and recompile rebuild the...

Page 422: ...ct DDL rejects the object Recovery Correct the error and recompile Cause The record entered is too large for the block size at least one record and a header must fit into a block Effect DDL rejects the object Recovery Change block size or record sizes and recompile Cause DDL tried to access a dictionary object when the object was locked An object is locked when another user is updating the object ...

Page 423: ...tput Recovery Correct the error and recompile rebuild the dictionary if necessary Cause A redefined field or group does not immediately precede the redefining field or group Effect DDL rejects the object Recovery Move the redefining field or group to follow the field or group it redefines then recompile ERROR Record size too big for file type File Type Maximum Length Unstructured 4 096 bytes Entry...

Page 424: ...t COBOL output is then requested Effect DDL suppresses COBOL output Recovery Make the redefining field or group the same size as the field or group it redefines and recompile rebuild the dictionary if necessary Cause A reference is made to a record or definition and the dictionary is not open Effect DDL does not generate output Recovery Open the dictionary and recompile Cause A locale name is defi...

Page 425: ...e the referenced element earlier and recompile Cause The ENUM clause in the type specification for a bit field refers to a definition that is not of type ENUM Effect DDL rejects the bit field definition or the group containing the bit field description Recovery Change the ENUM clause to refer to a definition of type ENUM or omit the ENUM clause and recompile the object Cause A renamed field is not...

Page 426: ...es C COBOL pTAL Pascal or TAL output for the object Recovery Change the name and recompile rebuild the dictionary if necessary Cause The indicated constant name is a DDL reserved word Effect DDL rejects the constant Recovery Change the constant name to a name that is not a DDL reserved word and recompile For a list of DDL reserved words see DDL Reserved Words on page 2 7 Cause The specified number...

Page 427: ...DDL generates filler to make the redefining field or group the same size as the redefined field or group Recovery No recovery is necessary Cause The PICTURE clause of a computational field contains ten or more 9 s but does not contain the symbol S to indicate that the field is signed Effect DDL rejects the object Recovery Correct the error and recompile Cause A SPACING command specifies a value ot...

Page 428: ...very Specify an SPI null value between 0 and 255 and recompile Cause The value is not 255 in the SPI NULL clause of the type specification for a bit field Effect DDL rejects the bit field definition or the group definition containing the bit field description Recovery Change the value in the SPI NULL clause to 255 or omit the SPI NULL clause and recompile the object Cause A DDL definition cannot b...

Page 429: ...slated into pTAL or TAL When generating pTAL or TAL source for a string DDL would normally emit a struct for the string field Because this particular string is an odd length DDL would have to add a filler to word align the struct Effect DDL does not write the definition to the pTAL or TAL source file Recovery Change the DDL definition so make the definition even length Recompile the definition Cau...

Page 430: ...the number of levels that make up this key Cause You requested pTAL or TAL output for an object but the object does not conform to pTAL or TAL rules Effect A message follows describing the pTAL or TAL error DDL does not write the object to the pTAL or TAL source file Recovery Correct the error and recompile Cause A TALBOUND or PASCALBOUND command has a value other than 0 or 1 Effect The TALBOUND o...

Page 431: ...ens the specified dictionary anyway Recovery No recovery is necessary Cause You used a DICT or DICTR command to open a nonaudited dictionary Effect DDL opens the specified dictionary anyway Recovery No recovery is necessary Cause The VALUE IS clause in a TOKEN CODE statement is already specified Effect DDL rejects the token code Recovery Remove one of the VALUE IS clauses and recompile Cause No VA...

Page 432: ...C structure not just individual fields must be less than or equal to 32 767 bytes Effect DDL does not generate C output for the specified token map Recovery Shorten the definition referenced in the TOKEN MAP statement and regenerate the C source code Cause A TOKEN MAP statement generates a Pascal structure that is greater than 32 766 bytes The entire Pascal structure not just individual fields mus...

Page 433: ... of the VALUE IS clauses and recompile Cause No VALUE clause is specified in a TOKEN MAP statement Effect DDL rejects the token map Recovery Specify a VALUE clause Cause VERSION is not specified for the field inside the DEFINITION used in the TOKEN MAP statement Effect DDL rejects the token map Recovery Specify a VERSION for the field Cause The OCCURS specification inside the DEF clause in a TOKEN...

Page 434: ...ype Recovery Shorten the referenced definition make it a variable length type make the OCCURS value smaller or use the TOKEN MAP statement instead then recompile Cause The DEF IS clause in a TOKEN TYPE statement is already specified Effect DDL rejects the token type Recovery Remove one of the DEF IS clauses and recompile Cause A token type is already specified in the TOKEN CODE statement Effect DD...

Page 435: ...E clause in a TOKEN TYPE statement contains or represents a token data type number that is outside the acceptable range Effect DDL rejects the token type Recovery Specify a correct number in the VALUE clause Cause A definition or record contains more than 2 000 elements the symbol table maximum limit Effect DDL rejects the object closes the dictionary and stops processing Recovery Shorten the defi...

Page 436: ...umber of comment lines to 65 777 or fewer Cause A MUST BE or level 88 clause has too many values Effect DDL rejects the object Recovery Split the level 88 clause into two level 88 clauses with shorter values lists If possible use ranges instead of listing values for example replace 1 2 3 4 5 with 1 through 5 Cause The number of warnings specified in the WARNINGS command has been reached Effect DDL...

Page 437: ...put files and stops processing Recovery Retry operation if problem persists consult your system manager Cause COBOL Fortran Pascal FUP or NCL output requested a definition record constant or token statement which contains an underscore as a part of its identifier Effect DDL issues this message and does not generate output For example DICT Dictionary opened on subvol ADE101 ALPHA for update access ...

Page 438: ...ut does not recognize the type associated with that definition The most likely cause is that the version of DDL is older than that of the dictionary which contains a data type not supported by the older DDL compiler Effect DDL rejects the definition Recovery Use a version of DDL that is recent enough to recognize all data types in the dictionary Cause DDL has attempted to access the indicated defi...

Page 439: ...overy Change the data type of the element and recompile Cause The data type of an element in the referenced group definition is not supported in the requested source language For valid data types in the requested source language see Appendix C DDL Data Translation Effect DDL still generates output for the requested source language into a data type with the same size Recovery Change the data type o...

Page 440: ...ecompile Cause You are attempting to update a record that another user is updating Effect DDL does not complete the update Recovery Retry the operation Cause Both a VALUE and a MUST BE clause describe the same field but the initial value is not upshifted or cannot be upshifted Effect DDL rejects the object Recovery Correct the error and recompile Cause Both an UPSHIFT and a MUST BE clause describe...

Page 441: ...Effect DDL does not execute the command Recovery Set the value of the TACLGEN parameter to zero Cause A VALUE clause specifies a value that is outside the range of values allowed for the COBOL data type generated from the data item Effect DDL does not generate COBOL output for the data item Recovery Correct the value and recompile Cause A binary item has a larger value than the maximum value of th...

Page 442: ...ffect DDL rejects the object Recovery Correct the error and recompile Cause A field definition or description contains both OCCURS and VALUE clauses A field described with an OCCURS clause cannot have an initial value Effect DDL rejects the object Recovery Correct the error and recompile ERROR VALUE invalid or inconsistent with data type value ERROR VALUE item found with or within an OCCURS name ...

Page 443: ... not unique within the definition Effect DDL rejects the token map Recovery Check the referenced definition and qualify the group or field name that follows FOR in the VERSION clause to make the name unique then recompile Cause The field or group specified after THRU does not follow the field or group specified after FOR in a TOKEN MAP VERSION clause Effect DDL rejects the token map Recovery Check...

Page 444: ...definition and qualify the group or field name that follows THRU in the VERSION clause to make the name unique then recompile Cause You specified a value for the WARNINGS command that is not in the range 1 to 32767 Effect DDL ignores the WARNINGS command Recovery Specify a valid value in the WARNINGS command and recompile Cause You attempted to update a dictionary to which you do not have write ac...

Page 445: ...ting the source code For C two data items PRICE and PARTCOST are described with PICTURE clauses that are not supported by C For TACL three data items INVENTORY PRICE and PARTCOST are described with unsupported PICTURE clauses DDL generates compatible C and TACL data types for these items For Pascal pTAL and TAL there are data items that contain unsupported data types but these languages do not iss...

Page 446: ...LN es_ES ISO8859 1 Fournisseur Numero LN fr_FR ISO8859 1 CONSTANT partnum heading VALUE Part Number LN en_US ISO8859 1 Repuesto Numero LN es_ES ISO8859 1 Piece Numero LN fr_FR ISO8859 1 CONSTANT ordernum heading VALUE Order Number LN en_US ISO8859 1 Orden Numero LN es_ES ISO8859 1 Commande Numero LN fr_FR ISO8859 1 CONSTANT empnum heading VALUE Employee Number LN en_US ISO8859 1 Empleado Numero LN...

Page 447: ...8859 1 CONSTANT mdy date display VALUE M 99 99 99 CONSTANT part cost display VALUE M ZZZ ZZ9 99 FIELD DEFINITIONS DEFINITION custnum PIC 9 4 HEADING custnum heading DEFINITION suppnum PIC 9 4 HEADING suppnum heading DEFINITION partnum PIC 9 4 HEADING partnum heading DEFINITION ordernum PIC 9 4 HEADING ordernum heading DEFINITION empnum PIC 9 4 HEADING empnum heading DEFINITION regnum PIC 9 2 HEADI...

Page 448: ...2 02 day of month PIC 99 MUST BE 1 THRU 31 02 year PIC 99 END RECORD DEFINITIONS Definition for CUSTOMER Record DEFINITION custinfo 02 custnum TYPE 02 custname TYPE name 02 addr TYPE END Definition for ORDERS Record DEFINITION orderinfo 02 ordernum TYPE 02 orderdate TYPE mdy date 02 deldate TYPE mdy date 02 salesperson TYPE empnum HEADING salesperson heading 02 custnum TYPE END Definition for PART...

Page 449: ...2 branchname PIC X 14 02 manager TYPE empnum HEADING manager heading END Definition for EMPLOYEE Record DEFINITION empinfo 02 empnum TYPE 02 empname TYPE name 02 dept 03 regnum TYPE 03 branchnum TYPE 02 job PIC X 12 02 age PIC 9 2 02 salary PIC 9 6 02 vacation PIC 9 2 END FILE DEFINITIONS Contains customer information for each customer RECORD customer FILE IS data sales customer KEY SEQUENCED AUDI...

Page 450: ...EY SEQUENCED AUDIT MAXEXTENTS 100 DEFINITION IS partsinfo KEY IS parts partnum DUPLICATES NOT ALLOWED KEY pn IS parts partname END Contains a record of each part ordered from each supplier RECORD fromsup FILE IS data sales fromsup KEY SEQUENCED AUDIT MAXEXTENTS 100 02 primkey 03 partnum TYPE 03 suppnum TYPE 02 partcost PIC 9 6 V9 2 DISPLAY part cost display KEY IS primkey DUPLICATES NOT ALLOWED EN...

Page 451: ... DDL commands to build a dictionary containing the token definitions and other information needed by a subsystem that sends and receives SPI messages If you do not plan to use SPI messages to communicate among processes in a Distributed Systems Management DSM environment you need not refer to this schema The sample SPI schema uses standard SPI definitions wherever applicable and nonstandard defini...

Page 452: ...ionary and generates three source code files DDL does not generate FORTRAN source code for SPI objects DDL Commands to Create an SPI Schema The following commands create a DDL dictionary from the DDL source file containing standard SPI definitions ZSPIDEF ZSPIDDL and from the file ASSNDDL containing subsystem specific definitions ASSNCOB A COBOL source file that contains COBOL data descriptions fo...

Page 453: ...ddl int SPI NULL DEF zspi ddl byte TYPE BINARY 8 UNSIGNED SPI NULL 0 DEF zspi ddl char8 02 z c PIC X 8 SPI NULL 02 z s REDEFINES z c 03 z i TYPE BINARY 16 OCCURS 4 TIMES 02 z b REDEFINES z c PIC X OCCURS 8 TIMES END DEF zspi ddl username TACL username 02 z groupname TYPE zspi ddl char8 02 z username TYPE zspi ddl char8 END CONSTANT zspi tdt int VALUE IS 2 CONSTANT zspi tdt int2 VALUE IS 3 CONSTANT...

Page 454: ...nfo 02 jnumber TYPE zspi ddl int 02 priority TYPE zspi ddl int 02 location TYPE zspi ddl char8 SPI NULL X 02 jobclass is present TYPE zspi ddl boolean 02 jobclass TYPE zspi ddl int 02 jobusername TYPE zspi ddl username END SECTION assn token info Constants to define token numbers CONSTANT assn tnm my status VALUE IS 101 CONSTANT assn tnm stat reply VALUE IS 102 CONSTANT assn tnm jobinfo VALUE IS 3...

Page 455: ...THRU location VERSION D30 FOR jobclass is present NOVERSION FOR jobclass VERSION D30 FOR jobusername END Subsystem ID definition DEF assn val ssid TACL ssid 02 z filler TYPE CHARACTER 8 VALUE IS assn val yourco 02 z owner TYPE zspi ddl char8 REDEFINES z filler 02 z number TYPE zspi ddl int VALUE IS assn ssn assn 02 z version TYPE zspi ddl uint VALUE IS assn val version END SECTION assn buffer Buff...

Page 456: ...Sample Schemas Data Definition Language DDL Reference Manual 426798 002 B 12 ASSNDDL Statements ...

Page 457: ...o CHARACTER data type in FORTRAN or STRING BYTE data type in pTAL or TAL a structure described as PICTURE S9 4 COMP is translated into an INT data type in pTAL TAL or TACL or a NATIVE 2 data type in COBOL85 a DDL TYPE BINARY 64 data type is translated into a long long data type in C or an INT64 data type in Pascal When no compatible data type is available DDL translates the data type into a charac...

Page 458: ...OMP short PIC 9 5 COMP unsigned long PIC S9 5 COMP long PIC S9 10 COMP long long PIC 9999V99 OCCURS 52 TIMES char 52 6 PIC 9 OCCURS 0 TO 10 TIMES DEPENDING ON item char 10 DDL TYPE clause TYPE CHARACTER len char len TYPE BINARY 8 signed char TYPE BINARY 8 UNSIGNED char TYPE BINARY 16 short TYPE BINARY 16 UNSIGNED unsigned short TYPE BINARY 16 2 short TYPE BINARY 32 long TYPE BINARY 32 UNSIGNED uns...

Page 459: ... 3 TYPE SQL VARCHAR 10 typedef struct short LEN char VAL 10 TYPE SQL DATETIME DAY TO MINUTE char 8 TYPE SQL DATE char 10 TYPE SQL TIME char 8 TYPE SQL TIMESTAMP char 26 TYPE SQL INTERVAL MONTH 6 char 7 Field definition does not have bit length generated Only one of the possible forms of the clause see DICTOBL Fields on page D 12 for the byte lengths of all forms of the clause Table C 1 Sample DDL ...

Page 460: ... PIC 9 4 COMP PIC 9 4 COMP PIC S9 4 COMP PIC S9 4 COMP PIC 9 5 COMP PIC 9 5 COMP PIC S9 5 COMP PIC S9 5 COMP PIC S9 10 COMP PIC S9 10 COMP PIC 9999V99 OCCURS 52 TIMES PIC 9999V99 Occurs 52 TIMES PIC 9 OCCURS 0 TO 10 TIMES DEPENDING ON item PIC 9 Occurs 0 TO 10 TIMES DEPENDING ON item DDL TYPE clause TYPE CHARACTER 8 PIC X 8 TYPE BINARY 8 PIC X 1 FILLER PIC X 1 added by DDL TYPE BINARY 16 NATIVE 2 ...

Page 461: ... X 8 Occurs 100 TIMES TYPE BINARY 16 OCCURS 3 TIMES NATIVE 2 Occurs 3 TIMES Groups bit fields that can fit in the same word and generates a filler in the word s type Only one of the possible forms of the clause see DICTOBL Fields on page D 12 for the byte lengths of all forms of the clause Table C 2 Sample DDL COBOL Data Translation Table page 2 of 2 Clause Type DDL Clause Specification COBOL85 Da...

Page 462: ...C 9 4 COMP INTEGER 2 PIC S9 4 COMP INTEGER 2 PIC 9 5 COMP INTEGER 4 PIC S9 5 COMP INTEGER 4 PIC S9 10 COMP INTEGER 8 PIC 9 4 V9 2 OCCURS 52 TIMES CHARACTER 6 1 52 PIC 9 OCCURS 0 TO 10 TIMES DEPENDING ON item CHARACTER 1 1 10 DDL TYPE clause TYPE CHARACTER 8 CHARACTER 8 TYPE BINARY 8 CHARACTER 1 FILLER 1 added by DDL TYPE BINARY 16 INTEGER 2 TYPE BINARY 16 UNSIGNED INTEGER 2 TYPE BINARY 16 2 INTEGE...

Page 463: ...2 VAL CHARACTER 10 End Record TYPE SQL DATETIME DAY TO MINUTE CHARACTER 8 TYPE SQL DATE CHARACTER 10 TYPE SQL TIME CHARACTER 8 Groups bit fields that can fit in the same word and generates a filler in the word s type Only one of the possible forms of the clause see DICTOBL Fields on page D 12 for the byte lengths of all forms of the clause Table C 3 Sample DDL FORTRAN Data Translation Table page 2...

Page 464: ...ACTER 3 PIC 9 4 COMP INTEGER 2 PIC S9 4 COMP INTEGER 2 PIC 9 5 COMP INTEGER 4 PIC S9 5 COMP INTEGER 4 PIC S9 10 COMP INTEGER 8 PIC 9 4 V9 2 OCCURS 52 TIMES CHARACTER 6 1 52 PIC 9 OCCURS 0 TO 10 TIMES DEPENDING ON item CHARACTER 1 1 10 DDL TYPE clause TYPE CHARACTER len FSTRING len TYPE BINARY 8 BYTE TYPE BINARY 16 INT16 TYPE BINARY 16 UNSIGNED CARDINAL TYPE BINARY 16 2 INT16 TYPE BINARY 32 INT32 T...

Page 465: ...ES Array 1 3 of INT16 TYPE SQL VARCHAR 10 STRING 10 TYPE SQL DATETIME DAY TO MINUTE FSTRING 8 TYPE SQL DATE FSTRING 10 TYPE SQL TIME FSTRING 8 TYPE SQL TIMESTAMP FSTRING 26 TYPE SQL INTERVAL MONTH 6 FSTRING 7 Only one of the possible forms of the clause see DICTOBL Fields on page D 12 for the byte lengths of all forms of the clause Table C 4 Sample DDL Pascal Data Translation Table page 2 of 2 Cla...

Page 466: ...9V9 2 S CHAR BYTE 0 3 PIC T9V9 CHAR BYTE 0 2 PIC 9 2 T CHAR BYTE 0 2 PIC 9 4 COMP UINT PIC S9 4 COMP INT PIC 9 5 COMP INT2 PIC S9 5 COMP INT2 PIC S9 10 COMP INT4 PIC 9 4 V9 2 OCCURS 52 TIMES STRUCT 0 51 CHAR BYTE 0 5 PIC 9 OCCURS 0 TO 10 TIMES DEPENDING ON item CHAR 0 9 DDL TYPE clause TYPE CHARACTER len BEGIN CHAR BYTE 0 len 1 END TYPE BINARY 8 BYTE TYPE BINARY 16 INT TYPE BINARY 16 UNSIGNED UINT...

Page 467: ...N STRUCT VAL BEGIN CHAR BYTE 0 9 END END TYPE SQL DATETIME DAY TO MINUTE CHAR BYTE 0 7 TYPE SQL DATE CHAR BYTE 0 9 TYPE SQL TIME CHAR BYTE 0 7 TYPE SQL TIMESTAMP CHAR BYTE 0 25 TYPE SQL INTERVAL MONTH 6 CHAR BYTE 0 6 Groups bit fields that can fit in the same word and generates a filler in the word s type Only one of the possible forms of the clause see DICTOBL Fields on page D 12 for the byte len...

Page 468: ...STRUCT BEGIN STRING BYTE 1 15 END PIC SV9 3 STRUCT BEGIN STRING BYTE 1 4 END PIC 9V9 2 S STRUCT BEGIN STRING BYTE 1 4 END PIC T9V9 STRUCT BEGIN STRING BYTE 1 3 END PIC 9 2 T STRUCT BEGIN STRING BYTE 1 3 END PIC 9 4 COMP INT PIC S9 4 COMP INT PIC 9 5 COMP INT 32 PIC S9 5 COMP INT 32 PIC S9 10 COMP FIXED PIC 9 4 V9 2 OCCURS 52 TIMES STRUCT 1 52 BEGIN STRING BYTE 1 6 END PIC 9 OCCURS 0 TO 10 TIMES DE...

Page 469: ...IMES STRUCT 1 100 BEGIN STRING BYTE 1 8 END TYPE BINARY 16 OCCURS 3 TIMES INT 1 3 TYPE SQL VARCHAR 10 STRUCT BEGIN INT LEN STRING VAL 1 10 END TYPE SQL DATETIME DAY TO MINUTE STRING BYTE 1 8 TYPE SQL DATE STRING BYTE 1 10 TYPE SQL TIME STRING BYTE 1 8 TYPE SQL TIMESTAMP STRING BYTE 1 26 TYPE SQL INTERVAL MONTH 6 STRING BYTE 1 7 Field definition generates INT Only one of the possible forms of the c...

Page 470: ...DDL Data Translation Data Definition Language DDL Reference Manual 426798 002 C 14 ...

Page 471: ...s A DDL dictionary deals with three basic components objects elements and text items An object can be a single element as in the case of a single field definition or a constant or a group of elements as in the case of a record a group definition or a token map The DDL compiler manages six kinds of objects Constants Definitions Records SPI token types SPI token codes SPI token maps DDL can add thes...

Page 472: ...for the five fields in the record Text Items Text items can contain any text associated with an object A text item can be one of the following five types The dictionary stores all of the text items associated with each statement in a text file Each text item is uniquely identified by a text ID number A single text item can consist of a list of several lines of text the list is ordered by element n...

Page 473: ... Element Number Text Item Type 1 0 Customer S String 2 0 XXX S String 3 0 ALL K Keyword 3 1 SPACES K Keyword 4 0 Initials S String 5 0 999 S String 6 0 1 N Number 6 1 THRU K Keyword 6 2 999 N Number Table D 2 Dictionary Files Built for a Source Schema page 1 of 2 Name Description DICTALT ALTERNATE KEY FILE contains keys for DICTKDF DICTOBL DICTODF and DICTRDF DICTCDF CONSTANT DEFINITION FILE conta...

Page 474: ...TOTF OBJECT TEXT FILE contains one OTF record for each line of text associated with each text item Each record identifies the text by a unique text ID code that can be used to associate the text with fields in the DICTCDF DICTODF and DICTOBL files DICTOUF OBJECT USAGE FILE contains one OUF record for each relationship in which one object is used by another Each record identifies the object used an...

Page 475: ...hat identifies the type of the constant CONSTANT TYPE a numeric code identifying the type of the constant Record CDF File is DICTCDF Key sequenced Code 207 Audit 02 OBJECT NUMBER Pic 9 9 COMP Null 0 Display BZ I10 Heading Object Number 02 TEXT ID Pic 9 9 COMP Null 0 Display BZ I10 Heading Text Id Number 02 CONSTANT TYPE STRING Pic XX 88 CONSTANT STRING Value is ST 88 CONSTANT VERSION Value is VR 8...

Page 476: ...ce server requester or screen added to the dictionary NEXT TEXT ID the text ID number that DDL or the Pathmaker product assigns to the next text item stored in DICTOTF refer to DICTOTF fields for a description of the kinds of text items stored in the dictionary VERSION a version number that is incremented every time the internal structure of the dictionary changes Record DDF File is DICTDDF Unstru...

Page 477: ...next two fields GROUP NAME the name of the group to which the user belongs USER NAME a name identifying the user within the group NEXT QUAL ID a field that the Pathmaker product uses to obtain field qualifier IDs DICTKDF Fields DICTKDF Key Definition File contains one record for each key assignment defined in the schema that is one record for each alternate and primary key structured files or one ...

Page 478: ...Num 02 OBL KEY 03 OBJECT Pic 9 9 COMP Null 0 Display BZ I10 Heading Object Number 03 ELEMENT Type Binary 16 Display I3 Heading Element Number 02 KEYTAG VALUE Type Binary 16 VALUE 0 Display I5 Heading Keytag Value 02 KEYTAG STRING Redefines KEYTAG VALUE Type Character 2 Display A2 Heading Keytag Value 02 KEYTAG OBJECT Type OBJECT NUMBER VALUE 0 Null 0 Display I5 Heading Keytag Object 02 FIELD 03 OF...

Page 479: ...ord containing this key field the same as OBJECT in DICTOBL ELEMENT the element number of this key field the same as ELEMENT in DICTOBL KEYTAG VALUE the Enscribe key specifier of this key a one word integer representing the primary or alternate key number 02 NULL VALUE Type Binary 16 Display I5 Heading Null Value 02 NULL VALUE SPECIFIED Type ASCII SWITCH VALUE N Heading Null Specified 02 KEY CLASS...

Page 480: ...d by the user then the field has not been initialized This field is currently used by the Enform product when producing reports and by FUP when producing a FUP source file An alternate key field filled with null values is not added to an alternate key file NULL VALUE SPECIFIED contains the ASCII character Y yes or N no to indicate whether the user specified a null value for this item The default f...

Page 481: ... object type TM TOKEN NUMBER VALUE contains the token number of the token map taken from the VALUE clause of the TOKEN MAP statement that defines the token map Token numbers can be in the range 32 768 through 32 767 Any user supplied token numbers must be in the range 1 through 9 998 the other token numbers are reserved by HP or are previously defined by SPI Record MAP File is DICTMAP Key sequence...

Page 482: ...bject in the dictionary The primary key of the file is the OBJECT field from DICTODF plus a sequentially assigned element number An object can contain one or more elements For example the following definition is an object that contains four elements If an object or an element within an object is defined by a TYPE or TYPE def name clause elements of the referenced object are copied into each DICTOB...

Page 483: ...g LV 02 LOCAL NAME Type Character 30 Heading Element Name 02 COMMENT TEXT Pic 9 9 COMP Null 0 Display BZ I10 Heading Comment Text ID 02 VALUE TEXT Pic 9 9 COMP Null 0 Display BZ I10 Heading Value Text ID 02 AS TEXT Pic 9 9 COMP Null 0 Display BZ I10 Heading As Text ID 02 HEADING TEXT Pic 9 9 COMP Null 0 Display BZ I10 Heading Heading Text ID 02 DISPLAY TEXT Pic 9 9 COMP Null 0 Display BZ I10 Headi...

Page 484: ...SOURCE DEF Pic 9 9 COMP Display BZ I10 Null 0 Heading Source Def 02 ELEMENT REDEFINED Type Binary 16 Display BZ I3 Heading Element Redefined 02 OBJ CLASS Type Binary 16 Display ZA1 Grp PA1 Elm I3 Heading Grp Elm 02 STRUCTURE Type Binary 16 Display I2 Heading Data Type 02 ELEMENT SIZE Type Binary 16 Display I4 Heading Size 02 SCALE Type Binary 16 Display BZ I2 Heading Scale 02 OFFSET Type Binary 16...

Page 485: ...ENDING Type Binary 16 Display I4 Heading Ending Element 02 TALBOUND Type Binary 16 Heading Talbound 02 NULL VALUE Type Binary 16 Display I5 Heading Null Value 02 NULL VALUE OBJECT Pic 9 9 COMP Display BZ I10 Null 0 Heading Null Value Object 02 SPI NULL VALUE Type Binary 16 Display I5 Heading SPI Null Value 02 SPI NULL VALUE OBJECT Pic 9 9 COMP Display BZ I10 Null 0 Heading SPI Null Object 02 NULL ...

Page 486: ...ILLER Type Character 1 MUST BE Y N UPSHIFT Display A1 VALUE N Heading Padded Filler 02 GROUP COMP Type Character 1 MUST BE Y N UPSHIFT Display A1 VALUE N Heading Computational 02 SOURCE DEF FLAG Type Character 1 MUST BE Y N UPSHIFT Display A1 VALUE N Heading Sourced Item 02 NOVALUE Type Character 1 MUST BE Y N UPSHIFT Display A1 VALUE N Heading No Value 02 TACL INHERITED Type Character 1 MUST BE Y...

Page 487: ...lay A1 VALUE N Heading Index Usage 02 BIT LENGTH Type Binary 32 Display I10 Heading Bit Size 02 FIELD ALIGN Type Binary 16 Display I4 Heading Field Alignment 02 BIT OFFSET Type Binary 16 Display I4 Heading Bit Offset 02 ENUM DEF Pic 9 9 COMP Display BZ I10 Null 0 Heading Enum Def 02 PASCALBOUND Type Binary 16 Heading Pascalbound 02 INDEX NAME Type Character 30 Heading Indexed By 02 EXTERNAL SPECIF...

Page 488: ... has a level of 0 Subordinate groups and elementary items have higher level values but none greater than 49 Although the 02 JUSTIFY INHERITED Type Character 1 MUST BE Y N VALUE N UPSHIFT Display A1 Heading Just Right Inherited 02 SQLNULLABLE SPECIFIED Type Character 1 MUST BE Y N VALUE N UPSHIFT Display A1 Heading SqlNull Spec 02 INTERVAL LEADING PRECISION Type Binary 16 Display I4 Heading Leading...

Page 489: ...his field is S string If the element has no HEADING clause this field is set to 0 DISPLAY TEXT the text ID of the OTF record that contains the DISPLAY string for this element The text type for this field is S string If the element has no DISPLAY clause this field is set to 0 PICTURE TEXT the text ID of the OTF record that contains the PICTURE string for this element The text type for this field is...

Page 490: ... other record or definition and to find the name of the referenced definition SOURCE DEF is set to 0 for all elements not defined with a TYPE clause If the referenced definition itself contains more than one element these elements are copied into the current object s build list SOURCE DEF keeps only one level of reference as illustrated in the following example DEF date 02 year PIC 99 02 month PIC...

Page 491: ... the storage structure of this element if it is an elementary field OBJ CLASS 1 The STRUCTURE codes in Table D 3 are supported by DDL Code Meaning 0 Group field 1 Elementary field Table D 3 STRUCTURE Codes page 1 of 3 Code Meaning 0 Alphanumeric string 1 Numeric string unsigned 2 Binary 16 signed 3 Binary 16 unsigned 4 Binary 32 signed 5 Binary 32 unsigned 6 Binary 64 signed 8 Float 32 9 Complex 3...

Page 492: ...INUTE 44 SQL DATETIME DAY TO MINUTE 45 SQL DATETIME MONTH TO MINUTE 46 SQL DATETIME YEAR TO MINUTE 47 SQL DATETIME SECOND 48 SQL DATETIME MINUTE TO SECOND 49 SQL DATETIME HOUR TO SECOND 50 SQL DATETIME DAY TO SECOND 51 SQL DATETIME MONTH TO SECOND 52 SQL DATETIME YEAR TO SECOND 53 SQL DATETIME FRACTION 54 SQL DATETIME SECOND TO FRACTION 55 SQL DATETIME MINUTE TO FRACTION 56 SQL DATETIME HOUR TO FR...

Page 493: ...NTERVAL MINUTE 67 SQL INTERVAL HOUR TO MINUTE 68 SQL INTERVAL DAY TO MINUTE 69 SQL INTERVAL SECOND 70 SQL INTERVAL MINUTE TO SECOND 71 SQL INTERVAL HOUR TO SECOND 72 SQL INTERVAL DAY TO SECOND 73 SQL INTERVAL FRACTION 74 SQL INTERVAL SECOND TO FRACTION 75 SQL INTERVAL MINUTE TO FRACTION 76 SQL INTERVAL HOUR TO FRACTION 77 SQL INTERVAL DAY TO FRACTION Table D 4 SQL DATETIME Element Sizes page 1 of ...

Page 494: ...TETIME DAY TO SECOND 11 51 SQL DATETIME MONTH TO SECOND 14 52 SQL DATETIME YEAR TO SECOND 19 53 SQL DATETIME FRACTION 6 54 SQL DATETIME SECOND TO FRACTION 9 55 SQL DATETIME MINUTE TO FRACTION 12 56 SQL DATETIME HOUR TO FRACTION 15 57 SQL DATETIME DAY TO FRACTION 18 58 SQL DATETIME MONTH TO FRACTION 21 59 SQL DATETIME YEAR TO FRACTION 26 Table D 5 SQL INTERVAL Element Sizes page 1 of 2 Code Meaning...

Page 495: ...a constant contains the object number of the constant otherwise it is 0 OCCURS ELEMENT the element number of the field in an OCCURS DEPENDING ON field name clause This element must be defined as an integer If there is no DEPENDING ON clause the field is set to 0 STARTING the first element of the set of elements renamed by a level 66 RENAMES clause where this starting element has the same offset as...

Page 496: ...ld is N USER DEFINED FILLER contains the ASCII character Y yes to indicate this field is a user defined FILLER field or N no to indicate it is not The default for this field is N PADDED FILLER contains the ASCII character Y yes to indicate that an SQL VARCHAR element has an odd byte length and has an OCCURS clause associated with it contains N no to indicate that the element does not The default f...

Page 497: ...ry item is in For an item that is not a bit map the bit offset value is 0 For a bit map item the bit offset value is from 0 to 15 A group item that is a bit map or maps always starts on a word boundary The bit offset from the start of the structure for any item is the value of the BIT OFFSET field plus 8 times the value of the OFFSET field in the DICTOBL file ENUM DEF contains the object number of...

Page 498: ...ins the number of significant digits with which the fraction of a second is specified This field stores the value of end field precision of FRACTION one of the end date time qualifiers in an SQL DATETIME or SQL INTERVAL line item The valid range for this value is 1 through 6 If end field precision is not specified the default value for this field is 6 If no end date time qualifier is specified wit...

Page 499: ... 16 Unsigned Display I3 Heading Cur Ver 02 DATE CREATED Type Character 6 Heading Date Time Created 02 CREATOR USERID Heading Created By TACL USERNAME 03 GROUP NAME Type Character 8 UPSHIFT Heading Group 03 USER NAME Type Character 8 UPSHIFT Heading User 02 DATE MODIFIED Type Character 6 Heading Date Time Last Modified 02 MODIFIER USERID Heading Modified By TACL USERNAME 03 GROUP NAME Type Characte...

Page 500: ...n a name Records and definitions cannot have the same name VERSION an integer value that is incremented every time the object is updated in this dictionary Because DDL does not allow partial updating of an object VERSION reflects how many times the object has been compiled since the dictionary was created DATE CREATED a 6 byte timestamp taken from the system when the object is added to the diction...

Page 501: ...nt text associated with the object If no comment precedes the object or the COMMENTS compiler command is not set when the object is added to the dictionary this field is set to 0 Otherwise the field contains the partial key to the comment text stored in DICTOTF For a DEFINITION object the comment text associated with the object is identified by the COMMENT TEXT field in the DICTOBL file not in the...

Page 502: ...e of text associated with a text item Line numbers are assigned sequentially from 0 88 CONSTANT STRING Value is ST 88 CONSTANT VERSION Value is VR 88 CONSTANT BINARY 16 Value is 2S 88 CONSTANT BINARY UNSIGNED Value is 2U 88 CONSTANT BINARY 32 Value is 4S 88 CONSTANT BINARY 32 UNSIGNED Value is 4U 88 CONSTANT BINARY 64 Value is 8S 88 CONSTANT NATIONAL STRING Value is NS 02 CONSTANT TYPE Redefines C...

Page 503: ...d by referring to a constant contains the object number of the constant otherwise it is 0 TEXT LEN the number of bytes of text in TEXT LINE TEXT TYPE a code that identifies the type of text stored in TEXT LINE TEXT TYPE is one of the following values For more information about text types see Text Items on page D 2 TEXT LINE the text line identified by TEXT ID and LINE number Each line of text is a...

Page 504: ...dicating the type of the object being used in the DDL subsystem as follows Record OUF File is DICTOUF Key sequenced Code 208 Audit 02 IDENTIFIER 03 OBJECT USED Null 0 Heading Object Used 04 OBJ TYPE Type Character 2 MUST BE ID RD CD TT TC TM SR SV RQ TB UPSHIFT Heading Obj Type 04 NAME Type Character 30 Heading Object Name 03 CONSUMER Null 0 Heading Consumer Object 04 OBJ TYPE Type Character 2 MUS...

Page 505: ... indicate that the using object consumer must be deleted before the object used can be replaced or deleted For DDL objects this field is set to N The Pathmaker application generator does not currently use this file DICTRDF Fields DICTRDF Record Definition File contains one record for each record in the dictionary Each RDF record contains the object number definition number file name and file type ...

Page 506: ...Name 02 FILE TYPE Type Character 1 Heading File Type 02 FILE DURATION Type Character 1 VALUE P Heading File Dur 02 FILE CODE Type Binary 16 Unsigned VALUE 0 Display I5 Heading File Code 02 FILE CODE OBJECT Pic 9 9 COMP VALUE 0 Null 0 Display I5 Heading File Code Object 02 PRIMARY EXTENT SIZE Type Binary 16 VALUE 4 Display I5 Heading Primary Ext Size 02 PRIMARY EXTENT OBJECT Pic 9 9 COMP VALUE 0 Nu...

Page 507: ...lock Size 02 BUFFER SIZE Redefines BLOCK SIZE Type Binary 16 Display I4 Heading Buffer Size 02 BLOCK SIZE OBJECT Pic 9 9 COMP Display BZ I10 VALUE 0 Null 0 Display I5 Heading Blk Siz Object 02 BUFFER SIZE OBJECT Pic 9 9 COMP Display BZ I10 VALUE 0 Null 0 Display I5 Heading Buf Siz Object 02 ICOMPRESS Type Character 1 MUST BE Y N UPSHIFT Display A1 VALUE N Heading ICompress 02 DCOMPRESS Type Charac...

Page 508: ...ile name stored in FNAMECOLLAPSE form For a description of FNAMECOLLAPSE see the Guardian Procedure Calls Reference Manual This field is defined only if FILE DURATION is permanent 02 MAXEXTENTS OBJECT Pic 9 9 COMP VALUE 0 Null 0 Display I5 Heading Max Ext Object 02 BUFFERED Type Character 1 VALUE D Display A1 Heading Buffered 02 AUDIT COMPRESS Type Character 1 MUST BE Y N UPSHIFT Display A1 VALUE ...

Page 509: ... OBJECT if primary extent size is defined by a constant contains the object number of the constant otherwise it is 0 SECONDARY EXTENT SIZE this file s secondary extent in pages SECONDARY EXTENT SIZE must be an integer from 1 through 65 535 The default secondary extent size for DDL is 32 pages Like the primary extent size the secondary extent size must be an integral multiple of the file s block si...

Page 510: ... the object number of the constant otherwise it is 0 BUFFERED indicates the mode of handling write requests BUFFERED can be one of the following Y yes N no D follow the default If you select Y then write requests are buffered in the disk process cache rather than forced to disk at each request The default value is Y for audited files N for nonaudited files AUDIT COMPRESS contains the ASCII charact...

Page 511: ... each field follows OBJECT NUMBER contains the object number of this record from DICTODF OBJECT The record in DICTODF contains the token code name and its object type code TC Record TKN File is DICTTKN Key sequenced Code 209 Audit 02 OBJECT NUMBER Pic 9 9 COMP Null 0 Display BZ I10 Heading Token Code Object 02 TOKEN TYPE OBJECT Pic 9 9 COMP Null 0 Display BZ I10 Heading Token Type Object 02 TOKEN ...

Page 512: ...he OTF record that contains the subsystem ID value for the token code HEADING TEXT contains the text ID of the OTF record that contains the heading value for the token code DISPLAY TEXT contains the text ID of the OTF record that contains the display value for the token code DICTTYP Fields DICTTYP Token Type File is a key sequenced file containing one record for each SPI token type Each record con...

Page 513: ...occurs possible values are TOKEN OCCURS CONSTANT if the number of occurrences in an OCCURS clause is specified as a constant this field contains the object number of the constant otherwise it is 0 STRUCTURE if the structure of the token is defined by reference to a definition this field contains a code indicating the data type of the first element of the definition otherwise this field is set to 0...

Page 514: ...ollows IDENTIFIER contains a unique identifier for each record consisting of two fields MAP OBJECT contains the object number that uniquely identifies the token map OBJECT NUMBER from DICTMAP MAP ELEMENT contains an element number sequentially assigned by DDL VERSION contains the version number from the VERSION clause of the TOKEN MAP statement or 0 for NOVERSION Record VER File is DICTVER Key seq...

Page 515: ...how definitions and records are stored in the dictionary For simplicity only a subset of the actual dictionary fields is shown The focus is on primary and alternate key fields because these fields show how the files are related A schema consisting of two objects a definition and a record is used to construct a sample dictionary The sample schema is shown in Figure D 1 Dictionary Definition File DI...

Page 516: ...server requester screen entered into the dictionary The three most important fields of this file are OBJECT IDENTIFIER NAME and IDENTIFIER OBJECT TYPE For the sample dictionary shown in Figure D 2 on page D 49 DICTODF will contain the following values in these fields Object Build List DICTOBL a key sequenced file contains one record for each element of each DDL object record or definition in the d...

Page 517: ...finition File DICTRDF has one record for each record in the dictionary containing the record s object number definition number and file information 2 2 standard price 3 4 N 2 3 location 5 Y 2 4 san francisco 6 N Code Meaning N ASCII representation of a number K Keyword in a MUST BE or VALUE clause S ASCII character string E Enumeration value name J National string IDENTIFIER TE XT ID IDENTIFIER LI...

Page 518: ...rtname END DICTRDF now contains the following When a record is declared with a DEFINITION IS clause DICTOBL has no entry for the new record Instead the data structure is found in DICTOBL by looking up the referenced definition number in DICTRDF Key Definition File DICTKDF contains one record for each primary key and each alternate key or each SEQUENCE IS field declared for each record in the dicti...

Page 519: ...2 must be text 02 edit pic text 02 source def OUF 02 identifier 03 object used 03 consumer ODF 02 object 02 identifier 03 obj type 03 name 02 comment text OTF 02 identifier 03 text id 03 line number 02 constant id MAP 02 object number 02 map def 02 ssid text 02 heading text KDF 02 identifier 03 record number 03 element 02 obj key 03 object 03 element TYP 02 object number 02 token def RDF 02 object...

Page 520: ...Dictionary Database Structure Data Definition Language DDL Reference Manual 426798 002 D 50 Dictionary Structure Link Diagram ...

Page 521: ...e defined A list of all the comment display and heading text for any definition or record that has such text In addition to the standard reports you can produce customized reports tailored to answer specific questions by editing the Enform source code supplied by HP This appendix describes how you can obtain dictionary reports Using Enform Queries for Dictionary Reports The Enform source code for ...

Page 522: ...rce definition for each reference R6 DEFINITIONS WHERE USED R6 lists every definition that is referenced by a record or by another definition and lists the referring definition or record R7 RECORD ACCESS R7 lists the file name and any primary and alternate keys for each record in the dictionary R8 RECORD DEFINITION METHOD R8 shows the method used to define each record and gives the source definiti...

Page 523: ...rm program noninteractively using SYSTEM SYSTEM DDQUERYS as the source file 4 To select particular reports run the Enform program in interactive mode and specify only the SYSTEM SYSTEM DDQUERYS sections that generate the reports you want These steps are described in detail in the following pages Compiling the DDL Dictionary Schema Each DDQUERYS query begins with this statement DICTIONARY SYSTEM DD...

Page 524: ...an request reports about any dictionary on any subvolume in your system For example to produce all 16 dictionary reports on DATA SALES enter the following commands These two commands list all 16 dictionary reports that describe the DATA SALES dictionary on the printer identified as S PRINTER Figure E 1 Creating a Dictionary for DDSCHEMA 21 DDL IN system system ddschema DICT system ddl DDSCHEMA DDQ...

Page 525: ...o reports on S PRINTER The first R2 lists the structure of every definition in the DATA SALES dictionary the second R6 shows every definition in the DATA SALES dictionary that is referenced by records and other definitions and lists the referring structures Figure E 2 on page E 6 illustrates the process of running DDQUERYS to produce reports 16 VOLUME data sales 17 ENFORM 18 OUT S printer 19 SOURC...

Page 526: ...roduce the reports The queries in DDQUERYS use the dictionary files on DATA SALES because the dictionary file names stored in the dictionary on SYSTEM DDL do not specify a volume or a subvolume When the Enform program reads SYSTEM DDL it uses the current default volume and subvolume to qualify the dictionary file names Figure E 2 Running DDQUERYS to Produce Reports 21 DDL IN system system ddschema...

Page 527: ...fault volume and subvolume For example The same default volume and subvolume insertion takes place for every OPEN statement in DDQUERYS So to query any dictionary on any subvolume you can use the same dictionary describing the fourteen DDL dictionary files SYSTEM DDL and the same Enform dictionary report source SYSTEM SYSTEM DDQUERYS OPEN DICTOBL OPEN data sales DICTOBL Statement in DDQUERYS State...

Page 528: ...Dictionary Reports Data Definition Language DDL Reference Manual 426798 002 E 8 Requesting Reports ...

Page 529: ... option compiler command compiler command CONSTANT Statement CONSTANT constant name constant number string VALUE IS national literal LN clause existing constant VERSION version TYPE type type is BINARY 16 UNSIGNED BINARY 32 UNSIGNED BINARY 64 DEFINITION Statement Syntax summaries of the three types of DEFINITION statement follow Field Definition Group Definition Reference Definition Field Definiti...

Page 530: ...SAGE clause VALUE clause 88 condition name clause 89 enumeration clause END Group Definition DEF INITION def name DISPLAY clause EXTERNAL clause HEADING clause HELP clause NULL clause NOT SQLNULLABLE clause USAGE clause VALUE clause line item specification 66 RENAMES clause END line item specification is field name level number group name FILLER PICTURE clause TYPE clause AS clause DISPLAY clause ...

Page 531: ...condition name clause 89 enumeration clause Reference Definition DEF INITION def name 1 TYPE def name 2 AS clause BEGIN DISPLAY clause EDIT PIC clause EXTERNAL clause HEADING clause HELP clause MUST BE clause NULL clause SPI NULL clause TACL clause UPSHIFT clause USAGE clause VALUE clause 88 condition name clause END DELETE Statement DEF INITION def name RECORD record name DELETE TOKEN CODE token ...

Page 532: ...TANT constant name DEF INITION def name RECORD record name OUTPUT TOKEN CODE token name TOKEN MAP map name TOKEN TYPE type name OUTPUT UPDATE Statement CONSTANT constant name OUTPUT UPDATE DEF INITION def name TOKEN TYPE type name RECORD Statement RECORD record name file creation record structure key assignment END ...

Page 533: ...TRY SEQUENCED UNSTRUCTURED AUDIT AUDITCOMPRESS BLOCK block length constant name NO BUFFERED BUFFERSIZE buffer size constant name CODE file code constant name COMPRESS DCOMPRESS ICOMPRESS extent size constant name EXT pri extent size sec extent size constant name constant name MAXEXTENTS maximum extents constant name NO ODDUNSTR REFRESH SERIALWRITES VERIFIEDWRITES Reference Record Structure Syntax ...

Page 534: ... EDIT PIC clause HEADING clause HELP clause KEYTAG key specifier constant name DUPLICATES NOT ALLOWED MUST BE clause NULL clause OCCURS clause OCCURSE DEPENDING ON clause REDEFINES clause NOT SQLNULLABLE clause TACL clause UPSHIFT clause USAGE clause VALUE clause 88 condition name clause 89 enumeration clause Key Assignment Syntax KEY key specifier IS group name constant name field name FILE IS fi...

Page 535: ... token name VALUE IS token number constant name TOKEN TYPE IS type name SSID subsystem id constant name HEADING label constant name DISPLAY display format constant name TOKEN MAP Statement TOKEN MAP map name VALUE IS token number constant name DEF IS def name SSID subsystem id constant name HEADING label constant name number field name VERSION string FOR group name constant name NOVERSION THROUGH ...

Page 536: ...name OCCURS number TIMES constant name OCCURS VARYING DEF IS def name OCCURS 0 TIMES DEFINITION and RECORD Statement Clauses AS Clause AS display string LN clause constant name DISPLAY Clause DISPLAY display format constant name EDIT PIC Clause EDIT PIC edit picture string constant EXTERNAL Clause EXTERNAL FILLER Clause FILLER HEADING Clause HEADING report heading LN clause constant name ...

Page 537: ...AG Clause KEYTAG key specifier DUPLICATES NOT ALLOWED constant name LN Clause LN locale name value LN clause MUST BE Clause value MUST BE value 1 THROUGH value 2 THRU value is character string number national literal figurative constant symbolic literal constant name value name NULL Clause character NULL number constant name OCCURS Clause OCCURS max TIMES INDEXED BY index name constant name ...

Page 538: ...name PICTURE Clause PIC TURE picture string national picture string picture string is X length A length 9 length N length S 9 length V 9 length T 9 length V 9 length 9 length V 9 length S 9 length V 9 length T national picture string is N length n REDEFINES Clause REDEFINES field name group name SPI NULL Clause character SPI NULL number constant name SQLNULLABLE Clause SQNULLABLE NOT SQNULLABLE ...

Page 539: ...a type TYPE def name data type is CHARACTER length BINARY 8 UNSIGNED BINARY 16 scale UNSIGNED BINARY 32 scale UNSIGNED BINARY 64 scale FLOAT 32 FLOAT 64 COMPLEX LOGICAL 1 LOGICAL 2 LOGICAL 4 ENUM SQL VARCHAR length SQL DATETIME start date time TO end date time SQL DATE SQL TIME SQL TIMESTAMP SQL INTERVAL start date time start field precision TO end date time BIT bit length UNSIGNED ENUM enum name ...

Page 540: ...NAL INDEX COMP UTATIONAL 3 PACKED DECIMAL VALUE Clause VALUE IS value LN clause NOVALUE value is character string LN clause constant name LN clause figurative constant national literal LN clause number LN clause sql literal symbolic literal value name 66 RENAMES Clause 66 renames name RENAMES field name group name THROUGH field name THRU group name ...

Page 541: ...e 88 condition name VALUE IS VALUES ARE value LN clause value value THROUGH value value THROUGH value THRU THRU value is character string constant name figurative constant national literal number symbolic literal value name 89 Enumeration Clause 89 value name VALUE value constant name AS display string LN clause constant name ...

Page 542: ...s Compiler Commands C c source file NOC NO C00CALIGN NO CCHECK NO CDEFINEUPPER CENDIF CFIELDALIGN_MATCHED2 CIFDEF identifier_name CIFNDEF identifier_name NO CLISTIN NO CLISTOUT CLISTOUTDETAIL NO COBCHECK COBLEVEL base increment COBOL cobol source file NOCOBOL COLUMNS num NO COMMENTS NO CPRAGMA ...

Page 543: ...ASDEFINE CUNDEF identifier_name NO C_DECIMAL NO C_MATCH_HISTORIC_TAL DDL ddl source file NODDL NO DEFLIST DICT dict subvol name NODICT DICTN dict subvol name DICTR dict subvol name DO_PTAL_OFF DO_PTAL_ON EDIT edit file name edit parameter ERRORS max errors NO EXPANDC FIELDALIGN_SHARED8 FILLER 1 0 NO FORCHECK ...

Page 544: ...ortran source file NOFORTRAN NO FORTRANUNDERSCORE FUP fup source file NOFUP HELP command LINECOUNT number NO LIST NO CLCONSTANT NEWFUP_FILEFORMAT NOFILEFORMAT OLDFUP_FILEFORMAT OUT listing destination NO OUTPUT_SENSITIVE PAGE listing title PASCAL pascal source file NOPASCAL PASCALBOUND 0 1 NO PASCALCHECK ...

Page 545: ...8 002 F 17 Compiler Commands NO PASCALNAMEDVARIANT REPORT report destination NOREPORT RESET NO SAVE SECTION section name SETLOCALENAME locale name SETSECTION section name SOURCE source name section name section name SPACING number of lines TACL tacl source file NOTACL ...

Page 546: ...age DDL Reference Manual 426798 002 F 18 Compiler Commands TACLGEN TAL tal source file NOTAL NO TALALLOCATE TALBOUND 0 1 NO TALCHECK NO TALUNDERSCORE TEDIT edit file name edit parameter NO TIMESTAMP NO VALUES NO WARN WARNINGS max warnings ...

Page 547: ...at are not defined by using DDL Only the Pathmaker software can add these objects to or delete them from a Pathmaker dictionary or catalog In addition a Pathmaker dictionary contains application design information provided by the Pathmaker product not by DDL Table G 1 lists the DDL statements clauses and commands whose operations differ when used with a Pathmaker dictionary Table G 1 DDL Features ...

Page 548: ... on page 9 42 DICT Command Pathmaker objects are not deleted from the dictionary with this command only the Pathmaker product can modify or delete Pathmaker objects DICT Command on page 9 47 PURGE Command Pathmaker dictionary files cannot be purged with the command interpreter PURGE command only the Pathmaker product can purge Pathmaker dictionary files Purging a Dictionary on page 10 18 Table G 1...

Page 549: ...C00CALIGN as the default The following subsections describe the three types of alignment rules C00CALIGN Alignment Rules C00 and later versions of the C compiler adhere to the following rules All structures and nested substructures begin and end on an even byte boundary When a CHAR or CHAR ARRAY item directly follows another CHAR or CHAR ARRAY item no filler exists between them This rule does not ...

Page 550: ...ar array data or substructures containing only char or char array data applied recursively DDL aligns the substructure on byte boundaries and does not include implicit filler When NOC00CALIGN is in effect the DDL compiler does not generate C output for a structure if the structure contains a substructure that contains a word aligned item and one of the following is true The substructure starts on ...

Page 551: ...e first member of the substructure FIELDALIGN_SHARED8 Alignment Rules When you specify the FIELDALIGN_SHARED8 compiler command DDL uses the following alignment rules The offset of each field other than bit fields in the structure from the base of the structure must begin at an address that is an integral multiple of the width of the field The offset of a substructure field must be an integral mult...

Page 552: ...DDL Alignment Rules Data Definition Language DDL Reference Manual 426798 002 H 4 FIELDALIGN_SHARED8 Alignment Rules ...

Page 553: ...inition DEF A DDL dictionary object that describes a data structure including the name data type size and other attributes of a field elementary item or of a named group of fields dictionary A set of 14 files that contain information about DDL objects all 14 files are on the same subvolume and a subvolume can contain only one DDL dictionary The name of the dictionary is the subvolume name Enscribe...

Page 554: ...ation so that FUP can create a file from the record structure If the file is to be key sequenced a record also contains the key attributes simple token A token that has a single field or a fixed data structure source code Input to a language compiler or other HP product SPI Subsystem Programmatic Interface Part of the Distributed Systems Management DSM environment token The smallest accessible uni...

Page 555: ...use 6 24 Pascal lower bound 9 87 TAL lower bound 9 107 AS clause DEFINITION statement 5 6 RECORD statement 5 19 syntax 6 3 Assigned file 5 14 ASSIGNED file attribute 5 14 Asterisk OUTPUT statement 8 6 TYPE clause 6 50 Attributes definition 6 1 file creation 5 14 AUDIT file attribute 5 15 Audit trail compression 5 15 AUDITCOMPRESS file attribute 5 15 Audited dictionary moving to another subvolume 1...

Page 556: ...LOGICAL data type 6 52 VALUE clause 6 79 C00CALIGN command H 1 CCHECK command 9 11 CDEFINEUPPER command 9 13 CENDIF command 9 17 CFIELDALIGN_MATCHED2 command 9 13 Character data definition PICTURE clause 6 26 TYPE clause 6 47 Characters special 2 8 CIFDEF command 9 17 CIFNDEF command 9 17 Clauses DEFINITION statement 5 5 6 1 order of specification 5 2 RECORD statement 5 18 6 1 summary of 6 1 synta...

Page 557: ...t 7 13 TOKEN TYPE statement 7 2 TYPE clause BINARY data type 6 51 ENUM data type 6 52 CODE file attribute 5 16 COLUMNS command 9 27 Commands definition 2 13 rules for entering 2 13 See also Compiler commands 9 1 summary of 9 1 syntax summary of F 14 uses for 9 1 Comments dictionary controlling with CLISTOUT 9 20 generated by DDL 2 10 indicated by asterisk 2 9 user defined 2 9 disabling with NOCOMM...

Page 558: ...UPPER 9 13 NOCLISTIN 9 19 NOCLISTOUT 9 20 NOCOBCHECK 9 22 NOCOBOL 9 25 NOCOMMENTS 9 28 NOCPRAGMA 9 30 NOCTOKEN_ASDFEFINE 9 31 NOC_DECIMAL 9 35 NOC_MATCH_HISTORIC_TAL 9 38 NODDL 9 42 NODEFLIST 9 44 NODICT 9 47 NOEXPANDC 9 56 NOFILEFORMAT 9 76 NOFORCHECK 9 62 NOFORTRAN 9 63 NOFORTRANUNDERSCORE 9 66 NOFUP 9 66 NOLIST 9 70 NONCLCONSTANT 9 71 NOOUTPUT_SENSITIVE 9 81 NOPASCAL 9 84 NOPASCALCHECK 9 88 NOP...

Page 559: ...QLNULLABLE clause 6 40 DEFINITION statement 5 8 RECORD statement 5 18 5 20 syntax 6 86 Constant C source code 4 5 COBOL85 source code 4 5 definition 4 1 deleting 8 2 existing guidelines 4 4 specifying in CONSTANT statement 4 2 figurative 88 condition name clause 6 87 MUST BE clause 6 17 VALUE clause 6 79 generating source code from 8 5 8 6 internal representation of 4 7 modifying with OUTPUT UPDAT...

Page 560: ...s 2 11 main functions of 1 2 noninteractive mode 3 2 running 3 1 run time defaults 3 2 warnings controlling 9 115 DDL compiler commands See Compiler commands DDL dictionary database DICTCDF fields D 5 DICTDDF fields D 6 DICTMAP fields D 11 DICTOBL fields D 12 DICTODF fields D 28 DICTOTF fields D 31 DICTOUF fields D 33 DICTRDF fields D 35 elements D 2 field descriptions D 4 list of files D 3 object...

Page 561: ...source code from 8 5 8 6 length 5 10 modifying with OUTPUT UPDATE 8 8 name 5 5 5 17 object 6 1 showing usage of 8 11 DEFINITION statement 5 1 5 11 66 RENAMES clause 5 9 88 condition name clause 5 8 89 enumeration clause 5 8 AS clause 5 6 BEGIN 5 6 DISPLAY clause 5 6 EDIT PIC clause 5 6 END 5 9 error handling by 5 11 examples of 5 10 EXTERNAL clause 5 6 field definition guidelines 5 9 syntax 5 3 FI...

Page 562: ...CTN command 9 49 purging methods for 10 18 with DICT command 9 47 with DICTN command 9 49 reading with DICTR command 9 51 rebuilding 10 20 reports ENFORM queries for E 1 generating with ENFORM 1 12 E 3 summary of E 1 restrictions on 1 4 saving with SAVE command 9 93 security changing 10 14 showing usage of 8 11 uses of 1 1 Dictionary Files D 3 DICTKDF file D 7 DICTMAP file D 11 DICTN command 9 49 ...

Page 563: ...ement 5 27 ERRORS command 9 54 Existing constant guidelines 4 4 specifying in CONSTANT statement 4 2 EXIT statement 8 4 EXPANDC command 9 56 EXT file attribute 5 16 Extensible structured token 7 1 Extents maximum number of 5 17 size defaults for 5 23 size of 5 16 EXTERNAL clause DEFINITION statement 5 6 syntax 6 7 F Field definition DEFINITION statement 5 1 examples of 5 10 guidelines for entering...

Page 564: ...atement 8 6 purging with FORTRAN command 9 63 REDEFINES clause 6 32 RENAMES clause 6 85 sectioning with SETSECTION command 9 96 subscript bounds 6 22 suppressing with NOFORTRAN command 9 63 syntax checking with FORCHECK command 9 62 VALUE clause 6 79 FORTRANUNDERSCORE command 9 66 FUP command 9 66 FUP source code command file creation 1 6 DELETE statement 8 2 file creation defaults 5 22 generating...

Page 565: ...g with SETSECTION command 9 96 I Initial value and MUST BE clause 6 18 and OCCURS clause 6 82 and REDEFINES clause 6 82 enabling with VALUES command 9 113 suppressing with NOVALUES command 9 113 VALUE clause 6 79 Interactive mode DDL compilation 3 3 terminating session 8 4 Interprocess communication messages 1 3 INTERVAL data type 6 49 Is present field in token map 7 16 J JUSTIFIED clause 5 7 5 19...

Page 566: ...ting to 5 17 MUST BE clause and initial value 6 18 and REDEFINES clause 6 18 6 32 and SQL data types 6 83 and UPSHIFT clause 6 18 6 73 DEFINITION statement 5 7 RECORD statement 5 20 syntax 6 16 N Names DDL 2 1 file 2 2 2 3 National literal 88 condition name clause 6 87 CONSTANT statement 4 2 VALUE clause 6 80 National picture string 6 27 Native compilers 1 9 NCLCONSTANT command 9 71 Nested OCCURS ...

Page 567: ...ES command 9 113 NOVERSION option TOKEN MAP statement 7 15 NOWARN command 9 115 NULL clause and NOT SQLNULLABLE clause 6 39 and SPI NULL clause 6 35 DEFINITION statement 5 7 FUP source code 6 20 RECORD statement 5 20 syntax 6 20 Null value effects of using 6 20 ENSCRIBE alternate key 6 20 SPI 6 35 Numbers 2 5 Numeric constant C source code 4 5 COBOL85 source code 4 5 guidelines for 4 3 Pascal sour...

Page 568: ... statement 8 6 purging with PASCAL command 9 84 REDEFINES clause 6 33 RENAMES clause 6 85 sectioning with SETSECTION command 9 96 subscript bounds 6 22 suppressing with NOPASCAL command 9 84 syntax checking with NOPASCALCHECK command 9 88 syntax checking with PASCALCHECK command 9 88 TOKEN CODE statement 7 8 TOKEN MAP statement 7 13 TOKEN TYPE statement 7 2 TYPE clause BINARY data type 6 51 ENUM d...

Page 569: ... attribute 5 15 BLOCK file attribute 5 15 BUFFERED file attribute 5 15 BUFFERSIZE file attribute 5 15 CODE file attribute 5 16 COMPRESS file attribute 5 16 condition name clause 5 18 creation attributes 5 14 DCOMPRESS file attribute 5 16 DISPLAY clause 5 19 EDIT PIC clause 5 19 ENTRY SEQUENCED file attribute 5 15 error handling by 5 27 examples 5 25 EXT file attribute 5 16 field definition 5 18 fi...

Page 570: ...ntering 5 9 Referenced definition listing with DEFLIST command 9 44 suppressing with NODEFLIST command 9 44 Referenced objects modifying 8 8 10 9 showing usage of 8 12 REFRESH file attribute 5 17 RELATIVE file attribute 5 15 RENAMES clause DEFINITION statement 5 9 RECORD statement 5 21 syntax 6 85 Repeated fields 6 21 REPORT command 9 90 Reports dictionary 1 12 heading 6 9 schema 1 12 source code ...

Page 571: ...anguages 1 3 from entire schema 1 8 from selected definitions 1 8 OUTPUT statement 8 5 SOURCE command 9 98 SPACE S MUST BE clause 6 17 VALUE clause 6 80 SPACING command 9 99 Special characters 2 8 SPI constants 4 9 messages defining 1 3 null value 6 35 null value token map 7 16 sample schema B 7 standard definitions in token map definitions 7 19 token code 7 11 token type 7 5 standard names token ...

Page 572: ...rogrammatic Interface See SPI Symbolic literal 88 condition name clause 6 87 MUST BE clause 6 17 VALUE clause 6 81 Syntax summary F 1 T TACL clause DEFINITION statement 5 7 RECORD statement 5 20 syntax 6 44 TACL command 9 100 TACL data structure token map 7 19 token type 7 4 TACL source code 88 condition name clause 6 86 89 enumeration clause 6 91 bit maps 6 57 COMPUTATIONAL usage 6 76 constant 4 ...

Page 573: ...ng with TALCHECK command 9 108 TOKEN CODE statement 7 8 TOKEN MAP statement 7 13 TOKEN TYPE statement 7 2 TYPE clause BINARY data type 6 51 ENUM data type 6 52 VALUE clause 6 79 TALALLOCATE command 9 106 TALBOUND command 9 107 TALCHECK command 9 108 TALUNDERSCORE command 9 110 TEDIT command 9 110 TEMPORARY attribute 5 14 Temporary file creation 5 14 Terminating DDL session 8 4 Text items DDL dicti...

Page 574: ...E clause 6 27 TYPE clause 6 48 Unstructured file buffer size 5 15 creating 5 15 rounding 5 17 UNSTRUCTURED file attribute 5 15 Uppercase characters forcing 6 73 UPSHIFT clause and MUST BE clause 6 18 and REDEFINES clause 6 32 and VALUE clause 6 82 DEFINITION statement 5 8 RECORD statement 5 20 syntax 6 73 USAGE clause DEFINITION statement 5 8 RECORD statement 5 20 syntax 6 74 V VALUE clause 6 79 6...

Page 575: ... code 4 6 TAL source code 4 7 VERSION option TOKEN MAP statement 7 15 W WARN command 9 115 WARNINGS command 9 115 Z ZERO S MUST BE clause 6 17 VALUE clause 6 80 ZSPIDEF ZSPIDDL sample definitions B 9 SPI standard token codes 7 11 SPI standard token types 7 5 Special Characters asterisk OUTPUT statement 8 6 TYPE clause 6 50 ...

Page 576: ...Index Data Definition Language DDL Reference Manual 426798 002 Index 22 Special Characters ...

Reviews: