Previous Topic: About This ChapterNext Topic: Compiler-Directive Statements


Considerations For Preparing IPSB Compiler Input

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.