DECADMIRE User's Guide

*HyperReader

CONTENTS

  Title Page

  Copyright Page

  Preface

  Part I    Introduction

  1      Introduction
    1.1 Features and Benefits
      1.1.1      Implementing Client/Server Solutions
      1.1.2      Generating High-Quality Code
      1.1.3      Using the DECADMIRE Development Environment
      1.1.4      Customizing the Generated Code
      1.1.5      Supporting Internationalization
      1.1.6      Using the Sample Applications
    1.2 DECADMIRE Application Development Process
    1.3 Menu and Screen Conventions
      1.3.1      Menu Conventions and Keys
      1.3.2      Screen Conventions and Keys
      1.3.3      Programming the Function Keys
      1.3.4      Using Online Help

  2      Setting Up the Development Environment
    2.1 Directory Structure of a Dataset
    2.2 Creating Datasets
      2.2.1      Creating Datasets and Assigning Logical Names with a Command File
      2.2.2      Creating Datasets Manually
      2.2.3      Using the PROJ_1 Dataset to Create a New Directory Structure
      2.2.4      Defining Logical Names and Symbols for a New Dataset
      2.2.5      Setting the Number of Datasets for Display
    2.3 Selecting a Dataset
      2.3.1      Displaying Datasets
    2.4 DECADMIRE Support Functions
      2.4.1      Maintaining Print Queues
        2.4.1.1      Showing Print Queues
        2.4.1.2      Showing Print Jobs
        2.4.1.3      Stopping and Starting Print Queues
        2.4.1.4      Changing the Form Name for Print Queues
        2.4.1.5      Performing Print Job Maintenance
      2.4.2      Maintaining Batch Queues
        2.4.2.1      Showing Batch Queues
        2.4.2.2      Showing Batch Jobs
        2.4.2.3      Stopping and Starting Batch Queues
        2.4.2.4      Performing Batch Queue Maintenance
      2.4.3      Authorizing Users
        2.4.3.1      Creating or Modifying Operator Authorization Records
        2.4.3.2      Defining the Scope of Operator Authorization
        2.4.3.3      Showing Files
    2.5 Getting Information During Development
    2.6 DECADMIRE System Definitions
      2.6.1      Defining Default Function Keys
      2.6.2      Defining Default Function Key Panels
      2.6.3      Defining Default Display Options
      2.6.4      Defining Default Panel Types For Building Blocks
      2.6.5      Defining Default Messages

  Part II    Designing and Defining Databases

  3      Designing Databases for DECADMIRE Applications
    3.1 Goals of Database Design
    3.2 Overview of Database Design
    3.3 Creating the Conceptual Design
      3.3.1      Business Areas
      3.3.2      Business Functions
      3.3.3      Business Activities
      3.3.4      Identifying Additional Requirements for Business Functions
    3.4 Creating the Logical Design
      3.4.1      Analyzing the Data
      3.4.2      Creating an Entity-Attributes List
      3.4.3      Normalizing the Database
      3.4.4      Defining Relationships Among Entities
        3.4.4.1      Selecting a Primary Key for Each Entity
        3.4.4.2      Establishing a Foreign Key Relationship
    3.5 Creating the Physical Design
    3.6 Using Database Design Tools
      3.6.1      Graphical Schema Editor
      3.6.2      RdbExpert

  4      Database Concepts and Elements
    4.1 Benefits of Using a Relational Database Model
    4.2 DECADMIRE Database Design and Prototyping Files
    4.3 Use of SQL Services
    4.4 Overview of DECADMIRE Database Definitions
      4.4.1      Global Formats
      4.4.2      Domains
        4.4.2.1      Data Types
        4.4.2.2      Storage Types
      4.4.3      Support for International Character Sets
        4.4.3.1      Rdb Character Set Attributes
        4.4.3.2      DECforms Character Set Attributes
      4.4.4      Tables
      4.4.5      Columns
        4.4.5.1      Setting Conditions for Columns
      4.4.6      Views
      4.4.7      List of Values
      4.4.8      Keys
        4.4.8.1      Primary Keys and Multipart Keys
        4.4.8.2      Foreign Keys
        4.4.8.3      Secondary Keys
    4.5 Establishing Table Relationships
      4.5.1      Defining Related Tables
      4.5.2      Defining Parent-Child Table Relationships
        4.5.2.1      Using the Check Option to Delete Child Records
        4.5.2.2      Using the Delete Option to Delete Child Records
        4.5.2.3      Using Triggers to Delete Child Records
    4.6 Reserved Words

  5      Defining a Database
    5.1 Setting Up the Database
      5.1.1      Importing a Database
      5.1.2      Cloning a Database
      5.1.3      Converting RMS Files to Rdb
    5.2 Accessing the Data Dictionary
    5.3 Defining Global Formats
    5.4 Defining Domains
    5.5 Defining a Table
      5.5.1      Step 1:  Creating the Table Definition
      5.5.2      Step 2:  Defining Columns
      5.5.3      Step 3:  Identifying the Primary Key
      5.5.4      Step 4:  Identifying Secondary Keys
      5.5.5      Step 5:  Checking Field Input
        5.5.5.1      Specifying Input Conditions for Columns
        5.5.5.2      Using Validations on Columns
      5.5.6      Step 6:  Providing Documentation for Columns
    5.6 Defining Related Tables
    5.7 Identifying Child Tables
    5.8 Defining a List of Values
      5.8.1      Step 1:  Creating the List of Values Definition
      5.8.2      Step 2:  Adding Records to the List of Values
      5.8.3      Step 3:  Connecting a List of Values to a Column
    5.9 Defining Views
      5.9.1      Step 1:  Creating the View Definition
      5.9.2      Step 2:  Choosing the View Columns
        5.9.2.1      Choosing Columns for Single Table Views
        5.9.2.2      Choosing Columns for Multitable Views
      5.9.3      Step 3:  Defining Foreign Key Connections For Views
    5.10 Defining Reserved Words
    5.11 Printing Reports for Dictionary Information
    5.12 Copying Tables

  6      Generating Dictionary Definitions
    6.1 Database Logical Names and Assignments
      6.1.1      BUILDER Database Definition
      6.1.2      Defining the Database Handler
      6.1.3      Defining the Compile-Time Database
      6.1.4      Defining the Run-Time Database
    6.2 Files Generated for Database Definitions
      6.2.1      Copy Files Definitions
      6.2.2      Database CDD/Plus Definitions
      6.2.3      SQL Definitions and Files
      6.2.4      List-of-Values Definitions
    6.3 Generating Table Definitions
      6.3.1      Generating copy Files for 3GL Applications
      6.3.2      Generating copy Files for DECforms
      6.3.3      Generating CDO Files
      6.3.4      Generating SQL Command Files
      6.3.5      Generating List-of-Values Definitions

  Part III    Defining Application Elements

  7      DECADMIRE Application Development Concepts
    7.1 Moving from Planning to Development
    7.2 Application Development Elements
      7.2.1      Building Blocks
      7.2.2      Templates
      7.2.3      Modules
    7.3 Screen Module Overview
      7.3.1      Screen Module Data Access Features
      7.3.2      Screen Module User Interface Concepts
      7.3.3      Screen Module Task Flow Behavior
      7.3.4      M_TAB Module Functional Overview
      7.3.5      M_CHA Module Overview
      7.3.6      M_KEY Module Functional Overview
      7.3.7      M_FLD Module Functional Overview
      7.3.8      F_TAB Module Functional Overview
      7.3.9      S_TAB Module Functional Overview
      7.3.10     S_CHA Module Functional Overview
    7.4 Report Module Overview
      7.4.1      Report Module Data Access Features
      7.4.2      Report Module User Interface Concepts
      7.4.3      Report Module Task Flow Behavior
      7.4.4      R_ROW Module Functional Overview
      7.4.5      R_BLK Module Functional Overview
      7.4.6      R_CHA Module Functional Overview
      7.4.7      R_HEA Module Functional Overview
      7.4.8      R_SUM Module Functional Overview
      7.4.9      R_TOT Module Functional Overview
    7.5 Menu Module Overview
      7.5.1      Menu Module User Interface Concepts
      7.5.2      Menu Module Task Flow Behavior
      7.5.3      MENU Module Functional Overview
    7.6 Update Module Overview
      7.6.1      U_TAB Module Data Access Concepts
      7.6.2      U_TAB Module Task Flow Behavior
      7.6.3      U_TAB Module Functional Overview
    7.7 Prototyping
      7.7.1      Prototyping All or Part of Your Application
      7.7.2      Steps to Prototype Modules
      7.7.3      Restrictions to Prototyping
    7.8 Help and Documentation
      7.8.1      Generating Documentation
    7.9 Screen Module Reports
    7.10 Copying Modules

  8      Record Maintenance Modules
    8.1 Creating Record Maintenance Modules
      8.1.1      Step 1:  Enter Basic Module Information
      8.1.2      Step 2:  Enter Panel Information
        8.1.2.1      Changing Default Field Positions
        8.1.2.2      Selecting the Field Panel Size
        8.1.2.3      Selecting the Label Size
        8.1.2.4      Selecting the Field Display Method
        8.1.2.5      Deleting Columns from Panel Definitions
      8.1.3      Step 3:  Design the Screen Using the Screenpainter
        8.1.3.1      Selecting a Panel to Edit
        8.1.3.2      Editing Panel Objects
        8.1.3.3      Creating Lines and Text Objects
        8.1.3.4      Modifying Field Definitions
        8.1.3.5      Determining Field Input Type
        8.1.3.6      Activating Function Keys
        8.1.3.7      Activating a Call to a Module
        8.1.3.8      Refreshing Related Table Fields
        8.1.3.9      Activating a Call to a Subroutine
        8.1.3.10     Changing the Field Size
        8.1.3.11     Creating Field Definitions
        8.1.3.12     Getting Field Summary Information
        8.1.3.13     Setting Field Groups
        8.1.3.14     Setting Visitation Order
        8.1.3.15     Viewing Field Types
        8.1.3.16     Defining the Refresh Value
        8.1.3.17     Activating Function Keys
    8.2 Creating Panels
      8.2.1      Creating New Panels
      8.2.2      Key Panel Definitions
      8.2.3      Field Panel Definitions
      8.2.4      Extended Input Panel Definitions
      8.2.5      Function Panel Definitions
      8.2.6      Selection Panel Definitions
      8.2.7      Defining Default Panel Definitions
    8.3 Prototyping an M_TAB Module
    8.4 Creating Modules that Perform Parent/Child Record Maintenance
      8.4.1      Step 1:  Enter Basic Module Information
      8.4.2      Step 2:  Enter Panel Information
      8.4.3      Step 3:  Design the Screen Using the Screenpainter
      8.4.4      Step 4:  Defining Received Key Part Parameters
    8.5 Connecting Modules
      8.5.1      Step 1:  Define the Module Call to the M_CHA Module
      8.5.2      Step 2:  Define the Function Key to Call the M_CHA Module
      8.5.3      Step 3:  Activate the Module Call from a Field

  9      Selection List Modules
    9.1 Selection List Module Characteristics
      9.1.1      S_CHA Module Characteristics
      9.1.2      F_TAB Module Characteristics
      9.1.3      S_TAB Module Characteristics
    9.2 Creating Selection List Modules
      9.2.1      Step 1:  Enter Basic Module Information
      9.2.2      Step 2:  Enter Panel Definitions
      9.2.3      Step 3:  Design the Screen Using the Screenpainter
      9.2.4      Step 4:  Define S_TAB Selection Parameters
    9.3 Calling F_TAB and S_CHA Modules
      9.3.1      Step 1:  Define the Module Call
      9.3.2      Step 2:  Define the Function Key
      9.3.3      Step 3:  Activate the Module Call from a Field
    9.4 Calling S_TAB Modules
      9.4.1      Step 1:  Create a Selection Panel
      9.4.2      Step 2:  Define Variable Fields
      9.4.3      Step 3:  Draw Fields on the Selection Panel
      9.4.4      Step 4:  Define the Module Call to the S_TAB Module
      9.4.5      Step 5:  Define the Module Call Parameters
      9.4.6      Step 6:  Activate the Module Call from the Fields

  10     Automatically Updating Database Table Records
    10.1 Creating Noninteractive Table Updates
      10.1.1     Step 1:  Enter Basic U_TAB Module Information
      10.1.2     Step 2:  Select Columns to Update
    10.2 Calling U_TAB Modules
      10.2.1     Step 1:  Define the Module Call to the U_TAB Module
      10.2.2     Step 2:  Define the U_TAB Module Call Parameter Values

  11     Application Report Modules
    11.1 Creating an R_ROW Module Report
      11.1.1     Step 1:  Enter Basic Module Information
      11.1.2     Step 2:  Design the Report Layout
      11.1.3     Step 3:  Define the Sort Order
      11.1.4     Defining Selection Parameters
    11.2 Prototyping Reports
    11.3 Creating Multiple-Line Reports
      11.3.1     Step 1:  Enter Basic Module Information
      11.3.2     Step 2:  Design the Report Layout
      11.3.3     Step 3:  Define the Sort Order
    11.4 Adding Report Heading Information
      11.4.1     Creating an R_HEA Module
      11.4.2     Adding an R_HEA Module to the Report
        11.4.2.1     Step 1:  Define a Module Call
        11.4.2.2     Step 2:  Modify the Sort Order
    11.5 Adding Summary Information
      11.5.1     Step 1:  Enter Basic Information
      11.5.2     Step 2:  Define the Report Layout
        11.5.2.1     Creating Fields for Accumulated Values
      11.5.3     Adding the Summary to the Report
        11.5.3.1     Step 1:  Define a Module Call
        11.5.3.2     Step 2:  Modify the Sort Order

  12     Creating Menus
    12.1 Overview
    12.2 Steps to Create a MENU Module
      12.2.1     Step 1:  Enter Basic Menu Information
      12.2.2     Step 2:  Enter Panel Definitions
      12.2.3     Step 3:  Define MENU Module Calls
      12.2.4     Step 4:  Design the Menu Screen Layout

  Part IV    Building Applications

  13     Generating DECADMIRE Applications
    13.1 Dataset Directories and Files
    13.2 Files Generated for an Application
      13.2.1     Module Source Code
        13.2.1.1     Screen Module Partition Structure
        13.2.1.2     MENU Module Partition Structure
        13.2.1.3     Report and U_TAB Module Partition Structure
      13.2.2     Application Workspaces
        13.2.2.1     Generating Database Workspace Definitions
        13.2.2.2     Generating Module Parameter Workspace Definitions
        13.2.2.3     Workspace Definition Locations
    13.3 Types of DECADMIRE Applications
      13.3.1     Timesharing and ACMS Applications
      13.3.2     OpenVMS Server/PC Client Applications
      13.3.3     RTR Applications
    13.4 Considerations Before Generating Modules
    13.5 Generating Application Code
      13.5.1     Generating User Interface Attributes
      13.5.2     Generating Modules
      13.5.3     Generating One Module at a Time
        13.5.3.1     Files Created by the Code Generation/Compilation Option
      13.5.4     Generating All Modules
        13.5.4.1     Files Created by the Create Executable Code Option
      13.5.5     Generating U_TAB and Report Modules
      13.5.6     Setting Default Generation Options
    13.6 Building Applications
      13.6.1     Generating Code
      13.6.2     Compiling Files
      13.6.3     Linking Applications
      13.6.4     Logging the Generation, Compilation, and Linking Process
    13.7 Running Applications
      13.7.1     Running Timeshare Applications
      13.7.2     Running ACMS Applications
        13.7.2.1     Running ACMS Applications in Debug Mode
        13.7.2.2     Building ACMS Run-Time Applications
        13.7.2.3     ACMS Application Notes
    13.8 Logical Names Used by DECADMIRE GENERATOR

  14     Moving Generated Applications into Production
    14.1 Logical Names Required by the Generated Application
    14.2 Setting Up the Authority System
      14.2.1     Switching the Security Setting
      14.2.2     Authorizing Users for Module Access
    14.3 Using ACMS Applications on an OpenVMS AXP System
    14.4 Using CMS and MMS to Manage Application Building
    14.5 Using MMS to Manage DECADMIRE Project Source Files

  A Module Parameters
    A.1 M_CHA Module Parameters
    A.2 M_FLD Module Parameters
    A.3 F_TAB Module Parameters
    A.4 S_TAB Module Parameters
    A.5 S_CHA Module Parameters
    A.6 U_TAB Module Parameters
    A.7 R_ROW Module Parameters
    A.8 R_BLK Module Parameters
    A.9 R_CHA Module Parameters
    A.10 R_HEA Module Parameters
    A.11 R_SUM Module Parameters
    A.12 R_TOT Module Parameters

  B Module Calls

  C Interaction Between Partitions

  D Character Set Information
    D.1 Domain Maintenance
      D.1.1     Data Type and Unit Information
      D.1.2     Data Type and Character-Set Information
      D.1.3     Storage Type and Unit Information
      D.1.4     Storage Type and Character Set

  E Error Messages
    E.1 List of Error Messages

  Glossary