Identifies the database record description to be added, modified, or deleted. Record-name must be a 1- to 16-character name. The first character must be A through Z (alphabetic), #, $, or @ (international symbols). The remaining characters can be alphabetic or international symbols, 0 through 9, or the hyphen (except as the last character or following another hyphen). Record-name must not be the same as the schema name or the name of any other component (including synonyms) within the schema.
Connects an existing record structure to the schema record. That is, the schema record shares the dictionary description of an existing record, including its synonyms, elements, and element synonyms. Note that, unlike the COPY ELEMENTS substatement the SHARE clause does not create a new record structure.
Note: For more information about contrasting SHARE and COPY ELEMENTS, see "Usage" in this section.
The following considerations apply to the sharing of record structures:
Allows the schema record to share the structure of either a dictionary record (IDD record) or a record that belongs to another schema. The DBA must supply the appropriate RECORD ID, LOCATION MODE, VSAM TYPE, WITHIN AREA, MINIMUM ROOT, MINIMUM FRAGMENT, and CALL clauses, as shown in the following example:
add record name is skill
share structure of record skill
of schema othrschm
location mode is calc using skill-code
duplicates are not allowed
within area org-demo-region
minimum root length is control length
minimum fragment length is record length
call idmscomp before store
call idmscomp before modify
call idmsdcom after get.
Identifies an existing record. While it can be either a primary name or a synonym, shared-record-name must be the same as record-name (the object of the ADD or MODIFY).
Names the schema associated with shared-record-name. Shared-schema-name must be the name of a schema, already defined in the dictionary, in which shared-record-name participates. The schema must have a status of VALID (see the VALIDATE statement in this chapter).
Uniquely qualifies shared-schema-name with a version number. The default for existing versions is the current session option.
Note: Expanded syntax for version-specification is presented in Chapter 13, “Parameter Expansions”.
Allows the schema record to share the structure of a record that belongs to another schema. Unlike SHARE STRUCTURE, SHARE DESCRIPTION copies the remainder of shared-record-name's description (record ID, location mode, and so forth) to the schema record named as the object of the ADD or MODIFY (record-name). In the following example, the SKILL record in the current schema shares the structure of the SKILL record in EMPSCHM (version 1); each record has its own copy of nonstructural information:
add record name is skill
share description of record skill
of schema empschm version 1.
SHARE DESCRIPTION is not valid if record-name already has nonstructural specifications.
Identifies an existing record. While it can be either a primary name or a synonym, shared-record-name must be the same as record-name (named as the object of the ADD or MODIFY). Shared-record-name must be qualified with the name of the schema to which it belongs.
Uniquely qualifies dictionary records specified for shared-record-name. The default is the session option.
Note: Expanded syntax for version-specification is presented in Chapter 13, “Parameter Expansions”.
Names the schema associated with shared-record-name. This clause is required.
Shared-schema-name must be the name of a schema, already defined in the dictionary, in which shared-record-name participates. The schema must have a status of VALID (see 14.8, “VALIDATE Statement”)
Uniquely qualifies shared-schema-name with a version number. The default for existing versions is the current session option.
Note: Expanded syntax for version-specification is presented in Chapter 13, “Parameter Expansions”.
Assigns a number that uniquely identifies each schema record type. Record IDs are used internally only by CA IDMS/DB software: user-written code never refers to record IDs.
Important! Do not change record IDs for existing databases. Use the RECORD ID clause only when adding new records or when changing records in a schema for which a database is not yet defined.
Specifies an absolute record ID; it must be an unsigned integer in the range 10 through 9999. Record IDs can be duplicated across areas in the schema, however, record IDs must be unique for all records within one area
For ADD operations only, indicates that the compiler automatically assigns the record ID. If the record is the first in the schema to be assigned a record ID, AUTO assigns the value specified in the ASSIGN RECORD IDS clause in the SCHEMA statement; otherwise, AUTO assigns a value 1 greater than the highest record ID in the schema, until 9999 is reached. When 9999 is reached, the AUTO attribute assigns the highest unused record ID.
The compiler assigns the ID when the ADD RECORD statement is processed; subsequent displays of the record show the actual ID, rather than the word AUTO.
Identifies a record synonym to be associated with the primary record name. A synonym is an alternate name for a record. You can associate more than one record synonym with a record.
Names the record synonym. Record-synonym-name must follow the rules for the host language with which the synonym is being used and must follow the rules specified above for record names. Record synonyms that will be copied into a subschema or used with OLQ must not exceed 16 characters.
Specifies the host language with which the record synonym will be used. Valid values are any of the languages defined in the dictionary, including those defined when CA IDMS/DB is installed: COBOL, PL/I, ASSEMBLER, OLQ, SQL, and CULPRIT. A single synonym may be associated with any number of languages. A record may have only one record synonym associated with language SQL.
You can specify the language variable before or after the record-synonym-name variable.
Disassociates the named record synonym from the record, provided it is not associated with any other schemas, subschemas, maps, or logical records. If you specify the optional FOR LANGUAGE clause, CA IDMS/DB disassociates the record synonym from the named language.
Defines the technique that CA IDMS/DB will use to physically store occurrences of the record type. Each record type must be assigned only one location mode. Note, however, that a record type's location mode does not restrict retrieval of record occurrences to a single technique.
Specifies that occurrences of the record are to be stored on or near a page that CA IDMS/DB calculates from values in the record element(s) defined by calc-elecalc-element-name (the record's CALC key).
Names any elementary or group data element defined as a record element (see 14.5, “Element Substatement"), with the following restrictions:
Multiple calc-element-name values can be coded, forming a compound CALC control element and thereby allowing record placement to be keyed on more than one element within the record. The element names that form the CALC control element need not be contiguous within the member record. The combined lengths of the elements (as defined in the PICTURE and USAGE clauses of the ELEMENT substatement) must not exceed 256 bytes.
If the calc key is to be referenced as a primary key in a set definition, calc-element-name must not identify a group element.
Specifies whether occurrences of a record type with duplicate CALC key values are allowed and, if allowed, how they are logically positioned relative to the duplicate record already stored.
Logically positions record occurrences with a duplicate CALC key before the duplicate record already stored.
Logically positions record occurrences with a duplicate CALC key after the duplicate record already stored.
Logically positions record(s) occurrences with a duplicate CALC key according to the db-key.
Indicates that record occurrences with duplicate CALC keys are not allowed.
Specifies that occurrences of the record are to be stored on or near a page specified at runtime by the user program.
Specifies that occurrences of the record are to be stored relative to their owner in a specific set:
Set-name specifies the name of a set in which the record type participates as a member. In most cases, records are defined before sets, so set-name need not identify an existing set. However, until the set is defined, the VALIDATE statement will detect errors in the schema.
Specifies how far away member records are stored from the owner record.
Names a symbol used to represent the displacement. The symbol is assigned a value in a corresponding physical area definition.
Specifies how far away member records cluster from the owner record when the member and owner record occurrences are assigned to the same page range. The member records cluster starting at the page on which the owner record resides plus page-count pages (wrapping around to the beginning of the page range if necessary).
Page-count must be an unsigned integer in the range 0 through 32,767. If page-count exceeds the number of pages in the record page range, the displacement wraps around to the beginning of the page range.
Specifies that the record is a native VSAM record for which CALC access is required.
Specifies the CALC key used to access occurrences of the record type from a native VSAM file.
Names the element representing the key of a native VSAM file. For KSDS files, calc-element-name identifies the primary key; for PATH files, it identifies an alternate index on a KSDS or ESDS file. It also must be defined through an ELEMENT substatement, with the same restrictions as those for the CALC element in the CALC USING clause above.
Specifies whether native VSAM record occurrences are allowed to have duplicate CALC keys and if allowed. The DUPLICATES option must correspond to the duplicates option specified when the file was defined to VSAM.
Indicates that CA IDMS/DB stores record occurrences with duplicate CALC keys and always retrieves the duplicate record occurrences in the order in which they were stored (whether retrieving forward or backward through the area).
Indicates that CA IDMS/DB does not store record occurrences with duplicate CALC keys.
Identifies the area in which occurrences of the record type will be located. Area-name must name an area associated with the current schema.
Names a symbol used to represent a page range (a subarea). Within the physical area definition, the symbolic subarea is assigned the actual range of pages. in which CA IDMS/DB will store occurrences of the record type.
Specifies a relative range of pages, in terms of either a percentage of the physical area or a number of pages in which CA IDMS/DB will store occurrences of the record type. By default, CA IDMS/DB uses the entire physical area.
Determines the lowest page that CA IDMS/DB should use as the first page to store occurrences of the record type. CA IDMS/DB calculates the actual page, using the formula shown next, when you generate the DMCL that contains the physical area:
record's lopage = (LPN + offset-page-count)
where LPN = the lowest page number in the physical area
Offset-page-count must be an integer in the range 0 through the number of pages in physical-area-name minus 1.
Determines the first page in which CA IDMS/DB will store occurrences of the record type based on the initial page range of the physical area:
record's lopage = (LPN + (INP * offset-percent * .01))
where LPN = the lowest page number in the physical area
and INP = the initial number of pages in the physical area
Offset-percent must be an integer in the range 0 through 100.
Determines the last page in which CA IDMS/DB will store occurrences of the record type based on record's low page.
record's hipage = (RLP + page-count - 1)
where RLP = the first page in which occurrences of the
record will be stored
The calculated page must not exceed the highest page number in the physical area.
Determines the last page in which CA IDMS/DB will store occurrences of the record type based on the record's low page and the total number of pages in the physical area:
record's hipage = (RLP + (TNP * percent * .01) - 1)
where RLP = the first page in which occurrences of the record
will be stored
and TNP = the total number of pages in the physical area
Percent must be an integer in the range 1 through 100. The default is 100. If percent causes the calculated high page to be greater than the highest page number in the physical area, CA IDMS/DB will ignore the excessive page numbers and will store the record occurrences up to and including the last page in the physical area. The following example is valid and causes EMPLOYEE records to be stored over the last 3/4ths of the area:
add record name is employee
within area emp-demo-region
offset 25 percent for 100 percent.
Identifies the record as a native VSAM data record and removes or supplies information about how the file containing the record was defined to VSAM. Unless NULL is specified, the options must match those of the VSAM file being described.
For a schema definition to be valid, VSAM TYPE must be supplied for all native VSAM records; this clause is valid only for those records.
Specifies a fixed length record.
Specifies a variable length record.
Specifies that occurrences of the record can span VSAM control intervals.
Specifies that occurrences of the record cannot span VSAM control intervals.
Removes information previously specified in a VSAM TYPE clause.
Specifies (or removes the specification for) the minimum portion of a variable-length record that can be stored on a database page. During DML STORE operations, if CA IDMS/DB cannot find a page with enough space to accommodate the minimum root, it will not store the record.
Specifies that the initial portion of the record must be the specified number of bytes (characters). Root-length must include all CALC, index, and sort control elements. It must be an unsigned integer; if it is not a multiple of 4, the compiler will make it so by rounding up.
Specifies that the initial portion of the record must include all bytes up to and including the last CALC, index, or sort control element. If the record contains an element defined with an OCCURS DEPENDING ON clause, or if a PROCEDURE NAME or DCTABLE clause is used to indicate compression, CONTROL LENGTH is the default.
Specifies that the initial portion of the record must be the entire record (that is, the record is not to be fragmented).
Removes information previously specified in a MINIMUM ROOT LENGTH clause.
Either specifies the minimum length of subsequent segments (fragments) of a variable-length record or removes such specification (NULL). During DML STORE and MODIFY operations, if CA IDMS/DB cannot find a page with enough space to accommodate the specified portion of the record, it will not store or modify the record.
Specifies that subsequent portions of the record must include at least fragment-length bytes (an exception is the last fragment, which can be smaller). Fragment-length must be an unsigned integer; if it is not a multiple of 4, the compiler will make it so by rounding up. If the record contains an element defined with an OCCURS DEPENDING ON clause, the default is 4.
If the record does not contain an OCCURS DEPENDING ON clause but does contain either a PROCEDURE NAME or a DCTABLE clause (indicating that it is compressed), the default is 40, or (record-length - control-length), whichever is smaller.
Specifies that subsequent portions of the record must include the remainder of the record. No more than one fragment will ever be created.
Removes information previously specified in a MINIMUM FRAGMENT LENGTH clause.
For sites that have installed CA IDMS Presspack, specifies the name of a Data Characteristic Table (DCT). A DCT establishes the best way to compress or decompress records, based upon statistics created by the IDMSPASS utility. This parameter is repeatable so you can specify one DCT for compression and another for decompression.
Specifies the name of a DCT supplied with CA IDMS Presspack that contains generic information that can be used to compress or decompress any record or set of records.
Specifies the name of a customized DCT. Dctable-name is a 1- to 8-character name of a customized DCT created by IDMSPASS.
Specifies that the named DCT is used to compress records.
Specifies that the named DCT is used to decompress records.
Specifies that the named DCT is used to compress and decompress records. BOTH is the default.
Specifies the name of a standard compression or decompression procedure. Procedure-name is the name of a system-provided or user-defined database record compression or decompression procedure. It must be the CSECT name or entry point of an existing procedure. If, at runtime, the procedure is link edited alone for dynamic loading, procedure-name must also be the load library member name.
Specifies that the procedure compresses the record.
Specifies that the procedure decompresses the record.
Specifies the name of a system-provided or user-defined database procedure to be called when the runtime system performs the specified DML function against the record. If no function is specified, the procedure is called for every DML function performed against the record.
Procedure-name is the CSECT name or entry point of an existing procedure. If, at runtime, the procedure is link edited alone for dynamic loading, procedure-name must also be the load library member name.
If multiple procedures are called for the same function, the procedures are invoked in the order specified.
Calls the procedure before the DML function is performed against the record.
Calls the procedure after the DML function is performed against the record.
Calls the procedure when a runtime error occurs during the processing of a DML function against the record. A runtime error exists when the error status is not equal to 0000.
Calls the database procedure in response to a CONNECT function.
Calls the database procedure in response to a DISCONNECT function.
Calls the database procedure in response to an ERASE function.
Calls the database procedure in response to a FIND function. To call a database procedure in response to OBTAIN, code this option and the GET option.
Calls the database procedure in response to a GET function. To call a database procedure in response to OBTAIN, code this option and the FIND option.
Calls the database procedure in response to a MODIFY function.
Calls the database procedure in response to a STORE function.
Specifies an estimated number of record occurrences. CA IDMS/DB uses this value to optimize SQL access to the record. Record-count is an integer in the range 0 to 2,147,483,647. The default is 0.
Negates any previously assigned CALL clauses for the record.
Displays and punches all information from the categories COMMENTS, CULPRIT HEADERS, and OLQ HEADERS.
Displays and punches the WITHIN AREA clause of the RECORD statement.
When ELEMENTS is also specified, displays and punches all comments associated with the record elements through the COMMENTS clause of the ELEMENT substatement.
When ELEMENTS is also specified, displays and punches all CULPRIT HEADERS specified for the record elements.
Displays and punches the following information about the record:
Displays and punches all elements associated with the record.
When ELEMENTS is also specified, displays and punches all OLQ HEADERS specified for the record elements.
When DETAILS is also specified, displays and punches the SHARE STRUCTURE clause of the RECORD statement as syntax and the record's elements as comments; WITHOUT SHARED STRUCTURES displays the USES STRUCTURE clause as comments and the record's elements as syntax.
Displays and punches the record's synonyms; when ELEMENTS is also specified, the record and element synonyms.
Displays and punches the entire record description
Displays and punches only the record name
|
Copyright © 2014 CA.
All rights reserved.
|
|