<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-29987435</id><updated>2011-04-21T12:05:01.985-07:00</updated><title type='text'>Natural-Adabas</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://natural-adabas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://natural-adabas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mr. Amit Auti</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-29987435.post-115081161075135985</id><published>2006-06-20T06:53:00.000-07:00</published><updated>2006-06-20T06:57:28.280-07:00</updated><title type='text'>Adabas Security</title><content type='html'>&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;ADABAS SECURITY&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS provides the following facilities to prevent unauthorized access to and/or updating of ADABAS database files:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Data Encryption (ciphering) which provides data security;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Multiclient Files to control access to records in a file;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS SECURITY and the related security utility ADASCR, a selectable unit, which provides selective user access/update protection at a file, field, and field value level; and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS EXTERNAL SECURITY INTERFACE (ADAESI), a selectable unit, which&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;provides control of ADABAS resources at a database/utility, command, or file level through the widely used non-Software AG security packages RACF, CA–ACF2 and CA–TOP–SECRET.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAESI is available for MVS/ESA and OS IV/F4 (FACOM) only.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Security is accomplished by comparing passwords and authorization levels.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Data Encryption&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Data encryption is an integral feature of ADABAS and requires no options or extra modules.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Data may be enciphered before being placed in the database. The user must provide the cipher key at the time records are stored. This key is not stored and must be available to request or decipher the data. This minimizes the chances that data encryption can be compromised if unauthorized access to the system occurs.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;To retain maximum control over cipher codes, an ADABAS user exit program can be created to insert the currently valid cipher code into user applications; this removes the need to make the codes known to users, and protects the file from corruption that can occur by adding data that is encrypted with the wrong cipher code.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Multiclient Files&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Also available as an integral feature of ADABAS that requires no options or special modules is the multiclient file.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;A single ADABAS physical file defined as “multiclient” can store records for multiple users or groups of users. The multiclient feature divides the physical file into multiple logical files by attaching an internal owner ID to each record.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The owner ID is assigned to a user ID. A user ID can have only one owner ID, but an owner ID can belong to more than one user. Each user can access only the subset of records that is associated with the user’s owner ID.&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;For any installed external security package such as RACF or CA-TOP SECRET, a user is still identified by either NATURAL ETID or LOGON ID.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;All database requests to multiclient files are handled by the ADABAS nucleus.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;ADABAS SECURITY and ADASCR&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Access/update control is available only with ADABAS SECURITY and the related security utility ADASCR that defines and controls ADABAS SECURITY functions.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS SECURITY provides two types of access/update protection:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;“Access-/update-level” protection applies a basic level of security on a file-by-file basis.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Access/update protection can be defined for some files and not for others. It restricts use of a file or field within the file to those having an appropriate access/update profile definition and a password specified by the user of the file.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Access/update permission values ranging from 0 to 14 are defined for each user and attached to that user’s password, and each protected file (and selected field or fields, if desired) has equivalent access/update “threshold” protection values of the same range. Only a user whose permission value equals or is greater than the protection level of the specified file (and, when applicable, field) is permitted to perform that operation type (access or update) on the file or field. An access/update permission level of 0 only allows access/update of unprotected files or fields with protection level 0 or no defined protection password.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Security &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;“Value-level” protection applies restrictions on the type and range of values that can be accessed or updated in specific fields. The restrictions are applied according to user password (files with fields using value-level protection must be password-protected), can be for specific values or for value ranges, and can be either “accept” or “reject” criteria.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;ADABAS EXTERNAL SECURITY INTERFACE&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;(ADAESI)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAESI allows the definition and protection of ADABAS resources using standard external (i.e., non-Software AG) security packages such as CA-ACF2&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;, &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;CA-TOP SECRET, and RACF installed on ADABAS systems running under MVS/ESA and OS IV/F4 (FACOM).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Generally, a security package allows the system administrator to authorize a user’s access to system resources. The security package then monitors all users and their resource usage to ensure that no unauthorized access or change occurs. Attempts by unauthorized users to use either the system or specific system resources are recorded and reported.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;A user profile, which can be for a single user or a group of users, defines which system hardware and software resources a user is allowed to use. A resource profile defines access/update privileges for one or more devices, volumes, and/or programs (resources that must be used together to perform certain functions can be defined together in the same profile). When a user logs on to the system, the security package uses the user’s logon ID to identify that user’s profile. Each time the user attempts to perform a task or access information, the security package uses information in its resource profiles to allow or deny access. Using the profile&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;concept, the security package expands the single point of authorization—the logon ID—to provide extensive control over all system resources. ADAESI extends the ability of the related security packages to include the ADABAS database and users. Using ADAESI, the security packages can define and control access to the following&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS resources: database nucleus; database files; database commands; utilities&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(MODE=MULTI only); and ADABAS operator commands issued from an MVS console.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Related Security Options&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADABAS ONLINE SYSTEM/Basic Services Security&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The DBA facility ADABAS ONLINE SYSTEM/Basic Services also provides a security facility for restricting access to the ADABAS online facilities. Basic Services Security requires NATURAL SECURITY as a prerequisite.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The NATURAL SECURITY system provides extensive security for ADABAS/NATURAL&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;users. See the &lt;/span&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;NATURAL SECURITY Manual &lt;/span&gt;&lt;/em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;for additional information.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29987435-115081161075135985?l=natural-adabas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://natural-adabas.blogspot.com/feeds/115081161075135985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29987435&amp;postID=115081161075135985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115081161075135985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115081161075135985'/><link rel='alternate' type='text/html' href='http://natural-adabas.blogspot.com/2006/06/adabas-security_20.html' title='Adabas Security'/><author><name>Mr. Amit Auti</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29987435.post-115081044883975468</id><published>2006-06-20T06:34:00.000-07:00</published><updated>2006-06-21T00:06:29.250-07:00</updated><title type='text'>Utilities</title><content type='html'>&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;ADABAS UTILITIES&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Database services such as loading or deleting files are handled by an integrated set of online and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;batch-mode “utilities”. Most utilities can be run in parallel with normal database activity to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;preclude interruption of daily production. See the &lt;/span&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Utilities Manual &lt;/span&gt;&lt;/em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;for more&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;information.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS utilities address initial design and load operations, backup/restore/recovery routines,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;database modification routines, and audit/control/tuning procedures.&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;See the &lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Optional Extensions &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;chapter starting on page 71 for information about ADABAS&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ONLINE SYSTEM/Basic Services, a menu-driven, interactive DBA tool.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Initial Design and Load Operations&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADACMP : Compress / Decompress&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADACMP COMPRESS is used to edit and compress data records to be loaded into the database&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;using ADALOD; ADACMP DECOMPRESS is used to decompress individual files for data&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;structure or field definition changes, or for use as input to non-ADABAS programs.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;COMPRESS&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Input&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADACMP input data must be in a sequential dataset/file. Indexed sequential and VSAM input&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;cannot be used. The records may be fixed, variable, or of undefined length. The maximum input&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;record length permitted depends on the operating system. The maximum compressed record&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;length is restricted by the Data Storage block size in use and the maximum compressed record&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;length set for the file (see the MAXRECL parameter, ADALOD utility). The input records can&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;be in either blocked or unblocked format.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;It is possible to omit the input dataset if the parameter NUMREC=0 is supplied.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The logical structure and characteristics of the data for input to COMPRESS are described with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;field definitions statements (FNDEF to define fields or groups of fields; SUBFN and SUPFN&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;to define sub- or superfields, respectively; HYPDE, PHONDE, SUBDE, and SUPDE to define&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;various types of descriptors). Field definitions are used to create the ADABAS Field Definition&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Table (FDT).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;By default, input data records are processed in the order of the field definition statements. The&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;FORMAT parameter allows you to change the order of field processing or skip fields.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Processing&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADACMP COMPRESS edits and compresses the data records.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Editing includes checking each field defined with a “packed” (P) or “unpacked” (U) format to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ensure that the field value is numeric and in the correct format. Any record that contains invalid&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;data is written to the ADACMP error dataset and is not written to the compressed dataset.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS user exit 6 can be used to specify additional editing to be performed during ADACMP&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;COMPRESS processing. See the &lt;/span&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS DBA Reference Manual &lt;/span&gt;&lt;/em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;for information about user&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;exits.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Compression includes removing trailing blanks from alphanumeric fields; removing leading&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;zeros from numeric fields; removing trailing zeros in floating-point format fields; and packing&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;numeric unpacked fields. Fields with the fixed (FI) option are not compressed, and empty fields&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;located at the end of the record are neither stored nor compressed. Null value fields are processed&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;differently depending on options being used. SQL null value processing is supported.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Output&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Processed data records are written out together with the file definition information to a&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;sequential dataset with the “variable blocked” record format. This dataset, or several such&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;datasets from multiple ADACMP executions, can be used as input to the ADALOD utility. The&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;dataset can be used as input to ADALOD even if it contains no records, meaning that no records&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;were provided on the input dataset or all records were rejected during editing.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADACMP processing report indicates the approximate amount of space required in Data&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Storage for the compressed records by device type (specified with the DEVICE parameter) and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;for Data Storage padding factors between 5 and 30 percent. The compression rate is computed&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;based on the real amount of data used as input to the compression routine.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;51&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;DECOMPRESS&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADACMP DECOMPRESS accepts as input data records from existing ADABAS files, either&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;directly without separate file unloading, or already unloaded with the ADAULD utility. If a file&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;is directly decompressed, it is unloaded without FDT information as part of the decomperssion&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;process, which can save time when decompressing larger files.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Direct decompression of multiclient files can be limited to records for a specific user only when&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a valid owner ID (ETID parameter) is specified.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The FORMAT parameter may be used to decompress the record to a format other than that&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;specified by the FDT. This is particularly useful when the FDT of an existing file is to be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;changed.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Processed data records are written to a sequential dataset with the “variable blocked” record&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;format. Rejected data records are written to the error dataset.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADALOD : Loader&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADALOD LOAD function loads a file into the database. Compressed records produced by&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the ADACMP or ADAULD utility may be used as input.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADALOD loads each compressed record into Data Storage, builds the Address Converter for&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the file, and enters the field definitions for the file into the Field Definition Table (FDT).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADALOD also extracts the values for all descriptors in the file together with the ISNs of all&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;records in which the value is present, to an intermediate dataset. This dataset is then sorted into&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;value/ISN sequence and entered into the Associator inverted lists.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADALOD UPDATE function is used to add or delete a large number of records to/from an&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS file. The UPDATE function requires considerably less processing time than the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;repetitive execution of the ADABAS add/delete record commands. Records to be added may&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;be the compressed records produced by the ADACMP or ADAULD utility. The ISNs of records&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;to be deleted can be provided either in an input dataset or by using control statements.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Records may be added and other records deleted during a single execution of ADALOD.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAULD : Unload&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAULD utility unloads an ADABAS file. ADABAS files are unloaded to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;permit the data to be processed by a non-ADABAS program. In this case, the file must also be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;decompressed after unloading using the DECOMPRESS function of the ADACMP utility.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;create one or more test files, all of which contain the same data. This procedure requires that&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a file be unloaded, and then reloaded as a test file with a different file number.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;change the Field Definition Table (FDT). This requires that the file be unloaded, decompressed,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;compressed using the modified field definitions, and reloaded. If the ADADBS utility is used&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;to add field definitions to a file, the file does not need to be unloaded first.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The sequence in which the records are unloaded may be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;physical the order in which they are physically positioned within Data Storage.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;logical a sequence controlled by the values of a user-specified descriptor.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ISN ascending ISN sequence.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The unloaded record output is in compressed format. The output records have the same format&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;as the records produced by the ADACMP utility.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Backup / Restore / Recovery Routines&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAPLP : Protection Log / Work Print&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAPLP utility prints data protection records contained on the ADABAS Work dataset or&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the ADABAS data protection log. You can specify whether to print&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ALL all protection records—the default&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ASSO just Associator protection records&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;DATA just Data Storage protection records&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;C1 records resulting from ADABAS C1 commands&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;C5 records resulting from ADABAS C5 commands&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;EEKZ records written at completion of a nucleus buffer flush&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ET records resulting from ADABAS ET commands&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;REPR Work dataset records used by Autorestart to repair the index&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;SAVO records resulting from online SAVE database/file operations&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;VEKZ records written at completion of update commands&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The number of protection records printed can be reduced even more by specifying a file, ISN,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;or RABN.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADARAI : Recovery Aid&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADABAS Recovery Aid utility ADARAI can be used to automate and optimize database&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;recovery. See also the restart/recovery information in the &lt;/span&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Operations Manual.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADARAI supports all ADABAS-compatible tape management systems.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADARAI utility prepares the recovery log files (RLOGs), lists the information contained&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;in the RLOGs, creates the job control statements to recover the database, and disables ADARAI&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;logging.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RLOGs record the information about datasets, utility parameters, and protection logs&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;needed to build the recovery job control statements. There are two RLOGs: the primary file&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(DDRLOGR1 or RLOGR1) and a mirror file (DDRLOGM1 or RLOGM1). The mirror file must&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;always exist; it can be used to recover the database if the primary file is not accessible.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;54&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Information is stored on the RLOG by generations. A “generation” includes all activity between&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;consecutive ADASAV SAVE/RESTORE (database) and/or RESTORE GCB operations. The&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;first generation includes the first ADASAV SAVE/RESTORE (database) or RESTORE GCB&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;operation and extends to (but excludes) the second.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Minimally, the RLOG retains the number of generations specified by the MINGENS parameter&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;during the ADARAI PREPARE step. However, a maximum of 32 generations will be stored on&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the RLOG if there is enough space available.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Systems using the Recovery Aid feature require a formatted recovery log (RLOG) dataset pair&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(normal and mirrored), which must first be formatted with the ADAFRM utility and then&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;defined using the ADARAI utility.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADARES : Restart&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADARES utility performs functions related to database recovery:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;BACKOUT removes all the updates applied between two checkpoints. The checkpoints used&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;are normally the result of a non-synchronized checkpoint command (C1) but may also be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;synchronized checkpoints. The complete database may be included in the backout process, or&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;backout may be limited to selected files.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;CLCOPY copies a command log dataset from disk to a sequential dataset. This function is&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;necessary only if dual command logging is in effect for an ADABAS session.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;COPY copies a sequential ADABAS protection log dataset. This function should be executed&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;if the ADABAS session in which the sequential protection log dataset was created was&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;terminated abnormally.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;PLCOPY copies a protection log dataset from disk to a sequential dataset. This function is&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;necessary only if dual protection logging is in effect for an ADABAS session.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;REGENERATE reapplies all the updates performed between two user-specified checkpoints.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The checkpoints specified may be the result of a non-synchronized checkpoint command (C1)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;but may also be synchronized checkpoints. The REGENERATE function may process all files&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;or be limited to one or more files. It is most often used after the database (or one or more files)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;has been restored to a previous status with the RESTORE or RESTONL function of the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADASAV utility.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;REPAIR repairs one or more blocks in Data Storage that, for any reason, have become unusable.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The most recent save tape of the database and any protection log tapes created thereafter are used&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;as input to this function.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADASAV : Save / Restore Database or Files&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADASAV utility saves and restores the contents of the database, or one or more files, to or&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;from a sequential dataset. ADASAV should be run as often as required for the number and size&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;of the files contained in the database, and the amount and type of updating. For large databases,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADASAV functions may be run in parallel for the various disk packs on which the database is&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;contained.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Special ADASAV functions are available for use with the ADABAS DELTA SAVE FACILITY.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;For more information, see the &lt;/span&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS DELTA SAVE FACILITY Manual&lt;/span&gt;&lt;/em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;RESTONL functions restore from a SAVE dataset created while the ADABAS nucleus was&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;active &lt;/span&gt;&lt;/strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(that is, online); RESTORE functions restore from a SAVE dataset created while the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS nucleus was &lt;/span&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;inactive &lt;/span&gt;&lt;/strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(that is, offline).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;RESTONL and RESTORE have the subfunctions GCB, FILES, and FMOVE:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Without a subfunction, RESTONL and RESTORE restore entire databases.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;With the GCB subfunction, they restore the General Control Block, Associator RABNs 2–30&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;of the database, and specified files.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;With the FILES subfunction, they restore one or more files into an existing database to their&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;original RABNs.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;With the FMOVE subfunction, they restore one or more files into an existing database to any&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;free space, allowing changes to extent sizes.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;If changes occurred during the online SAVE, the RESTONL function is followed automatically&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;by the RESTPLOG function. RESTPLOG applies the updates that occurred during, and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;therefore were not included in, the online SAVE.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;RESTPLOG is also executed following a RESTONL or RESTONL FILES function that ended&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;before the protection log (PLOG) updates were completely restored. RESTPLOG applies the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;database updates not applied by the unsuccessful RESTONL function.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The SAVE function to save a database or one or more files may be executed while the ADABAS&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;nucleus is active (online) or inactive (offline). If the Recovery Aid option is active, a SAVE&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;database operation begins a new RLOG generation.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADASEL : Select Protection Data&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADASEL utility selects information in the ADABAS sequential (SIBA) or dual (PLOG)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;protection log. ADASEL decompresses the information and writes it to a print dataset&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(DDDRUCK or DRUCK) or to a user-specified output dataset.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The protection log contains information on all updates applied to the database during a given&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS session. Information selected by ADASEL can be used for auditing or as input to a&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;NATURAL or non-ADABAS program.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;You can select before-images, after-images, or both for new, updated, and deleted records. You&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;can also select data written to the protection log by an ADABAS C5 command.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Database Modification Routines&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADADBS : Database Services&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;All ADADBS functions can also be performed using ADABAS ONLINE SYSTEM/Basic&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Services. When the ADABAS Recovery Aid is active, using Basic Services is preferable for file&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;change operations because it writes checkpoints that are necessary for recovery operation.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADADBS offers a variety of functions, any number of which may be performed during a single&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;execution of the utility.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Database Functions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADD function adds a new dataset to the Associator or Data Storage. The dataset to be added&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;may be on a device type that is the same as that currently being used or different. A maximum&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;of five datasets each may be assigned to the Associator and Data Storage.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The DECREASE function decreases the size of the last dataset currently being used for&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Associator or Data Storage. The space to be released must be available in the Free Space Table&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(FST).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The DECREASE function does &lt;/span&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;not &lt;/span&gt;&lt;/strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;deallocate any of the specified physical extent space. To&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;deallocate space, you must decrease the database with the DECREASE function; save it with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADASAV SAVE; reformat the datasets with ADAFRM; and restore the database with ADASAV.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The INCREASE function increases the size of the last dataset currently being used for the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Associator or Data Storage. This function may be executed any number of times for the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Associator. The maximum of five Data Storage Space Tables (DSSTs) limits Data Storage&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;increases to four before all five Data Storage extents must be combined into a single extent with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;either the REORASSO or REORDB function of the ADAORD utility.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The NEWALTS function assigns additional alternate RABN blocks for the Associator or Data&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Storage. Existing alternate RABN definitions cannot be changed with NEWALTS.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Alternate RABN blocks can be used in place of RABN blocks that are physically damaged. If&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS detects that a write operation is not successful, ADABAS selects an alternate block&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;of the same type, and the data is written to it. This alternate RABN is then used in place of the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;original block for all subsequent read and write operations.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RENAME function changes the name assigned to a (file or) database. If a file is not&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;specified or is specified with file number zero, the database is renamed.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;File Functions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ALLOCATE function is used to allocate a logical extent (an Address Converter, Data&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Storage, Normal or Upper Index) of a specific size. The DEALLOCATE function is used to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;deallocate a logical extent. Only one extent may be allocated or deallocated per ADADBS&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;execution.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The CHANGE function changes the standard length of an ADABAS field. No modifications to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;records in Data Storage are made by this function. The user is, therefore, responsible for&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;preventing references to the field that would cause invalid results because of an inconsistency&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;between the new standard length as defined to ADABAS and the actual number of bytes&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;contained in the record.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The DELETE function deletes an ADABAS file from the database. The file may not be coupled.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;If an ADABAS expanded file is specified, the complete expanded file (the anchor and all&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;component files) is deleted. This function results in the deallocation of all logical extents&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;assigned to the file. The released space may be used for a new file or for a new extent of an&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;existing file.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The DSREUSE function determines, for a specified file, whether Data Storage blocks that&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;become free as a result of record deletion are reused. Block reuse is originally determined when&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a file is loaded into the database with the ADALOD FILE function, or when the system file is&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;defined with the ADADEF DEFINE function. In both cases, block reuse defaults to “YES” if&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;not specified.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ISNREUSE function determines, for a specified file, whether ADABAS reuses the ISN of&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a deleted record for a new record. If not, each new record is assigned the next higher unused ISN.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;For a specified ADABAS file that is not a system file, the MODFCB function modifies&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;parameters such as file padding factors for the Associator or Data Storage; maximum size of&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;secondary logical extent allocations for Data Storage, Normal Index, and Upper Index;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;maximum compressed record length permitted; and whether a user program is allowed to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;perform a file refresh operation by issuing a special E1 command.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The NEWFIELD function adds one or more fields to a specified ADABAS file that is not a&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;system file. The new field definition is added to the end of the Field Description Table (FDT).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;NEWFIELD cannot be used to specify actual Data Storage data for the new field; the data can&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;be specified later using ADABAS add or update commands, or NATURAL commands.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The REFRESH function sets the file to “0” records loaded; sets the first extent for the Address&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Converter, Data Storage, Normal Index, and Upper Index to “empty” status; and deallocates&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;other extents.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RELEASE function releases a descriptor from descriptor status. All space currently&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;occupied in the Associator inverted list for this descriptor is released. The space can then be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;reused for this file by reordering or by ADALOD UPDATE. No changes are made to Data&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Storage.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RENAME function changes the name assigned to a file or database. If a file is not specified&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;or is specified with file number zero, the database is renamed.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RENUMBER function changes the number of an ADABAS file that is not a system file.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;If the new number specified is already assigned to another file, the RENUMBER function will&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;not execute.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The UNCOUPLE function eliminates the coupling relationship between two files.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Other Functions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The CVOLSER function prints the ADABAS file extents that are contained on a disk volume&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;specified by its volume serial number.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The DELCP function deletes checkpoint information recorded up to and including a specified&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;date; checkpoint information recorded after the date specified is not deleted. After running&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADADBS DELCP, the remaining records are reassigned ISNs to include those ISNs made&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;available when the checkpoint records were deleted. The lower ISNs are assigned but the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;chronological order of checkpoints is maintained.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The OPERCOM function issues operator commands to the ADABAS nucleus. ADABAS issues&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a message to the operator, confirming command execution. Only the update ADABAS nucleus&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(NUC01) running in an ADASMP multiprocessing or an ADAPLEX+ nucleus cluster is allowed&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;to run ADABAS utilities such as ADADBS. The optional SMPID or PLXID parameter,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;respectively, allows you to redirect the OPERCOM commands to another (read-only) nucleus&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;in the cluster for execution, just as though the command had been issued by a locally run&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADADBS OPERCOM operation.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The PRIORITY function sets or changes the ADABAS priority of a user. A user’s priority can&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;range from 0 (the lowest) to 255 (the highest, and the default). The priority value is added to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the operating system priority by the interregion communications mechanism. The user for&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;which a priority is to be set or changed is identified by the same user ID provided in the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Control Block (OP command, Additions 1 field).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RECOVER function recovers space allocated by rebuilding the Free Space Table (FST).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;RECOVER subtracts file, DSST, and alternate RABN extents from the total available space.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The REFRESHSTATS function resets statistical values maintained by the ADABAS nucleus for&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;its current session. Parameters may be used to restrict the function to particular groups of&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;statistical values:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ALL (the default) resets values for the combination of CMDUSAGE, COUNTERS,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;FILEUSAGE, POOLUSAGE, and THREADUSAGE.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;CMDUSAGE resets the counters for ADABAS direct call commands such as Lx, Sx, or A1.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;COUNTERS resets the counter fields for local or remote, physical or logical calls, ADABAS&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;STAR calls, format translations, format overwrites, autorestarts, protection log switches, buffer&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;flushes, and command throw-backs.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;FILEUSAGE resets the count of commands for each file.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;POOLUSAGE resets the high-water marks for the nucleus pools such as the Work pool, the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Command Queue, or the User Queue.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;THREADUSAGE resets the count of commands for each ADABAS thread.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS maintains a list of the files used by each ADABAS utility in the Data Integrity Block&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(DIB). The DDIB operator command (or ADABAS ONLINE SYSTEM/Basic Services)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;displays this block to determine which jobs are using which files. A utility removes its entry&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;from the DIB when it terminates normally. If a utility terminates abnormally (for example, the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;job is cancelled by the operator), the files used by that utility remain “in use”. The RESETDIB&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;function releases any such files and resets the DIB entries for a specified job and/or a particular&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;utility execution.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADADEF : Define a Database&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADADEF utility is used to define a new database, including the Checkpoint file, or to define&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a new Work file (NEWWORK function) for an existing database.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Databases are defined with name, ID, components (Associator, Data Storage, and Work) with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;device type and size.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS uses certain files to store system information. The Checkpoint file is used to store&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;checkpoint data as well as user data provided with the ADABAS CL and ET commands. It is&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;required and must be specified in the ADADEF DEFINE (database) function.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Before database components (Associator, Data Storage, and Work) can be defined with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADADEF, each must be formatted by the ADAFRM utility.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAFRM : Format Datasets&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAFRM utility formats the ADABAS direct access (DASD) datasets; that is, the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Associator, Data Storage, and Work datasets as well as the intermediate storage (Temp, Sort,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;and command/dual protection/recovery logging) datasets.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Formatting with ADAFRM comprises two basic operations: creating blocks (that is, RABNs)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;on the specified tracks/cylinders; and filling the created blocks with binary zeros (nulls).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Any new dataset must be formatted before it can be used by the ADABAS nucleus or an&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS utility. After increasing a dataset with the ADADBS INCREASE or ADD function,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;new RABNs must also be formatted.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAFRM also provides functions to “reset” existing Associator, Data Storage, or Work blocks&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;to binary zeros (nulls).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;More than one ADAFRM function (ASSOFRM, DATAFRM, RLOGFRM, and so on) can be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;performed in the same job. However, each function must be specified on separate statements.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAINV : Invert&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAINV utility is used to&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;create a descriptor (INVERT function); or&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;couple two files (COUPLE function).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The INVERT function&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;modifies the Field Definition Table (FDT) to indicate that the specified field is a descriptor; and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;adds all values and corresponding ISN lists for the field to the inverted list.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The newly defined descriptor may then be used in the same manner as any other descriptor. This&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;function may also be used to create a subdescriptor, superdescriptor, phonetic descriptor, or&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;hyperdescriptor.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The COUPLE function adds a common descriptor to two files (updates their inverted lists). Any&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;two files may be coupled provided that a common descriptor with identical format and length&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;definitions is present in both files. A single file may be coupled with up to 18 other files, but&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;only one coupling relationship may exist between any two files at any one time. A file may not&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;be coupled to itself.&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Only files with numbers 255 or lower can be coupled.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Changes affecting a coupled file’s inverted lists are automatically made to the other file. The&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;DBA should consider the additional overhead required to update the coupling lists when the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;descriptor used as the basis for coupling is updated, or when records are added to or deleted from&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;either file. For example, if a field used as the basis for coupling contains a large number of null&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;values and is not defined with the NU (null suppression) option, the result may be a significant&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;increase in execution time and required disk space to store the coupling lists.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;An interrupted ADAINV operation can be restarted without first having to restore the file.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAORD : Reorder&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Three types of functions are available within the ADAORD utility; only one function may be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;executed during a given execution of ADAORD.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Reorder Functions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The REORASSO function physically reorders all Associator blocks for all files; REORFASSO&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;reorders the Associator for a single file. This eliminates Associator space fragmentation, and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;combines multiple Address Converter, Normal and Upper Index, and Data Storage Space Table&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(DSST) component extents into a single logical extent for each component.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The REORDATA function reorders Data Storage for all files in the database; REORFDATA&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;reorders Data Storage for a single file. This condenses extents containing only empty blocks,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;and also eliminates any Data Storage fragmentation caused by file deletion.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The REORDB function performs both the REORASSO and REORDATA functions in a single&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAORD execution; the REORFILE function performs both the REORFASSO and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;REORFDATA functions in a single ADAORD execution. The records may be reordered in the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;logical sequence by a descriptor, by ISN, or in the current sequence.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Restructure Functions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RESTURCTURE functions are used to relocate a database or specified files to a different&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;physical device.&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The RESTRUCTUREDB function unloads an entire database to a sequential dataset;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;RESTRUCTUREF unloads one or more files to a sequential dataset. This dataset can be used&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;as input to the STORE function.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Store Function&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The STORE function loads one or more files into an existing database using the output produced&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;by the RESTRUCTURE functions or the REORDB function.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:180%;"  &gt;Audit / Control / Tuning Procedures&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAACK : Check Address Converter&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAACK should only be used for diagnostic purposes. It checks&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the Address Converter for a specified file(s) and ISN range. It is used in conjunction with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAICK.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;each Address Converter element to determine whether the Data Storage RABN is within the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;used portion of the Data Storage extents specified in the File Control Block.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the ISN for each record in each Data Storage block within the specified ISN range to ensure that&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the Address Converter element for that ISN contains the correct Data Storage RABN.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADADCK : Check Data Storage&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADADCK should only be used for diagnostic purposes. It checks the Data Storage and the Data&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Storage Space Table (DSST) of a specific file (or files) in the database.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADADCK reads each used Data Storage block (according to the Data Storage extents in the File&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Control Block) and checks whether:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the block length is within the permitted range (4 &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀􀀀&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;block length &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀􀀀&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;physical block size).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the sum of the lengths of all records in the Data Storage block plus 4 equals the block length.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;any record exists with a record length greater than the maximum compressed record length for&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the file or with a length &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀􀀀&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;0.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;any duplicate ISNs exist within one block.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the associated DSST element contains the correct value. If not, the DSST must be repaired (see&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;REPAIR parameter).&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAICK : Check Index and Address Converter&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAICK should only be used for diagnostic purposes. It checks the physical structure of the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Associator. This includes validating the index based upon the descriptor value structures and&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the Associator extents defined by the General Control Block (GCB) and File Control Block&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(FCB).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAICK can&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;check index and Address Converter for specific files;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;print/dump the contents of any Associator or Data Storage block in the database; or&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;produce a formatted print/dump of the contents of the GCB, FCBs, and FDTs.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAMER : ADAM Estimation&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAMER utility produces statistics that indicate the number of Data Storage accesses&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;required to find and read a record when using an ADAM descriptor. This information is used&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;to determine &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;br /&gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;whether the number of accesses required to retrieve a record using an ADAM descriptor would&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;be less than the standard ADABAS accessing method;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the amount of Data Storage space required to produce an optimum distribution of records based&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;on the randomization of the ADAM descriptor.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The input data for ADAMER is a dataset containing the compressed records of a file produced&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;by the ADACMP or ADAULD utility.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The field to be used as the ADAM descriptor is specified with the ADAMDE parameter. A&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;multiple value field or a field contained within a periodic group may not be used. The ISN&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;assigned to the record may be used instead of a descriptor as the basis for randomization&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;(ADAMDE=ISN).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAM descriptor must contain a different value in each record, since the file cannot be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;successfully loaded with the ADAM option of the ADALOD utility if duplicate values are&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;present for the ADAM descriptor. The ADAMER utility requires a descriptor field defined as&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;unique (UQ), but does not check for unique values; checking for unique descriptor values is done&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;by the ADALOD utility when loading the file as an ADAM file.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The BITRANGE parameter may be used to specify that a given number of bits are to be&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;truncated from each ADAM descriptor value before the value is used as input to the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;randomization algorithm. This permits records containing ADAM descriptor values beginning&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;with the same value (for example, 40643210, 40643220, 40643344) to be loaded into the same&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;physical block in Data Storage. This technique can be used to optimize sequential reading of&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the file when using the ADAM descriptor to control the read sequence, or to remove&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;insignificant information such as a check digit.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAREP : Report&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAREP utility produces the database status report, which provides information&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;concerning the current physical layout and logical contents of the database.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The information provided in this report includes&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;a database overview: the database name, number, creation date/time, file status, and current log&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;number.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;current space resources for Associator, Data Storage, and Work: amount and locations of&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;currently used space, allocated but unused space, and alternate RABN blocks.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;summary and detailed file information: summary by file of ISN, extent, padding factor,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;used/unused Associator and Data Storage space, and file options; and detailed, optionally by&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;file, that includes all summary information plus MINISN/MAXISN settings, detailed space&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;information, creation and last use date/time, Field Definition Table (FDT) contents, and general&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;or extended Checkpoint file information.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;checkpoint information: general and extended Checkpoint file information.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;􀀀 &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;physical structure: Associator/Data Storage RABN information including device type,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;VOLSER number, file number (if appropriate), and usage (AC, NI/UI, Data Storage, DSST,&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;alternate, or unused).&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAVAL : Validate the Database&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAVAL utility validates any or all files within an ADABAS database except the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Checkpoint and Security files.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAVAL compares the actual descriptor values contained in the records in Data Storage with&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;the corresponding values stored in the Associator to ensure that the Associator and Data Storage&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;are synchronized, and that there are no values missing from the Associator.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Before running ADAVAL, the consistency of the inverted lists should be checked with the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ADAICK utility.&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;font-size:130%;"  &gt;ADAPRI : Print Selected ADABAS Blocks&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;The ADAPRI utility prints the contents of a block (or range of blocks) contained in the&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Associator, Data Storage, Work, Temp, Sort, dual command log (CLOG), dual data protection&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;log (PLOG), the recovery log (RLOG), or the DELTA SAVE images (DSIM) dataset.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29987435-115081044883975468?l=natural-adabas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://natural-adabas.blogspot.com/feeds/115081044883975468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29987435&amp;postID=115081044883975468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115081044883975468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115081044883975468'/><link rel='alternate' type='text/html' href='http://natural-adabas.blogspot.com/2006/06/utilities.html' title='Utilities'/><author><name>Mr. Amit Auti</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29987435.post-115081021398157581</id><published>2006-06-20T06:30:00.000-07:00</published><updated>2006-06-20T06:32:26.506-07:00</updated><title type='text'>Using Adabas</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;35&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;USING ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Generally, ADABAS uses between 10% and 50% of the data processing resources (disk storage,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CPU time, elapsed processing time) used by other database management systems. Since fewer&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;hardware facilities are used, more can be accomplished with less. Very large online applications&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;using several gigabytes of data have been successfully implemented, with thousands of terminal&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;workstations, and with the response times and the cost of much smaller systems.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Accessing a Database from Programs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS access is field-oriented: user programs access and retrieve only the fields they need.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User program statements invoke ADABAS search and retrieval operations automatically.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Direct Call Interface&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS provides a powerful and flexible set of direct call commands for performing database&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operations. ADABAS direct call commands provide a direct interface to the ADABAS database&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;when NATURAL or another fourth-generation database language is not being used.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The commands can be categorized by function:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Read (Data Storage or Associator)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database modification&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Logical transaction processing&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Special commands&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;36&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Database Query Commands (Sx)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database query commands (S1/S4, S2, S5)) search for and return the ISNs of specified records&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or record groups according to specified search criteria. Other commands in this category (S8,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;S9) sort the resulting ISN lists in preparation for later operations.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ISN lists resulting from any Sx command may be saved on the ADABAS Work dataset for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;later retrieval during the user session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In most cases, these commands do not actually read the database; ISNs are read directly from&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the Associator’s inverted lists. Options allow the ISN’s record to be placed in hold status to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;prevent it from being updated by other programs until the record is released; if desired,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;additional field values contained in the first ISN’s record can be read from Data Storage.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Read Commands (Lx)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The L1 through L6 commands are used to read actual records from Data Storage. Depending&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;on the specified command and its options, records are read individually&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in the sequence in which they are stored;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in the order of an ISN list created by one of the database query commands; or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in logical sequence according to a user-specified descriptor.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;See page 39 for more information about sequential access methods.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A hold option allows the database records to be locked until released by a separate command&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or at transaction end.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The L9 and LF commands read information directly from the Associator inverted lists or File&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Definition Tables (FDTs), returning either the inverted list values for a specified descriptor or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the field definitions for a specified file in the database.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Database Modification Commands (A1, E1, N1/N2)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database modification commands (A1, E1, and N1/N2) change, delete, or add database records&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and update the related Associator lists accordingly. ISNs can be assigned to new records either&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;by the user or by ADABAS.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The inverted lists and the Address Converter are automatically maintained by ADABAS. When&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the user supplies a new value for a descriptor, either in a new record or as part of a record update,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS performs all necessary maintenance of the inverted lists. When a new record is added&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or a record is deleted, the Address Converter is appropriately updated. These operations are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;completely transparent to the user.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Using ADABAS &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;37&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Logical Transaction Control Commands (ET/BT)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;An ADABAS logical transaction defines the logical start (BT) and end (ET) of the database&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operation being performed. If the user operation or ADABAS itself terminates abnormally,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;these commands provide the capability for restarting a user, beginning with the last&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;unsuccessfully processed transaction. ET/BT commands&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;define the transaction start and end;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;restore pretransaction conditions if a situation occurs that prevents successful completion of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transaction; and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;read program-specified user data written during the transaction sequence.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Programs that use these commands are called ET logic programs. Although not required,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Software AG recommends that you use ET logic. See page 44 for more information about&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transaction logic.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Special Commands&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Special commands perform many of the “housekeeping” functions required for maintaining the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS database environment. Commands in this group&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;open (OP) and close (CL) a user session (but do not control a transaction);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;write data protection information and checkpoints (C1, C5); and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;set (HI) and release (RI) record hold status.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In addition, the RC command releases one or more command IDs currently assigned to a user,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or deletes one or all global format IDs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The RE command reads user data previously stored in an ADABAS system file by CL or ET&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;commands.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;38&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Complex Searches&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In many large database systems, the time required to process complex searches is often&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;excessive. ADABAS efficiently solves this problem. Many ADABAS applications are currently&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in use with up to 150 complex selection criteria created dynamically. Data is retrieved&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;immediately from files with more than 50 million records.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Multifile Searching&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;It is often necessary to perform a multifile search in order to resolve an inquiry. Multifile&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;searching can be accomplished using multiple search commands, physically coupled files, or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;soft file-coupling. See page 21 for information about coupled files.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Multiple search commands may be used in which a value retrieved in one command is used as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the search value for the next command. This process is not restricted to two files.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Multi-index Searching&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Fuzzy” matching (i.e., retrieving data based on &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;similar &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;rather than on &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exact &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;search criteria)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;can be implemented using hyperdescriptors. Hyperdescriptors allow multiple virtual indexes,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;meaning that several different search index entries can be made for a single data field. See page&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;34 for information about hyperdescriptors.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Using ADABAS &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;39&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Access Methods&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS supports both sequential and random access methods. Different calls use different&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS access paths and components; the most efficient method depends on the kind of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;information you want and the number of records you need to retrieve.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Sequential Access&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Physical &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;sequence retrieves every record in a file in the order the records are stored in Data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage. You can limit the fields within each record for which values are to be returned. You can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;also specify a “start” ISN: the sequential pass then begins at the first record physically located&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;after the record identified by the specified ISN.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS bypasses the Associator and goes directly to Data Storage, reading the first data block&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(or the first record following a specified ISN) and continuing in consecutive sequence until the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;last block is read. Physical sequence is the fastest way to process a large volume of records.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Program ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Nucleus&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I/O Buffer&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Inverted&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;List&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Returns field values&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Read&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Physical&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;L2/L5&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;1 Converter&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2-9: Read in Physical Sequence (L2/L5)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;40&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ISN &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;sequence retrieves records in ISN order. ADABAS uses database query commands (Sx) to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;build and sort ISN lists, which can then be read using L1/L4 commands with the GET NEXT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;option. When reading, ADABAS uses the Address Converter to find the RABNs of each ISN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in the list and then reads and returns the records from Data Storage.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Program ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Nucleus&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I/O Buffer&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(Sx ISN List)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Inverted List&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Returns field values&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Read by ISN&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Sx, L1/L4&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Converter&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;6&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;5&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2-10: Read in ISN Sequence (L1/L4)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Logical &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;sequence retrieves records by descriptor value. ADABAS finds the value(s) in the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;inverted list, uses the Address Converter to find the RABNs of the ISNs related to the value, and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;retrieves the records from Data Storage.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Program ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Nucleus&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I/O Buffer&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Inverted&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;List&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Returns field values&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Read Logical&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;L3/L6&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;1 Converter&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;6&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;5&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2-11: Read in Logical Sequence (L3/L6)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Using ADABAS &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;41&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Reading in logical sequence retrieves all the records related to a single value or a range of values&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the specified descriptor. It returns the records sorted in ascending/descending order by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor value, and in ascending/descending ISN order within each value. You can specify a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;starting and ending value. You can also specify the field(s) for which values are returned. Read&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;logical is useful when you want the returned records sorted on a particular field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS provides a special read command (L9) to determine the range of values present for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a descriptor, and the number of records that contain each value. Such a retrieval is called a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“histogram”. The L9 command does not require any access to data records, only to the inverted&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;lists stored in the Associator.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Program ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Nucleus&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I/O Buffer&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Inverted&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;List&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Returns count of ISNs for each value&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;READ&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;VALUES FOR&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Converter&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2-12: Read Descriptor Values (L9)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Random Access&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS uses the S1/S2/S4 commands to select records that satisfy a &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;search criterion&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;: the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;count of the records found and a list of their ISNs is returned. The S1/S4 commands return the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ISNs in ascending sequence; the S2 command allows you to specify a sort sequence for the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;returned ISNs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The search criterion may comprise&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;one or more fields in a single file;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;fields contained in two or more physically coupled files; or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;search, read, and internal list matching based on the soft coupling feature.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;42&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A search criterion may contain one or more fields that are not defined as descriptors. If&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nondescriptors are used, ADABAS performs read operations to determine which records to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;return to the user. If only descriptors are used within the search criterion, ADABAS resolves the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;query by using the Associator inverted lists; no read operation is required.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Random Access Using the ADABAS Direct Access Method (ADAM)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADAM feature is available on mainframe platforms only.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS Direct Access Method (ADAM) improves random access performance on a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;particular descriptor field in a file. ADAM uses the field value to compute the relative block&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;address (RABN) for record storage. The ADAM descriptor may also be used like any other&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor within a selection criterion, and for logical sequential processing as well. This option&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;may be selected for any given file when the file is loaded into the database.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Customer ID=17802&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Customer–ID=&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;17802&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Randomizer&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADAM&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Block 1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Block 2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Block 3&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Customer File&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;RABN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2-13: ADABAS Direct Access Method (ADAM)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Using ADABAS &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;43&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Using Triggers and Stored Procedures&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS triggers and stored procedures facility is an integral part of ADABAS; however,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NATURAL (see page 102) and ADABAS ONLINE SYSTEM (see page 71) are required to use&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the facility.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A procedure is a NATURAL subprogram that is written and tested using standard NATURAL&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;facilities.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;trigger &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is a procedure that is executed automatically by ADABAS when a specified set of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;criteria is met. The set of criteria is determined for each command sent to ADABAS and is based&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;on the target file number and optionally the command type and/or field. The command type&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;refers to the commands FIND, READ, STORE, UPDATE, and DELETE. The field must be in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the corresponding Format Buffer of the command.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;stored procedure &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is executed by ADABAS, but is invoked directly by a special user call from&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;any of a number of applications that use it. Storing programs that are used by multiple clients&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in an ADABAS file on the server reduces the amount of data traffic to and from the server.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The same types of parameters are passed to the subprogram whether it is a trigger or a stored&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;procedure.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS facility for triggers and stored procedures allows you to implement and maintain&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;both types of procedures. It resides within ADABAS and provides an extension to an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;application. It can be used to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;implement various security and auditing features for an application; and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;provide a consistent, central environment where data can be verified or manipulated, either&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;manually by the application or automatically by ADABAS when triggers are defined.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;44&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Maintaining Database Integrity&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS provides facilities to ensure the logical consistency of data in a competitive updating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;environment and when a user or ADABAS session is interrupted.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Facilities are available for both online and traditional batch update. For online,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transaction-oriented processing, ADABAS ensures that the database is free of incomplete&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transactions. For batch mode updating, ADABAS ensures restart in the event of failure by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;providing checkpointing and backout/regeneration of updates.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Transaction Logic&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS data protection, recovery, and user restart are based on the concept of a “logical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transaction”: the smallest unit of work (as defined by the user) that must be performed in its&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;entirety to ensure that the information contained in the database is logically consistent.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A logical transaction may comprise one or more ADABAS commands that together perform the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;database read/update required to complete a logical unit of work. A logical transaction begins&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;with the first command that places a record in hold status and ends when an ET (end transaction),&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BT (back out transaction), CL (close), or OP (open) command is issued for the same user.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The OP (open) or RE (read ET data) commands can be used to retrieve user restart data stored&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;by the ET or CL command. This data is also written to the ADABAS data protection log with&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;each checkpoint written by the transaction and can be read using the ADASEL utility.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ET command must be issued at the end of each logical transaction. Successful execution&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of an ET command ensures that all the updates performed during the transaction are physically&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;applied to the database, regardless of subsequent user or ADABAS session interruption.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Updates performed during transactions for which ET commands are not successfully executed&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;are backed out, either manually by issuing the BT command or automatically by the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Autobackout routine (see page 48).&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Competitive Updating&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Competitive updating is in effect when two or more users (in multiuser mode) are updating the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;same ADABAS file(s). The ADABAS facilities used to ensure data integrity in a competitive&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;updating environment include record hold/release, avoidance of resource deadlock, and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exclusive control updating.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Using ADABAS &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;45&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Record Hold and Release&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS Record Hold facility ensures that a record will not be updated by more than one&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;user at a time. A user can put the record in “hold” status (that is, the ISN of the record is put in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the Hold Queue) using the commands S4 (find with hold), L4/L5/L6 (read with hold), A1/E1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(update/delete) with the hold option specified, N1/N2 (add record with hold), or HI (hold&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;record).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If a record requested for hold status is already being held by another user or utility, the user&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;issuing the record hold command is put in “wait” status until the record becomes available, at&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;which time ADABAS reactivates the command. You may request that a response code be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;returned if you do not want to be put in “wait” status.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Records in “hold” status can be accessed (found and read) by users who do not seek to hold the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;record.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Records in “hold” status are released by issuing the ET or CL commands. Options are available&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;with ET and BT commands to release records selectively. The CL command releases all records&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in “hold” status for the issuing user.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Avoiding Resource Deadlock&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Resource deadlock occurs when two users are each waiting for a record held by the other user.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS protects against such a user deadlock situation by detecting the potential deadlock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and returning a response code to the second user after putting the first user in “wait” status.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Exclusive Control Updating&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Users who use logical transaction commands (ET/BT) are called ET logic users.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Alternatively, a user can request exclusive control of one or more ADABAS files for the duration&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the user session. If the file or files for which exclusive control is requested are not already&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;opened for update by another user or utility, exclusive control is granted and the user becomes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an exclusive update (EXU) user. ADABAS treats EXU users as non-ET logic users.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS does not place an ISN in “hold” status for EXU users. ADABAS disables hold logic&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;processing for files being updated under exclusive file control.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Instead of using ET commands, EXU users can request checkpoints to act as reference points;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;for example, updates applied after a checkpoint can be removed.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;46&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Timeout Controls&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS times out&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transactions that exceed a specified limit; and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;users who are inactive for a specified amount of time.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Transaction Time Limit&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS provides a transaction duration time limit for ET logic users. The time limit is set with&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the ADARUN TT parameter; an override for a specific user can be set using the OP command.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If a transaction exceeds the prescribed limit, ADABAS generates a BT (back out transaction)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;command to remove all the updates performed during the transaction and release all held&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;records. The user can then either repeat the backed out transaction from the beginning or begin&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;another transaction.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Non-Activity Time Limit&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;All users are subject to a non-activity time limit; different limits can be set for different user&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;types and for specific users within each user type.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If a user exceeds the prescribed limit and the user is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an ET logic user, ADABAS backs out the current transaction, releases all held records and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;command IDs, and deletes the user’s file list.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an EXU user, ADABAS deletes the user’s file list and releases all command IDs. The user loses&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;his EXU user status and becomes an access-only user.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an access-only user, ADABAS deletes the user’s file list.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Using ADABAS &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;47&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Backout, Recovery, and Restart&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Backout, recovery, and restart may be required when a user or ADABAS session is interrupted&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;due to a timeout (see page 46); a program error when ADABAS determines that a transaction&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;cannot be completed successfully; an ADABAS, hardware, or operating system failure; or a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;power failure.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “user session” is a sequence of ADABAS calls optionally starting with an open (OP)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;command and ending with a close (CL) command. A “user” is either a batch mode program or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a person using a terminal. The uniqueness of each user is assured by the user ID, a machine, an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;address space, and a terminal ID.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;An “ADABAS session” starts when ADABAS is activated and continues until ADABAS is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;terminated. During this time, the ADABAS nucleus creates a sequence of protection entries in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exact historical sequence reflecting all modifications made in the database. The sequence of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;protection entries is written to the Work dataset (part 1) and to a protection log in blocks. Each&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;block contains the nucleus session number, a unique block number, and a time stamp.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;User Program Error&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A user program that is in the middle of a transaction can detect that the transaction cannot be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;completed successfully. In this case, a BT (back out transaction) command is used to remove&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or “back out” the incomplete transaction.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If a user program error causes logical damage to the database, it may be necessary to recover&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the affected files using the ADASAV and ADARES utilities.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;ADABAS, Hardware, or Operating System Failure&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;After any failure that causes the ADABAS nucleus to terminate abnormally, an automatic&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;procedure is executed when ADABAS is reactivated to bring the database to a physically and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;logically valid status. All partially executed update commands are reset; all incomplete&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transactions are backed out.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The automatic procedure comprises three steps: repair the database, Autorestart, and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Autobackout.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database repair modifies the database to the status it would have had if a buffer flush had just&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;been completed at the time of failure. That is, all blocks in the database are at a status that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;enables the nucleus to perform normally.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;48&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Autorestart backs out updates of single update commands that were partially executed when the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;system failed. It resolves internal inconsistencies in the database and ensures physical integrity.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Autobackout, which is performed only for ET logic users, backs out updates of user transactions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;that were partially executed when the system failed. ADABAS performs an internal BT (back&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;out transaction) followed by Autorestart, and then informs the user that the last transaction has&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;been backed out.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Autobackout routine is executed at the end of an ET session that was terminated with HALT.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;It is also executed automatically at the beginning of the next ADABAS session to remove any&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;updates performed within transactions that did not complete successfully.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;After Autobackout execution, the database contains updates only from logically complete&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transactions.&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ET users can manually back out an incomplete transaction at any time by issuing the BT (back&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;out transaction) command. See page 44.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If an ADABAS, hardware, or operating system failure results in physical damage to the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;database, it may be necessary to recreate the database using the ADASAV and ADARES&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;utilities.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Power Failure&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Depending on the hardware, a power failure during an I/O operation may damage the ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;blocks that were being processed. This damage cannot be detected during Autorestart and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;therefore can result in problems later such as unexpected response codes or lost database&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;updates.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If the ADARUN IGNDIB=YES parameter is set, the Autorestart routine checks whether a buffer&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;flush was active when the session interruption occurred. If a buffer flush was in process, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Autorestart shuts down and ADABAS alerts the user to the potential problem and includes a list&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the files being updated when the buffer flush was in process. The DBA must then determine&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;whether a power failure occurred.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If the cause of a session interruption&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a power failure, Software AG strongly recommends recovering the affected files using the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADASAV and ADARES utilities.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;definitely not &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a power failure and the integrity of the information on the output hardware can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;be guaranteed, the database can be reactivated immediately. Database recovery is not necessary.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29987435-115081021398157581?l=natural-adabas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://natural-adabas.blogspot.com/feeds/115081021398157581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29987435&amp;postID=115081021398157581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115081021398157581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115081021398157581'/><link rel='alternate' type='text/html' href='http://natural-adabas.blogspot.com/2006/06/using-adabas.html' title='Using Adabas'/><author><name>Mr. Amit Auti</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29987435.post-115080762903195750</id><published>2006-06-20T05:47:00.000-07:00</published><updated>2006-06-20T05:49:07.246-07:00</updated><title type='text'>Design of Adabas</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;13&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;ADABAS DESIGN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database systems often involve complex data structures and data handling procedures that can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;be designed and used only by persons with extensive knowledge and experience. ADABAS has&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a remarkably simple structure by comparison, yet it provides significant advantages for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operational efficiency, ease of design, definition, and database evolution.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;ADABAS Entities&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In ADABAS, a “field” is the smallest logical unit of information (e.g., current salary) that may&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;be defined and referenced by the user. A “record” is a collection of related fields that make up&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a complete unit of information (e.g., all the payroll data for a single employee). A “file” is a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;group of related records that have the same format (with some exceptions; see page 23). A&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“database” is a group of related files.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;ADABAS Limits&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The table below shows the maximum number that mainframe ADABAS supports for each&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;entity:&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Entity Maximum&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Databases 65,535&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Blocks per database 2,147,483,646 using 4-byte RABNs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Files per database the lower of 5,000 or the Associator block size minus one&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Records per file 4,294,967,294 using 4-byte ISNs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fields per record 926&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Uncompressed record length depends on the operating system&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Compressed record length Data Storage block size&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;14&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;ADABAS Space Management&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The disk storage space allocated to a single ADABAS database is segmented into “logical”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS files. A certain part of the overall space within the database is allocated to each logical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;file. When the space is filled with records from the file, ADABAS automatically allocates more&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;space to the file from the common free space pool. This dynamic space allocation, together with&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the dynamic recovery of released space, allows ADABAS databases to run without intervention&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;for long periods of time.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The distribution of database space across disk drives can be controlled by “physically”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;segmenting it into multiple independent datasets. When all physical database space is filled,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;more datasets can be allocated dynamically, or the size of existing datasets can be increased so&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;that new physical files can be loaded without reorganizing the entire database.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Database Components&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To support the separation of data and access structures, the ADABAS nucleus uses three&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;database components:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Storage for compressed data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Associator for data management and retrieval&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work, a scratch area for complex search criteria, etc.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Data Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Storage is divided into “blocks”, each identified by a 3- or 4-byte relative ADABAS block&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;number or “RABN” that identifies the block’s physical location relative to the beginning of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;component. Data Storage blocks contain one or more physical records and a padding area to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;absorb the expansion of records in the block.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A logical identifier stored in the first four bytes of each physical record is the only control&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;information stored in the data block. This internal sequence number or “ISN” uniquely identifies&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;each record and never changes. When a record is added, it is assigned an ISN equal to the highest&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;existing ISN plus one. When a record is deleted, its ISN is reused only if you instruct ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to do so. Reusing ISNs reduces system overhead during some searches and is recommended for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;files with records that are frequently added and deleted.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;15&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For each file, between 0–99 percent (default 10%) of each block can be allocated as padding&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;based on the amount and type of updating expected. This reserved space permits records to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;expand without migrating to another block and thus helps to minimize system overhead.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0071 0595 0221&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0222&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0300&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0991 2021&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0401 0532&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;RABN&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;3&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Records (identified by ISNs) Padding Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–1: ADABAS Data Storage Blocks&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Free Space and Space Reusage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If records become too large for their blocks, they migrate to new locations. When a record&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;migrates or is deleted, free space is opened in the data block between the last record and the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;padding area. Figure 2–2 shows free space created when the record with ISN 0401 becomes too&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;large for the block and migrates to another block:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0300 0401 0533&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Padding Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;0300 0533&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Free Space Padding Area &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ÉÉÉÉ&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–2: Free Data Storage Space Created by Record Migration&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;You can instruct ADABAS to reuse free space. Reusing space saves computer time, since&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS then reads fewer physical blocks during searches. It is recommended for all files.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;16&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Compression&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data compression significantly reduces the amount of storage required. It also permits the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transmission of more information per physical transfer, resulting in greater I/O efficiency.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS retains data records in compressed form. It defines and executes compression at the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;field level. Three compression options are supported: default compression, null suppression,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and fixed format. The last two options are added as field options and are discussed on page 29.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Default compression” deletes trailing blanks in alphanumeric fields and leading zeros in binary&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;fields. An inclusive length byte (ILB) at the beginning of the field indicates the total number&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of stored bytes, including the ILB. Thus, if “Susan” is entered in a “first-name” field defined&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;with a 20-character length and default compression, its stored size will be six bytes: five bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;for the letters of the name, plus one byte for the ILB. In addition, empty fields in a record are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;not stored; an empty field is replaced by a one-byte empty field counter (EFC). ADABAS can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;store up to 63 contiguous empty fields in a single hexadecimal byte.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Many ADABAS files require only 50% to 60% of the space used for the raw data. Even with&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the addition of approximately 25% for the access structures stored in the Associator, ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;storage requirements are still less than those required for traditional file storage or for DBMSs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;that do not use data compression.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;JONES 222 MA IN ST 00008000&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;J 2 ONES 22 MAIN ST &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;0–0&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;15 22 8&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;6 12 4&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;bytes bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;bytes bytes bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;bytes&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data Before Compression (45 bytes)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABASCompressed Data (22 bytes)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;l l l&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;C –&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;0 0–8&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–3: An Example of ADABAS Default Compression&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;17&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Associator&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Associator is an organizational unit used for storing the structures required to access data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in Data Storage. It contains&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a control block for the database as a whole and control blocks for each file;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;all tables needed to control and maintain the database including a Field Definition Table or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“FDT” (see page 25) for each file and coupling lists for physically coupled files (see page 21);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an inverted list for each descriptor in each file of the database and an Address Converter for each&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;file.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Inverted Lists&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;An inverted list, which is used to resolve ADABAS search commands and read records in logical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;sequence, is built and maintained for each field in an ADABAS file that is designated as a key&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;field or &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor” (see page 28). It is called an “inverted” list because it is organized by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor value rather than by ISN. The list comprises the Normal Index (NI) and as many as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;14 Upper Indexes (UI).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Normal Index (NI) of the inverted list for a particular descriptor has an entry for each value.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The entry contains the value itself, the number of records in which the value occurs, and the ISNs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of those records.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To increase search efficiency, Upper Index (UI) levels are automatically created by ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;as required, each level to manage the next lower level index. The first level UI, like the NI it&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;manages, contains entries for only one descriptor in each index block. All other UI levels contain&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;entries for all descriptors in each index block. UIs require a minimal amount of space: two&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;blocks is the minimum.&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS Direct Access Method (ADAM) facility permits the retrieval of records directly&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;from Data Storage without accessing the inverted lists. The Data Storage block number in&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;which a record is located is calculated using a randomizing algorithm based on the ADAM key&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the record. The use of ADAM is completely transparent to application programs and query&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and report writer facilities. See page 42 for more information.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;18&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–4 shows a typical Normal Index for the descriptor “city” in a customer file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;"&gt;Value Count ISNs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;London 27 3 . . .&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;New York&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Zurich 31 2 6 23 76 &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;. . .&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;61 96 . . .&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;"&gt;. . .&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–4: A Normal Index&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The example indicates that there are 31 records with the “city” Zurich (the ISNs of these records&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;are 2,6,23,76...).&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Address Converter&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Address Converter determines the physical location of a record. It is an index that maps the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;logical identifier of a record (that is, the ISN) to the relative ADABAS block number (RABN)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the Data Storage block where the record is stored.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Address Converter contains a list of RABNs in ISN order. Only the RABNs are actually&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;stored in the Address Converter; the ISNs are identified by their relative position.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;19&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–5 shows the relationship between an inverted list, the Address Converter, and Data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage. For example, to determine the physical location of the record whose ISN is 6, ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;uses the ISN as an index into the Address Converter. The sixth entry in the Address Converter&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is 2. Therefore, ISN 6 is located in physical block 2 in Data Storage for this file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;123&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;45&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;678&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Inverted List for CITY&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;London 27 3 ...&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;New York&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Zurich 31 2 6 23 76 ...&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;61 96 ...&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;"&gt;. . .&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;3&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;6&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;96&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;14&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;12758 ABC–COMP London&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;12600 JEL–COMP Zurich&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;14811 XYZ–COMP London&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;11643 R–COMP&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;14542 S–COMP New York&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;10002 B–COMP Munich&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;...&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;...&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Block 1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Block 2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Block 3&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Converter&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;"&gt;Data Storage&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;111&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;12&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;12&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2...&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Zurich&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;"&gt;Associator&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–5: ADABAS Access Technique&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;When a record moves or is deleted, ADABAS updates the Address Converter automatically and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transparently.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Since the ISN for a record never changes, and its physical block address is stored only in the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address Converter entry, the record itself may be moved in Data Storage with only one update&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to the Address Converter required and with no extension to the access path of the record.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Even if a record has many descriptors defined, the inverted list for each descriptor need not be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;modified because it contains ISNs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;This process explains how ADABAS is able to perform simple and complex searches quickly&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and efficiently without storing pointer information in Data Storage.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;20&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Work&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Work area stores information in three parts:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Part 1 stores data protection information required by the routines for Autorestart and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Autobackout. See page 47 for more information.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Part 2 stores intermediate results (ISN lists) of search commands.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Part 3 stores final results (ISN lists) of search commands.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Other Components&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Sort and Temp Areas&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Certain ADABAS utilities (ADAINV, ADALOD) require two additional datasets, Sort and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Temp, for sorting and intermediate storage of data. Certain functions of the ADAORD utility&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;require the Temp dataset for intermediate storage.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The sizes of Temp and Sort vary according to the utility function to be executed. These datasets&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;can be allocated during the job and then released, or permanent datasets can be allocated and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;reused.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Logs&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS uses the following optional logs:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The “command log” (CLOG) records information from the control block of each ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;command that is issued. The CLOG provides an audit trail and can be used for debugging and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;for monitoring the use of resources. Single or dual datasets can be used (dual datasets are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;recommended&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The “protection log” (PLOG) records before- and after-images of records and other elements&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;when changes are made to the database. It is used to recover the database (up to the last&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;completed transaction or “ET”) after restart. Single or dual datasets can be used (dual datasets&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;are recommended&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The “recovery log” (RLOG) records additional information that the ADABAS Recovery Aid&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;uses to construct a recovery job stream. Dual datasets are required for recovery logging. See the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADARAI utility discussion on page 53 for more information.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;21&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Database Files&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Each database contains system files and data files. A data file is generally created for each record&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;structure required; that is, for each set of related fields identified.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Files are loaded into the database using the ADALOD utility. A file number must be unique in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the database and not greater than the maximum file number defined for the database in the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;MAXFILES parameter. For a Checkpoint, Security, system file, or physically coupled file, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;number cannot be greater than 255; other files including a trigger file can have two-byte file&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;numbers. File numbers are assigned by the user in any sequence.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;System Files&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADALOD utility’s file type parameter identifies the file as one of the following ADABAS&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;system &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;files:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CHECKPOINT ADABAS Checkpoint file&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SECURITY ADABAS Security file&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SYSFILE ADABAS system file (a file that cannot be deleted)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TRIGGER ADABAS trigger file&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Coupled Files&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;File coupling allows you to select, using a single search command, records from one file that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;are related (coupled) to records containing specified values in a second file.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Physical Coupling&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Any two files with file numbers 255 or lower may be physically coupled if a common&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“descriptor” (see page 28) with identical format and length definitions is present in both files.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A single file may be coupled with up to 18 other files, but only one coupling relationship may&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exist between any two files at any one time. A file may not be coupled to itself.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;When files are coupled, coupling lists are created in the Associator for each file being coupled.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;File coupling is bidirectional rather than hierarchical in that two coupling lists are created for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;each coupling relationship with each list containing the ISNs that are coupled to the other file.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;22&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Once the physical coupling lists have been created, any key field in either file may be used&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;within a search criteria.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Physical coupling may add a considerable amount of overhead if the files involved are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;frequently updated. The coupling lists must be updated if a record in either of the files is added&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or deleted, or if the descriptor used as the basis for the coupling is updated in either file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Physical coupling may be useful for information retrieval systems in which&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;files seldom change;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the additional overhead of the coupling lists is insignificant compared with the increased ease&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of formulating queries; or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;files are small and primarily query-oriented.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Logical or “Soft” Coupling&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Multiple files may also be queried by specifying the field to be used for interfile linkage in the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;search criteria. ADABAS then performs all necessary search, read, and internal list matching&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operations.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;This technique is called logical or “soft” coupling because it does not require the files to be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;physically coupled. Although logical coupling requires read commands, it is normally more&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;efficient because it avoids the increased overhead of coupling lists.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Structuring Files to Enhance Performance&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;An ADABAS database with one file for each record type supports any application functions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;required of it and is the easiest to manipulate for interactive queries, but it may not yield the best&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;performance:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;As the number of ADABAS files increases, the number of ADABAS calls increases. Each&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS call requires interpretation, validation and, in multiuser mode, supervisor call (SVC)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and queuing overhead.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In addition to the input/output (I/O) operations necessary for accessing at least one index,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Address Converter, and Data Storage block from each file, the “one file per record type”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;structure requires buffer pool space. If sufficient buffer space is not available, blocks are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;overwritten that may be needed for a later request.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;23&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The number of ADABAS files used by critical programs can be reduced by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;using multiple-value fields and periodic groups (see page 26);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;linking physical files into a single logical (expanded) file;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;including more than one type of record in an ADABAS file;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;including records for more than one category of user in an ADABAS (multiclient) file; and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;controlling data duplication and the resulting high resource usage.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Expanded Files&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If you have a large number of records of a single type, you may need to spread the records over&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;multiple physical files.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To reduce the number of files accessed, ADABAS allows you to link multiple physical files&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;containing records of the same format together as a single logical file. This file structure is called&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an “expanded file” and the physical files comprising it are the “component files”. An expanded&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;file can comprise up to 128 component files, each with a unique range of logical ISNs. An&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;expanded file cannot exceed 4,294,967,294 records.&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Since ADABAS version 6 supports larger file sizes and a greater number of ADABAS physical&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;files and databases, the need for expanded files has, in most cases, been removed.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Although an application program addresses the logical file (the address of the file is the number&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the expanded file’s base component or “anchor” file), ADABAS selects the correct&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;component file based on the data in a field defined as the “criterion” field. The data in this field&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;has characteristics unique to records in only one component file. When an application updates&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the expanded file, ADABAS looks at the data in the criterion field in the record to be written&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to determine which component file to update. When reading expanded file data, ADABAS uses&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the logical ISN as the key to finding the correct component file.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Multiple Record Types in One File&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Multiple record types can be defined within a single physical record; each record type is a logical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;record composed of a subset of the fields defined for the file. Fields that do not belong to a given&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;type are null-suppressed.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;24&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Record types can be identified to ADABAS by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;defining a record type field with values to differentiate one type from another; or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;using values of an existing field to differentiate type; for example, to differentiate two types,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a value of zero for a field common to both types might identify one type and any non-zero value&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;for the same field might identify the other type.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Multiclient Files&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Records for multiple users or groups of users can be stored in a single ADABAS physical file&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;defined as “multiclient”. The multiclient feature divides the physical file into multiple logical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;files by attaching an internal owner ID to each record.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The owner ID is assigned to a user ID. A user ID can have only one owner ID, but an owner ID&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;can belong to more than one user. Each user can access only the subset of records that is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;associated with the user’s owner ID.&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For any installed external security package such as RACF or CA-TOP SECRET, a user is still&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;identified by either NATURAL ETID or LOGON ID.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;All database requests to multiclient files are handled by the ADABAS nucleus.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Controlled Data Redundancy&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Physical” redundancy increases storage requirements but may also enhance performance and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;decrease complexity. For example, if a database stores customer and order information in a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Customer-Orders file and product descriptions in an Inventory file, and a program that generates&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;invoices requires product descriptions in addition to customer-order data, it might enhance&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;performance to store a duplicate copy of the product descriptions in the Customer-Orders file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Logical” redundancy also increases storage demands while decreasing complexity. It involves&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;storing in one file the results of a process on data in another file; thus, the duplicate data is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;implied by the content of another file, rather than being physically stored in two places.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Physical and logical redundancy cause update programs to run more slowly. The duplicate&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;updates required when changes in one file affect records in another file may degrade&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;performance severely. Redundancy should be used only for static data or data that is updated&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;rarely. You can control data redundancy by using multiple-value fields, periodic groups, and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;multiple record types within a file.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;25&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Records and Field Definitions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In ADABAS, the record structure and the content of each field in a physical file are described&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in a Field Definition Table or “FDT”, which is stored in the Associator. There is one FDT for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;each database file. The FDT is used by ADABAS during the execution of ADABAS commands&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to determine the logical structure and characteristics of any given field (or group) in the file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The FDT lists the fields of the file in physical record order; provides a “quick index” to the file’s&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;records; and defines the file’s fields, sub/superfields, and sub-/super-/hyper- and phonetic&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptors. A minimum of one and a maximum of 926 field definitions may be specified.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Information about each field includes the level, name, length, format, options, and special field&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and descriptor attributes.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;FIELD DESCRIPTION TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;LEVEL I NAME I LENGTH I FORMAT I OPTIONS I PARENT OF&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;––––––I––––––I––––––––I––––––––I––––––––––––––I––––––––––––––––––––––––––––I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AA I 8 I A I DE,UQ I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AB I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AC I 20 I A I NU I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AE I 20 I A I DE I SUPERDE,PHONDE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AD I 20 I A I NU I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AF I 1 I A I FI I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AG I 1 I A I FI I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AH I 6 I U I DE I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I A2 I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AO I 6 I A I DE I SUBDE,SUPERDE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I AQ I I I PE I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AR I 3 I A I NU I SUPERDE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AS I 5 I P I NU I SUPERDE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;1 I A3 I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AU I 2 I U I I SUPERDE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 I AV I 2 I U I NU I SUPERDE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–6: Field Definition Table&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;26&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Record Structure&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The order of the fields listed in the FDT determines the structure of the record and the efficiency&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of retrieval. The following factors should be considered when ordering fields:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fields that will be accessed frequently should be ordered first in the FDT. This technique reduces&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CPU time because ADABAS does not have to read the whole record when retrieving a field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fields that will frequently be accessed together should be assigned to a “group” field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fields that will &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;always &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;be accessed together should be defined as a single field. This technique&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;may inhibit compression and query language use; however, it decreases processing time by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;providing more efficient internal processing and shorter Format Buffers.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If appropriate, fields that will frequently be empty should be ordered together in the FDT and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;set to use default compression or null suppression.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Numeric fields should be loaded in the format in which they will be used most often.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Field Levels&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;When two or more consecutive fields in the FDT are frequently accessed together, you can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;reference them together by defining a group field. Other than its level and ADABAS short name,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a group field has no attributes defined. It immediately precedes its member fields in the FDT.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A higher field “level” number is used to assign the member fields to the group field. ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;supports up to seven field levels. User programs can access each member field individually, or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;all member fields together by referencing the group field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For example, in Figure 2–6 on page 25, field AB is defined as a group field and assigned to level&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;1. Fields AC, AE, and AD are assigned to level 2, indicating that they belong to group field AB.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The next field, AF, is assigned to level 1, indicating that it is not part of the AB group. User&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;programs can access AC, AE, and AD individually, or together by referencing the group field&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AB.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A group field can be assigned as a “periodic” group field if it is comprised of fields that can have&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;more than one value (for example, group field AQ in Figure 2–6); see page 30.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;27&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Field Names&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A field is identified to ADABAS by a two-character ADABAS “short” name that must begin&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;with an alphabetic character and can be followed by a numeral or letter (the combinations&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;E0–E9 are reserved and special characters are not allowed) and must be unique within a file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS assigns short names to fields automatically, although you can choose to assign them&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;yourself. ADABAS uses the short names internally and actually accesses fields by their short&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;names.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Field Length and Data Format&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Field values are fixed or variable in length and can be in alphanumeric, binary, fixed-point,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;floating-point, or packed/unpacked decimal formats.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The length (expressed in bytes) and format (expressed as a one-character code) of a field define&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the standards (defaults) to be used by ADABAS during command processing. They are used&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;when the field is read/updated unless the user specifies an override.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If standard length is zero for a field, the field is assumed to be a variable-length field. Standard&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;format must be specified for a field. The format specified determines the type of default&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;compression to be performed on the field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The maximum field lengths that may be specified depend on the “format” value:&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Format Format Description Maximum Length&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A Alphanumeric (left-justified) : see also the long&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;alphanumeric (LA) option on page 29&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;253 bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;B Binary (right-justified, unsigned/positive) 126 bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;F Fixed Point (right-justified, signed, positive value in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;normal form; negative value in two’s complement form)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;4 bytes (always&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exactly 2 or 4 bytes)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;G Floating Point (normalized form, signed) 8 bytes (always&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exactly 4 or 8 bytes)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;P Packed Decimal (right-justified, signed) 15 bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;U Unpacked Decimal (right-justified, signed) 29 bytes&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;28&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Field Options&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Options are specified using two-character codes, which may be specified in any order, separated&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;by a comma.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Code Option&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;DE Field is to be a descriptor (key).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UQ Field is to be a unique descriptor; that is, for each record in the file, the descriptor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;must have a different value.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;FI Field is to have a fixed storage length; values are stored without an internal length&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;byte, are not compressed, and cannot be longer than the defined field length.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;LA An alphanumeric, variable-length field may contain a value up to 16,381 bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;long.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NU Null values occurring in the field are to be suppressed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;MU Field may contain up to 191 values in a single record.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PE Group field with member fields that have multiple (up to 191) occurrences in a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;given record.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NC Field may contain a null value that satisfies the SQL interpretation of a field&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;having no value; that is, the field’s value is not defined (not counted).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NN Field defined with NC option must always have a value defined; it cannot contain&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an SQL null (not null).&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Descriptor Options DE and UQ&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “descriptor” is a search key. The DE option indicates that the field is to be a descriptor. The&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UQ option can only be specified if DE is also specified; it indicates that the DE field is to have&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a different (i.e., unique) value for each record in the file. Entries are made in the Associator’s&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;inverted list for DE fields, adding disk space and processing overhead requirements.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Any field can be used within a selection criterion. When a field that is used extensively as a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;search criterion is defined as a descriptor (key), the selection process is considerably faster since&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS is able to access the descriptor’s values directly from the inverted list without reading&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;any records from Data Storage.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A descriptor field can be used as a sort key in a search command, as a way of controlling a logical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;sequential read process (ascending or descending values), or as the basis for file coupling.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;29&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Any field and any number of fields in a file can be defined as descriptors. When a multiple-value&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;field or a field in a periodic group is defined as a descriptor, multiple key values are generated&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;for the record. Key searches may be limited to particular occurrences of a periodic group.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Because the inverted list requires disk space and update overhead, the descriptor option should&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;be used judiciously, particularly if the file is large and the field that is being considered as a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor is updated frequently. For instance, the inverted list for a periodic group used as a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor may be very large because each occurrence is stored.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A descriptor may be defined at the time a file is created, or later by using an ADABAS utility.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Because the definition of a descriptor is independent of and has no effect on the record structure,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptors may be created or deleted at any time without the need for database restructuring&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or reorganization.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A portion of a field may be defined as a “subdescriptor”; combinations of fields or portions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;thereof may be defined as a “superdescriptor”; a user-supplied algorithm may be the basis of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a “hyperdescriptor”; and a “sounds-like” encoding algorithm may be the basis of a “phonetic&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;descriptor”, which may be customized for specific language requirements. See page 31 for more&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;information.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Data Compression Options FI and NU&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Default data compression is described on page 16. At the field level, additional compession can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;be specified (null suppression option) or all compression can be disabled (fixed storage option).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Null suppression” (NU) differs from default compression in that searches on descriptor fields&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;defined with null suppression do &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;not &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;return records in which the descriptor field is empty.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fields defined as “fixed format” (FI) do not include a length byte and are not compressed. This&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;option actually saves storage space for one-byte fields or fields that are nearly always full (e.g.,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a field containing the social security number).&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Long Alpha Option LA&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The long alphanumeric (LA) option can only be specified for variable-length alphanumeric&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;fields; i.e., “A”-format fields having a length of zero. With the LA option, such an alphanumeric&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;field can contain a value up to 16,381 bytes long.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;An alpha field with the LA option is compressed in the same way as an alpha field without the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;option. The maximum length that a field with LA option can actually have is restricted by the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;block size where the compressed record is stored.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;30&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;MU and PE Options and Field Types&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS supports two basic field types: elementary fields and multiple-value fields. An&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“elementary” field has only one value per record. A “multiple-value” (MU) field can have up&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to 191 values, or occurrences, in a single record. Each multiple-value field has a “binary&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;occurrence counter” (BOC) that stores the number of occurrences.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “periodic” (PE) group field defines consecutive fields in the FDT that repeat together in a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;record. Like the members of a non-periodic group field, PE members immediately follow the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PE group field, have a higher level number than the PE field, and can be accessed both&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;individually and as a group. Each PE has a BOC that stores the number of occurrences.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A periodic group may be repeated up to 191 times per record and may contain one or more&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;multiple-value fields. Occurrences or values that are not used require no storage space.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS thus supports four field types:&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Single Value per Record Multiple Values per Record&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Single Field &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Elementary MU&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Multiple Fields &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Group PE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–7 illustrates the four field types in a single record structure.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Laura&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;FIRST&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;NAME&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Cagnetti 3 1 118 Glade Erie 16509&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;LAST&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;NAME STREET CITY ZIP&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;ELEMENTARY&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;FIELD&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;GROUP FIELD&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;(NAME)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;PERIODIC GROUP&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;(ADDRESS)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;MULTIPLE VALUE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;FIELD&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;CUSTOMER&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;NUMBER&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;19811&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;PE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;BOC&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;MU&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;BOC&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;PA&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;STATE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;271 Larue Cincinnati OH 45211&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;P.O. Box 88&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;2 733 Hall Easton PA 19014&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;P.O. Box 7&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–7: The ADABAS Field Types&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;31&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A PE cannot be nested within another PE. Nesting an MU within a PE, as shown in Figure 2–7,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is permitted but complicates programming by introducing a two-dimensional array. It also has&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;implications for data access: when ADABAS accesses the periodic group, it returns only the first&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;occurrence of the MU for each occurrence of the PE returned.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The unique characteristic of the periodic group and the reason for choosing the periodic group&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;structure is its ability to maintain the order of occurrences. If a periodic group originally contains&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;three occurrences and the first or second occurrence is later deleted, those occurrences are set&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to nulls; the third occurrence remains in the third position. This contrasts with the way leading&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;null entries are handled in multiple-value fields. The individual values in a multiple-value field&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;do not retain positional integrity if one of the values is removed.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;SQL Compatibility Options NC and NN&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Because Software AG’s mainframe ADABAS SQL Server (ESQ) and other Structured Query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Language (SQL) database query languages require SQL-compatible null representation, special&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;data definition options are included in ADABAS.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A field designated with the NC (not counted) option may contain a null value that satisfies the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SQL interpretation of a field having no value. An NC field containing a null means that &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;no field&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;value has been entered&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;; that is, the field’s value is not defined.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;This undefined state differs from a null value assigned to a non-NC field for which no value has&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;been specified: a non-NC field’s null means the value in the field is either zero or blank,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;depending on the field’s format.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The NN (not null) option can be specified only for NC-defined fields. It indicates that an NC&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;field must always have a value defined; it cannot contain an SQL null. This ensures that the field&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;cannot be left undefined when a record is either created or updated. The field value may be zero&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or blank, however.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Special Field and Descriptor Attributes&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Parent Of&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The FDT indicates whether a field is a “parent” field for a sub/superfield, sub/superdescriptor,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;hyperdescriptor, or phonetic descriptor as described in the following section.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;32&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Special Descriptors&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Information about any special fields and descriptors (subdescriptors, subfields,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;superdescriptors, superfields, phonetic descriptors, and hyperdescriptors) in the file is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;maintained in the Special Descriptor Table or “SDT” part of the FDT.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;SPECIAL DESCRIPTOR TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;TYPE I NAME I LENGTH I FORMAT I OPTIONS I STRUCTURE I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;–––––––I––––––I––––––––I––––––––I––––––––––––––––––––––I––––––––––––––––I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;SUPER I H1 I 4 I B I DE,NU I AU ( 1 – 2) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I AV ( 1 – 2) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;SUB I S1 I 4 I A I DE I AO ( 1 – 4) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;SUPER I S2 I 26 I A I DE I AO ( 1 – 6) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I AE ( 1 – 20) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;SUPER I S3 I 12 I A I DE,NU,PE I AR ( 1 – 3) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I AS ( 1 – 9) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;PHON I PH I I I I PH = PHON(AE) I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;I I I I I I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 2–8: Special Descriptor Table&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Along with the name, length, format, and specified options of each special field and descriptor,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;this table provides the following information:&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Column Explanation&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TYPE SUB Subfield/subdescriptor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SUPER Superfield/superdescriptor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PHON Phonetic descriptor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;HYPER Hyperdescriptor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;STRUCTURE The component fields and field bytes of the sub-, super-, or hyperdescriptor.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Phonetic fields show the equivalent alphanumeric elementary fields.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;33&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Subfield / Superfield&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A portion of a field (“subfield”) or any combination of fields (“superfield”) may be defined as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an elementary field (see page 30). Subfields and superfields may be used for read operations&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;only. They may only be changed by updating the original fields.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Subdescriptor&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “subdescriptor” is part of a single field used as a descriptor. The field from which the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;subdescriptor is derived may or may not be an elementary descriptor (see page 28). If a search&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;criteria involves a range of values contained in the first “n” bytes of an alphanumeric field or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the last “n” bytes of a numeric field, a subdescriptor may be defined using only the relevant bytes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the field. A subdescriptor allows you to increase the efficiency of a search by specifying a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;single value rather than a range of values.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For example, if the first two bytes of a five-byte field refer to a geographical region and you want&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to retrieve all records for region 11 without using a subdescriptor, you would have to search for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;all records in the range 11000–11999. If you define a subdescriptor comprising the first two&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;bytes of the field, you could search for all records with 11 in the subdescriptor.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Superdescriptor&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “superdescriptor” combines all or parts of 2–20 fields. The fields from which the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;superdescriptor is derived may or may not be elementary descriptors. When search criteria&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;involve values for a combination of fields, using a superdescriptor is more efficient than using&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a combination of several elementary descriptors.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For example, to search for customers by last name within regions, you could create a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;superdescriptor by combining the first two bytes (i.e., the geographical region indicator) of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;five-byte customer number field and the entire customer last name field.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Phonetic Descriptor&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “phonetic” descriptor may be defined and used to search for all records that contain similar&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;phonetic values. The phonetic value of a descriptor is determined by an internal algorithm based&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;on the first 20 bytes of the field value with only alphabetic values being considered (numeric&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;values, special characters and blanks are ignored).&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;34&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Hyperdescriptor&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The hyperdescriptor option can be used to generate descriptor values based on a user-supplied&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;algorithm. Up to 31 different hyperdescriptors can be defined for a single physical ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;database. Each hyperdescriptor must be named by an appropriate HEXnn ADARUN statement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;parameter in the job where it is used.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;With hyperdescriptors, “fuzzy” matching is possible; i.e., retrieving data based on &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;similar&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;rather than on &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;exact &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;search criteria. Hyperdescriptors allow multiple virtual indexes, meaning&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;that several different search index entries can be made for a single data field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Hyperdescriptors can be used to implement “n”-component superdescriptors, derived keys, or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;other key constructs. Using hyperdescriptors, it is possible to develop applications that are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;simpler and more flexible than applications based on a strictly normalized relational structure.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;One application area for hyperdescriptors is name processing. For example, the name&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SCHROEDER could be stored not only with the index SCHROEDER itself, but also with the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“virtual” indexes SCHRODER, SCHRADER, SCHRÖDER or any other variation of the name.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thus, although only the name SCHROEDER is physically stored in the data area of the database,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;multiple search indexes exist to the data. If, subsequently, a search is made for the name&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SCHRODER, the record SCHROEDER will be found.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A more sophisticated application area for hyperdescriptors is fingerprint matching, in which&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;typical characteristics of fingerprints can form the basis of a fuzzy matching algorithm; i.e., the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;original fingerprint is stored in the database, but any number of search indexes can be made to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the fingerprint, based on an algorithm that allows small-scale deviations from the original.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29987435-115080762903195750?l=natural-adabas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://natural-adabas.blogspot.com/feeds/115080762903195750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29987435&amp;postID=115080762903195750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115080762903195750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115080762903195750'/><link rel='alternate' type='text/html' href='http://natural-adabas.blogspot.com/2006/06/design-of-adabas.html' title='Design of Adabas'/><author><name>Mr. Amit Auti</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29987435.post-115080754643060556</id><published>2006-06-20T05:45:00.000-07:00</published><updated>2006-06-20T05:45:46.436-07:00</updated><title type='text'>Introduction of Adabas</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;ADABAS IS . . .&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS, the ADAptable DataBASe, is a high-performance, multithreaded, database&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;management system for mainframe platforms where database performance is a critical factor.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;It is interoperable, scalable, and portable across multiple, heterogeneous platforms including&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;mainframe, midrange, and PC.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Operational Highlights&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;High Availability&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS is designed for operation 7 days a week and 24 hours a day. Space is managed&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;dynamically (see page 14), files can be loaded and unloaded, backed up and restored, and system&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;performance can be analyzed without interrupting the active database.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Storage Space Optimization&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS stores data in compressed form to reduce space requirements. Since modern&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;databases can be measured in gigabytes (1000 megabytes) or even terabytes (1000 gigabytes),&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the savings in disk space can be considerable. Reduced space requirements also mean that the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;input/output (I/O) system is more efficient.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Performance&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Performance is the key factor of ADABAS, which includes a number of features to enhance it.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For instance, a number of set-up parameters are available for fine-tuning the database operating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;environment, and many of these can be modified while the database is active.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Fault Tolerance&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS recovers automatically after an abnormal database or system termination. Each time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;an ADABAS database is started, an automatic check is initiated to determine whether the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;database previously terminated “cleanly” or an active transaction was interrupted. If a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transaction was interrupted, ADABAS automatically resets all changes of the uncompleted&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transaction so that the database is consistent.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Operating Environment&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS 6.2 for mainframes supports the following operating environments:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SNI’s BS2000&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;IBM’s OS/390, MVS/ESA, VSE/ESA, and VM/ESA&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fujitsu’s OS IV/F4 MSP&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Software Pursuits’ MVT/VSE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Mainframe ADABAS can be used in distributed environments with ADABAS on&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Digital’s VAX and Alpha AXP under OpenVMS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;IBM’s AS/400 under OS/400&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Wang under VS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;IBM’s PC and compatibles under OS/2 or Windows/NT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a variety of supported UNIX platforms&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;As the telecommunication interface, mainframe ADABAS supports TP monitors such as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Software AG’s COM-PLETE; or the popular TSO, CICS, IMS/DC, AITM/DC, TIAM, UTM,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;or SHADOW.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Software AG’s multisystem processing tool ENTIRE NET–WORK provides the benefits of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;distributed processing and (with ADABAS STAR) database distribution by allowing you to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;communicate across a network with ADABAS and other service tasks.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Support for network access methods is implemented in the form of line drivers. Mainframe&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ENTIRE NET–WORK provides drivers for VTAM, IUCV, DCAM, CTCA (channel-to-channel&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;adapter), TCP/IP, and XCF.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Is . . . &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;5&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Supported Data Models&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS is a “relational-like” database. It is similar to relational databases in that it stores&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;information in tables in which rows represent individual data &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;records &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and columns represent&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;fields&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;. As in relational databases, separate ADABAS files can be linked logically by a common&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;field.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS differs from true relational databases in that it&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;stores many data relationships physically, resulting in fewer demands on CPU resources than&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;true relational databases, which create all relationships logically at runtime.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;supports repeating groups of fields.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS separates data relationships, management, and retrieval from the actual physical data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and stores the physical data independently. It provides flexible access techniques and performs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;both simple and complex searches quickly and efficiently. The independence of the data from&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the program minimizes the need to reprogram when the database structure changes.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Logical data relationships can be created as needed. ADABAS can accommodate any&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;representational and access requirements dictated by the user environment. Each individual&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;corporate user can decide how to view data in the system, and can alter data relationships&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;dynamically—without altering the database or existing programs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;In contrast to systems that require a single model for all data, ADABAS allows you to choose&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;any structure your application requires. You can access the same data using your choice of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;data-model perspective:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;relational including nested relational (tables within tables)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;entity relationship, with proven ability to support structural objects&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;hierarchical; network&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;geographical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;text&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Support for an object-oriented data model is currently being developed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;These data models can be combined within a single business solution; multiple solutions can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;view ADABAS data using different data models.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;6&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;As new requirements develop, ADABAS evolves in both scope and complexity without&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;redesign of the database or reprogramming of application systems. For example, field and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;access keys may be added to an ADABAS file at any time without reloading or reorganizing&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;the file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Operating Structure&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 1-1 shows the operating structure of the ADABAS system.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Program&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Nucleus&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I/O Buffer&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work Area&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Associator&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Storage&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CPU Memory Disk File&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Threads&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Utility&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TP Monitor&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 1-1: The ADABAS System&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Nucleus, I/O Buffer, and Threads&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS nucleus and input/output (I/O) buffer are loaded into main memory at startup.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The “nucleus” is a set of programs that drive ADABAS, coordinate all work, and translate user&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;program statements into ADABAS commands. All programs access ADABAS files through the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nucleus. All database activities such as data access and update are managed by the ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nucleus. In most cases, a single nucleus is used to manage a single physical database.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Is . . . &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;7&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For information about running multiple nuclei against a single physical database under a single&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operating system image (ADASMP), see page 82; or under multiple MVS/ESA images&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(ADAPLEX+), see page 84.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS “I/O” buffer area, which can be resized for each ADABAS session, contains the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;most frequently used data and data relationships; it helps to minimize physical input/output&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(I/O) activity and thus saves computer time. It contains blocks read from the database and blocks&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to be written to the database:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:PSOsymclas;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For blocks read from the database, a “buffer algorithm” ensures that the most frequently&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;accessed blocks stay in memory. When a block from the database is needed, the buffer content&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is checked to determine if the block is already in memory, thus avoiding unnecessary reads.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Multiple updates are accumulated in a block before being written (“flushed”) to external&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;storage.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS provides multithreaded processing to maximize throughput. If I/O activity suspends&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;command processing in an active thread, ADABAS automatically switches to another thread.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The user may set the number of 8-kilobyte threads to be used for an ADABAS session up to a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;maximum of 250.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Buffer&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thread1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thread2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thread3&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;..&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Threadn&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Associator&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Storage&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 1-2: ADABAS Multithread Processing&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;8&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Data Storage, Associator, and Work&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Data Storage, Associator, and Work components are physical disk areas. Data Storage&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;contains raw data, generally in compressed form. The Associator contains information about&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;data relationships. The Work area contains the data protection area and temporary storage for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;intermediate results in complex search operations. See the chapter &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Design &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;starting&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;on page 13 for more information about these database components.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Utilities, User Programs, and TP Monitors&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Utilities&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database services such as loading or deleting files are handled by an integrated set of online and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;batch-mode “utility” programs. Most utilities can be run in parallel with normal database&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;activity to preclude interruption of daily production.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS utilities provide initial design and load operations, backup/restore/recovery routines,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;database modification routines, and audit/control/tuning procedures. See the &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Utilities &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;chapter&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;starting on page 49 for a brief explanation of each utility.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;User Programs&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The nucleus is called using a batch or online “user program” written in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NATURAL, Software AG’s fourth-generation application development environment, or some&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;other fourth-generation language; or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Assembler, or a third-generation programming language such as FORTRAN, COBOL, or PL/I&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(the REXX/VSE interpreter language is also supported) that uses the powerful and flexible&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS direct call interface. Each ADABAS call is accompanied by a parameter list&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;identifying buffers defined in the user program that are used to transfer information to and from&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS.&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note:&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;See page 100 for information about ADABAS Native SQL, a precompiler for Ada, COBOL,&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;FORTRAN, and PL/I programs; and page 101 for information about ADABAS SQL Server, an&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SQL interface to ADABAS.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Data from VSAM, DL/I, IMS/DB, SESAM, or TOTAL database structures can be transferred&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to and stored in ADABAS using ADABAS “bridge” products. The original, unmodified&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;programs continue operating with their original data access commands while the bridge&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;products intercept the data access commands and translate them to ADABAS direct calls. See&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;page 88 for more information about ADABAS bridges.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Is . . . &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;9&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Special User Programs: Triggers and Stored Procedures&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS triggers and stored procedures facility, an integral part of ADABAS, can be used&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;with NATURAL (see page 102) and ADABAS ONLINE SYSTEM (see page 71) to write and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;manage triggers and stored procedures in the ADABAS server environment. “Triggers” are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;systematically used programs that are started automatically based on an event; they can be used&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to ensure referential integrity, for instance. “Stored procedures” are programs used by a number&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of different clients that are executed by ADABAS as a result of a special user call. Storing these&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;programs in an ADABAS file on the server reduces the amount of data traffic to and from the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;server. See page 43 for more information about ADABAS triggers and stored procedures.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;TP Monitors, Adalinks, and the ADABAS API&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Since most systems do not allow a standard call to ADABAS, Software AG provides an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;application program interface (API) to translate calls issued by an application program into a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;form that can be handled by ADABAS. The ADABAS API is available across all supported&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;mainframe platforms for both batch and online operations.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Online operations are controlled by teleprocessing (TP) monitors, which serve as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;telecommunication interfaces to ADABAS. Supported TP monitors are listed on page 4.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Software AG provides versions of the ADABAS API that are specific to particular TP monitors.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Adalink” is a generic term that refers to the portion of the API that is specific to a particular&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TP monitor.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Batch applications are supported in both single-user and multiuser mode (see page 11 for a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;discussion of these modes). The ADABAS batch API uses a standard calling convention that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is supported by all major programming languages through their CALL mechanisms. Most&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;mainframe operating systems allow batch application modules to be linked either with the batch&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;API or with ADAUSER.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Software AG strongly recommends linking batch application programs with the ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;version-independent module ADAUSER. The ADAUSER module can optionally be linked&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;with the ADABAS API. ADAUSER provides upward compatibility with ADABAS releases&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and a degree of isolation from future changes to the API or to mechanisms that handle&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;interregion communication between the user and the nucleus (see page 12).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A client running under OpenEdition MVS can access ADABAS version 6.2. An OpenEdition&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;application containing calls to ADABAS can be linked with either the batch API or ADAUSER.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;10&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;Executing ADABAS&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Session Types&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Three types of sessions can be identified for ADABAS:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The “ADABAS session” starts when the nucleus is invoked and ends when the nucleus is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;terminated. An ADABAS nucleus is invoked using job control specific to a particular operating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;system that contains ADABAS start-up or “ADARUN” parameters.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “user” is either a batch mode program or a person using a terminal. A “user session” can occur&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;only during an ADABAS session; that is, when the ADABAS nucleus is active. A user session&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is a sequence of ADABAS calls optionally starting with an open user session (OP) command&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;and ending with a close user session (CL) command.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A “utility session” is executed in batch, or online using the ADABAS ONLINE SYSTEM. Some&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;utilities require that the ADABAS nucleus be active; others do not. ADARUN start-up&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;parameters are also used for executing utilities.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Storage Areas&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADABAS nucleus and each user program or ADABAS utility is executed in a separate&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;storage area defined by the operating system. The name of the storage area depends on the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operating system:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BS2000 task&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;MVS address space, data space, Hiperspace&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;VM virtual machine&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;VSE partition, address space, data space&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For consistency and simplification, ADABAS manuals refers to all non-VM areas (task, address&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;space, partition, etc.) as “regions”. VM areas are called “virtual machines”&lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;.&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Is . . . &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;11&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Modes of Operation&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS supports two modes of operation: single-user and multiuser.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Single-user mode is in effect when a user program (or ADABAS utility) is executed in the same&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;partition/region as the ADABAS nucleus.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Buffer&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thread1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User Program&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;(or ADABAS utility)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Region /&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Partition&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Associator&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Storage&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 1-3: Single-User Mode&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Multiuser mode is in effect when the ADABAS nucleus is located in a separate partition/region.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;It is the most efficient and therefore the recommended mode of operation.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Buffer&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thread1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Thread2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;.&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Threadn&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User Program 1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User Program 2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Utility&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User Program 3&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Associator&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;Storage&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Figure 1-4: Multiuser Mode&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS Concepts and Facilities &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:180%;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;12&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;When using ADABAS in multiuser mode, interregion communication is handled by ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;in a manner that takes optimum advantage of the communications facilities offered by the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;various operating systems.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For single-user mode, the appropriate ADABAS nucleus JCL must be included with the job&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;control for the utility or user program.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;ADARUN Start-up Parameters&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADARUN control statement defines and starts the ADABAS operating environment. The&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADARUN control statement also starts ADABAS utilities. ADARUN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;loads the ADAIOR module, which performs all database I/O and other&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;operating-system-dependent functions;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;interprets the ADARUN parameter statements; then loads and modifies the appropriate&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS nucleus or utility modules according to the ADARUN parameter settings; and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;transfers control to ADABAS.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADARUN statement, normally a series of entries each specifying one or more ADARUN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;parameter settings, is specified in the DDCARD (MVS/ESA, VM/ESA, or BS2000) or VSE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CARD dataset.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Session Control&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS provides several ways to monitor and control ADABAS, user, and utility sessions:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS “operator commands” can be entered from the operator console during an ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;session or during utility operation.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The ADADBS OPERCOM utility function can issue operator commands to the ADABAS&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nucleus. ADABAS then issues a message to the operator confirming the command execution.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;􀀀 &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;For those using ADABAS ONLINE SYSTEM, functions corresponding to operator commands&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;can be executed while an ADABAS session is active using menu options or direct commands.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Operator commands can be used to terminate an ADABAS or user session; display nucleus or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;utility information; log commands; and change ADABAS operating parameters or conditions.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ADABAS “direct call commands” can also be used to open and close a user session. See page&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;35 for more information about direct call commands.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;a&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29987435-115080754643060556?l=natural-adabas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://natural-adabas.blogspot.com/feeds/115080754643060556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29987435&amp;postID=115080754643060556' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115080754643060556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29987435/posts/default/115080754643060556'/><link rel='alternate' type='text/html' href='http://natural-adabas.blogspot.com/2006/06/introduction-of-adabas.html' title='Introduction of Adabas'/><author><name>Mr. Amit Auti</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
