Handling of External and Documentation Objects

Information stored in Predict objects can be used to generate external objects, and documentation objects can be incorporated from external objects. The concepts of handling external and documentation objects in Predict are described in this document.

Information provided in this document is needed to understand many options of generation, incorporation and comparison functions.

This document covers the following topics:


What is an External Object

In Predict, data definition objects for use in applications that can be connected to Predict documentation objects are called "external objects".

There are basically two types of external objects:

  • external objects owned by Predict (usually stored in the FDIC file)

  • external objects not owned by Predict (usually stored in the external environment).

Note:
Special rules apply to DDMs and Natural processing rules. See the respective sections of Generation of External Objects in this documentation for more information.

External Objects Owned by Predict

The following types of external objects are owned by Predict:

  • 3GL copy/include code (C, COBOL, Assembler, FORTRAN, PL/I)

  • Adabas invert, compression and security definitions (ADAINV, ADAWAN/ADACMP/ADAFDU, ADASCR)

  • Adabas/VSAM Bridge transparency table

  • SQL CREATE statements

General Rules

The following rules apply to external objects that are owned by Predict.

Administration

  • Objects of all the above types are generated from Predict file objects of the respective types.

  • Up to 30 external objects per file and per language can be generated.

  • The objects can be administered exclusively with Predict functions.

  • The objects are dependent on the Predict documentation objects from which they were generated: if the documentation object is deleted, the generated objects are deleted as well.

Use

  • The external objects of the above types are used at compile time.

  • Copy code for use in 3GL programs must be copied (punched) to an operating system library before it can be used. Copying can be performed by Entire System Server. Storage of generated data definition objects as operating system members is possible in a z/OS and z/VSE environment.

  • The preprocessor can be used to generate 3GL copy code and include copy code into 3GL programs.

External Objects Not Owned by Predict

The following types of external objects are not owned by Predict: they belong to an application (development) environment.

  • Databases (Adabas, DB2, IMS/DL/I)

  • Vista translation table

  • DB2 tablespaces and storagegroups

  • DB2 procedures and functions

  • Files, tables and views (Adabas, DB2, Oracle, SQL/DS, Adabas SQL Server)

  • IMS User Defined Fields (UDFs)

  • Natural DDMs (including Natural security definitions and/or Super Natural files)

General Rules

The following rules apply to external objects that are not owned by Predict.

Administration

  • External objects of all these types can be generated from Predict documentation or be processed with incorporatation functions.

  • Each external object can be connected to a documentation object with a generation or incorporation function. For the impact of connecting external and documentation objects, see Connection of External and Documentation Objects.

  • For external objects implemented with SQL (DB2, Oracle, Adabas SQL Server, SQL/DS storagegroups, databases, tablespaces, dbspaces, tables and views) Predict stores the SQL statements that have been generated in a generation protocol. If several generation runs are executed, the protocol is extended for each generation.

  • The objects can be administered with utilities of the application environment (for example SYSDDM, SYSAOS, SYSDB2, Natural map editor).

Use

  • Most of the object types are used at run time. Some of these objects are stored directly in the application environment, others are stored in the Predict system file. For objects that are stored in the Predict system file, Predict data must therefore be accessible at run time of the application which uses the external objects.

Connection of External and Documentation Objects

Predict connects external objects and documentation objects if an external object has been generated from a documentation object or - vice versa - a documentation object has been incorporated from an external object.

Connecting external and documentation objects helps ensure the consistency of the documentation and an application: documentation objects and - to a certain extent - external objects that are connected are protected from being deleted or modified.

External objects owned by Predict need not be connected: because these types of objects can only be administrated with Predict functions, the consistency with documentation objects is not endangered.

Impact of Connecting External and Documentation Objects

The connection of external objects and documentation objects affects the following activities.

  • Administration of External Objects
    The administration of external objects connected to documentation objects can be restricted with the Predict parameters of the SYSDDM utility, AOS, SYSDB2 utility and Rule in map editor. See Protection in the section General Defaults in the Predict Administration documentation. If these parameters are set to C (connected) the respective utilities cannot be used to administrate external objects that are connected to a Predict object.

  • Modification of Predict Objects
    Modification of Predict objects is affected as follows:

    • Predict file objects of type Adabas that are connected to an implemented file cannot be unlinked from the Predict database object they belong to.

    • The type of a file connected to an external object cannot be changed.

  • Purging Predict Objects
    Purging Predict objects is affected as follows:

    • Predict File and Verification objects connected to an external object cannot be deleted. To delete a Predict object connected to an external object, the two objects must be disconnected.

    • A generation protocol created by a Generate DB2 ... function can only be purged by purging or disconnecting the implemented DB2 object.

  • Incorporation of External Objects
    As a general rule, only external objects not yet connected to a documentation object can be processed with incorporation functions. However, for IMS and DL/I databases, a Replace option is available with which connected documentation objects can be overwritten.

  • Comparison of External and Documentation Objects
    To compare an external object and a documentation object, both have to be connected.

Disconnecting Objects

External objects and documentation objects can be disconnected with the Predict administration functions Disconnect Implementation and Purge Implementation. See Administration of External Objects.

Overview of External Objects

The table below provides a full list of all external object types supported by Predict. It shows which external objects can be processed with which functions.

Object Code Command Generate Incorporate Compare Administrate
Adabas Compression Definition AC WAN, CMP Y     Y
Adabas Database AD ADABAS-DATABASE   Y Y Y
Adabas File AF FDT Y Y Y Y
Adabas Invert Definitions AI ADAINV Y     Y
Adabas Security Definitions AS SCR Y     Y
Vista Table AT VISTATAB Y   Y Y
Transp. Table for Adabas VSAM Bridge AV AVB | ADAVSAM Y     Y
Assembler Copy Code BA BAL | ASSEMBLER Y     Y
Adabas D Table / View BF ESD-TABLE   Y    
C Include Code CC LANG-C Y     Y
COBOL Copy Code CO COBOL Y Y   Y
SQL CREATE Statement CR SQL-CREATE Y     Y
Data Definition Module DD DDM Y Y Y Y
DB2 Database D2 DB2-DATABASE Y Y Y Y
Adabas Table/View EQ ESQ Y Y Y Y
Fortran Copy Code FO FORTRAN Y     Y
Ingres Table/View JF INGRES-TABLE   Y    
IMS Database ND NDB   Y   Y
Natural Security User NS Security   Y    
Oracle Table/View OF ORACLE-TABLE Y  Y
PL/I Include Code PL PLI Y     Y
DB2 procedure/function P2 DB2-PROCEDURE Y     Y
Processing Rule RU RULE Y (Y) (Y) Y
DB2 Storagegroup SG STORAGEGROUP Y Y Y Y
Super Natural User SU SUPER   Y    
DB2 Table/View, SQL/DS Table/View T2 TABLE Y Y Y Y
DB2 Tablespace, SQL/DS DBspace TS TABLESPACE Y Y Y Y
User-defined Fields for IMS UD UDF Y     Y
Informix Table/View XF INFORMIX-TABLE   Y    
Sybase Table/View YF SYBASE-TABLE   Y    

Note:
For items marked with (Y) for SQL objects only.
If a check expression exists in the SQL catalog, the check expression can be incorporated or compared.