Considerations For Preparing IPSB Compiler Input

Input to the IPSB Compiler
idms
 
Input to the IPSB Compiler
 
Input to the IPSB compiler consists of source statements that define the correspondences between the DL/I database referenced by the application and the CA IDMS/DB database accessed by the run-time interface. The CA IDMS DLI Transparency syntax generator produces these source statements from the program specification block (PSB) used by the DL/I application.
 
Review Statements Before Executing the IPSB Compiler
 
Before inputting the generated statements to the compiler, you should review them using the material in this section. In particular, you should make sure that the generated source statements reflect the dependencies in the DL/I definitions, especially with regard to logical child/logical parent relationships.
To review the IPSB statements, you will need the original source for the DL/I PSB and DBDs and the generated CA IDMS/DB schema source. If you have to modify the IPSB statements, use the IPSB syntax presented in this section. When reviewing the IPSB source, consult the table below, for a list of the IPSB and DL/I correspondences.
 If you plan to use the resulting IPSB module with the load utility, there are special load considerations that you must also incorporate in the IPSB source. See CA IDMS DLI Transparency Load Utility for a detailed description of the IPSB load considerations.
 
IPSB Source Statements
 
In a single execution of the IPSB compiler, you can compile one IPSB. You must define and compile one IPSB for each PSB expected by a DL/I application program. The IPSB source statements are organized into five sections and must appear in the following order:
  •  
    IPSB SECTION
     -- This section relates the IPSB to the corresponding PSB.
  •  
    AREA SECTION
     -- This section identifies the CA IDMS/DB database areas, included in the subschema, that are to be readied by the CA IDMS DLI Transparency run-time interface in any usage mode other than shared retrieval (the default).
  •  
    RECORD SECTION
     -- This section names the CA IDMS/DB records to be used either explicitly or implicitly to satisfy DL/I calls and defines the DL/I fields to be referenced in parameter lists used in the application program.
  •  
    INDEX SECTION
     -- This section provides the information necessary to relate CA IDMS/DB records and sets to secondary index and HIDAM index structures to be used and/or maintained by the CA IDMS DLI Transparency run-time interface.
  •  
    PCB SECTION
     -- This section corresponds to the associated DL/I PCBs within a PSB.
 
Section Titles and Statements
 
The syntax generator automatically produces section titles and appropriate statements for each section. Each section must appear in every IPSB. Even if there are no statements for a specific section, do not remove the section title. In addition to the sections, you can include compiler-directive statements before any of the IPSB sections. Note that the syntax generator does not produce the compiler-directive statements for you.
 
Locating IPSB Entries Within PSB and DBDs
 
Although the IPSB input is free form, you must locate specific information within the PSB and DBDs. To simplify this task, the table below,
  • Lists each IPSB clause by section (see IPSB SECTION).
  • Identifies the DL/I DBD or PSB statement and operand to which the clause corresponds; and indicates those clauses that specify information pertinent only to CA IDMS/DB.
  • The syntax rules for each statement contain, where necessary, references to pertinent DL/I parameters in the PSB and DBDs.
For more information on locating IPSB entries within the PSB and DBDs, see DL/I and CA IDMS/DB.
 
IPSB Input
 
 
DBD or PSB Correspondence
 
 
Section
 
 
Statement
 
 
Clause
 
 
Phase
 
 
Statement
 
 
Operand
 
IPSB
IPSB
NAME
PSB
PSBGEN
PSBNAME=
OF SUBSCHEMA
*
LANGUAGE
PSB
PSBGEN
LANG=
IOAREA
PSB
PSBGEN
IOASIZE=
SSA
PSB
PSBGEN
SSASIZE
COMPATIBILITY
PSB
PSBGEN
COMPAT=
AREA
AREA
*
RECORD
RECORD
NAME
*
LENGTH
DBD
SEGM
BYTES=
RECORD
FIELD
NAME
DBD
FIELD
NAME=
fldname1
 
STARTING
DBD
FIELD
START=
LENGTH
DBD
FIELD
BYTES=
USAGE
DBD
FIELD
TYPE=
INDEX
INDEX
NAME
DBD
XDFLD
NAME=
in indexed database (for secondary indexes)
DBD
DBD
NAME=
in INDEX database (for HIDAM)
USING INDEXED-SET
*
TARGET
DBD
LCHILD
NAME=
in INDEX database
POINTER
DBD
SEGM
NAME=
in INDEX database
THRU SET
*
SOURCE
DBD
XDFLD
SEGMENT=
in indexed database (for secondary indexes)
DBD
SEGM
NAME
in HIDAM database (for HIDAM)
CONSTANT
DBD
XDFLD
CONST=
SEARCH
DBD
XDFLD
SRCH=
in indexed database (for secondary indexes)
DBD
FIELD
NAME=
in HIDAM database (for HIDAM database)
SUBSEQUENCE
DBD
XDFLD
SUBSEQ=
DUPLICATE
DBD
XDFLD
DDATA=
NULL VALUE
DBD
XDFLD
NULLVAL=
EXIT ROUTINE
DBD
XDFLD
EXTRTN=
PCB
PCB
ACCESS
DBD
DBD
ACCESS=
DBDNAME
DBD
DBD
NAME=
OPTIONS
PSB
PCB
PROCOPT=
POSITIONING
PSB
PCB
POS=
SEQUENCE
*
PCB
SEGMENT
NAME
DBDGEN
SEGM
NAME=
RECORD
*
PARENT
DBDGEN
SEGM
PARENT=
segname2
 
THRU SET
*
LOGICAL DEST PARENT
DBDGEN
SEGM
PARENT=
lpsegname
 
PHYSICAL DEST PARENT
DBDGEN
LCHILD
NAME=
INSERT/ REPLACE RULES
DBDGEN
SEGM
RULES=
(combined from a logical and physical database)
USE
DBDGEN
SEGM
SOURCE=
*For CA IDMS/DB use only.