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.
Note: 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:
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,
For more information about 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= |
Note: *For CA IDMS/DB use only.
|
Copyright © 2013 CA.
All rights reserved.
|
|