1 Overview to Computer Aided Software Engineering (CASE)

This chapter contains these topics:

1.1 System Integration

Computer Aided Software Engineering (CASE) covers the entire application development life cycle, including:

  • Design tools

  • Code generation

  • Automatic documentation generation

  • Prototyping

  • Repositories

  • Other productivity improvement tools

You use these tools to develop, operate, and maintain flexible, business application software.

Application Development Cycle

There are three technical levels in the JD Edwards World Application Development Cycle (A/D Cycle):

Level A/D Cycle
Level 1 The Application Platform, which represents the Technical Foundation Guide.
Level 2 The Design Platform, which represents the Advanced Programming Concepts and Skills (APCS) Guide.
Level 3 The Development Platform, which represents the Program Generator (CASE) Guide.

1.1.1 Specifications

You define a program using various Program Generator specifications. You perform the following:

  • Define program purpose and type

  • Specify the files

  • Create help text

  • Define function exits and options

  • Add field-specific logic

You can also create processing options and document Automatic Accounting Instructions (AAIs). After you define the specifications, the Program Generator creates the program, adding the correct validation files and servers to complete the program.

1.1.2 Fundamentals

There are basic building blocks for a program. Program types are basic definitions of the programs. Using the Question and Answer facility, the system determines, based upon your answers, which program type to select. The program generator builds the program using primary and detail logic modules. You can add AAIs to your programs and create Control Language (CL) programs to launch programs from menu options.

1.1.3 History of the Program Generator

  • Development started in 1984

  • First called Clone

  • First program generation was in April, 1985

  • Rewrite of all systems (World Systems) done through Clone I & II

  • Became known as the KBG (Knowledge Based Generator) in 1991

  • Became known as the Program Generator in 1992

1.1.4 Evolution of the Program Generator

Clone II Programs

  • Dynamic Data Dictionary

  • Dynamic totaling and page skipping - created 39 lines of code per field which caused large S002 subroutines

Clone II.5 Programs

  • Started in 1989

  • Dynamic totaling and page skipping - creates 80 lines of code for ALL fields

  • No more "?" code generated

  • Cursor Sensitive Help (F1)

  • F24 Window

  • Code for subfile option processing generated

Current Program Generator Programs

  • More utilization of file servers

  • Use of the Program Design Language (PDL) allow you to make modifications instead of making changes through Source Entry Utility

1.2 Features

JD Edwards World provides several tools to help create and customize your programs.

  • PDL is available to add field-specific logic to your programs.

  • Quick Start asks a few basic questions, and then creates a basic Report Program Generator (RPG) or CL program.

  • JD Edwards World provides many different utilities to assist you in creating and maintaining your code.

  • PDL enables you to add calculations or comparisons to specific fields within the program.

  • Precompiler commands are available to specialize your compile environment

CASE includes the following features:

  • Foundation

  • Program Generator

  • Program Design Language

  • Source Modifications

  • CASE Programs

  • Additional Tools

  • Source Inventory and Database

Note:

You cannot use the Program Generator to modify existing JD Edwards World programs.

1.2.1 What are the Benefits of CASE?

Every program you create using the Program Generator automatically includes and uses JD Edwards World functionality, such as:

  • Data Dictionary

  • User defined codes

  • Vocabulary overrides

  • Action code security

  • Business unit security

  • Standard function exits

  • Function exit and option exit security

  • Cursor sensitive help

  • Program help

  • DREAM Writer

  • Processing options

This functionality is consistent across all applications you generate because it is built into the Program Generator and Master Source.

The Program Generator is the same tool that JD Edwards World uses to generate the JD Edwards World application programs.

You can create simple programs in a short period of time using the Program Generator. Due to the standard structure and subroutines of the programs you generate, it is easier to incorporate complexities in either the Program Specifications or the source code.

You generate the source RPG code from Program Specifications, Program Types, and Master Source Code; therefore, you can regenerate the source as JD Edwards World enhances the functionality of its software. Because the enhanced functionality is in the Master Source Code File, you need to regenerate only the source code using the original Program Specifications.

Note:

The JD Edwards Program Generator output is in RPGIII code. When you complete the program development cycle, you can use RPGIII to RPGIV converters from IBM and third party vendors. As of A7.3.14, A8.1.5 and A9.1, you can use the Software Versions Repository to manage RPGIV programs with the Function Code set to RPGL.

1.3 Terms and Concepts

1.3.1 CASE, as an industry term

As an industry term, CASE is an acronym for Computer-Aided Software Engineering. Many suppliers offer tools that implement various aspects of software engineering. These tools are either upper CASE or lower CASE tools.

Upper CASE tools focus on the business process and data models. Products that provide upper CASE capabilities include tools for organizational charts, decomposition diagrams, entity relationship diagrams, and data flow diagrams.

Lower CASE tools, on the other hand, focus on data models and generating source code. An example of a lower CASE product is J.D. Edward World CASE.

1.3.2 CASE, as a JD Edwards World term

As a JD Edwards World term, CASE refers to a set of tools that you use in the software development process. Following are the components of the CASE tools.

1.4 Detailed Information

1.4.1 CASE Profile

See CASE Profiles JD Edwards World Advanced Programming Concepts and Skills Guide for information on setting up the CASE profile. There are several methods to access the CASE profile:

  • Choose CASE profile from the Computer Aided Design menu (G92)

  • Choose Software Versions Repository from the Computer Aided Design menu (G92), and then choose Repository Services (F6) to access the Repository Services window.

You enter the CASE program source generation file and compiler options on this screen.

1.4.2 Computer Assisted Design (CAD)

CAD includes the following:

  • Data Dictionary

  • User Defined Codes

  • File Design Aid (FDA)

  • Screen Design Aid (SDA)

  • Report Design Aid (RDA)

1.4.3 Computer Assisted Programming (CAP)

CAP includes the following:

  • Program Generator

    • Program Purpose and Type

    • File Specifications

    • General Instructions (Help)

    • Option and Function Key Exits

    • Detailed Programming Facility

    • Processing Options

  • CL Generator

    • Model CL programs (J98MODEL1 through J98MODEL8)

    • Quick Start CL Generator

  • Quick Start Application Tool

1.4.4 About The Program Generator

The Program Generator is the JD Edwards World tool that generates source code for both RPG programs and CL programs. In many respects the Program Generator is a very simple tool that combines three functions and produces the source code as a result of combining the functions. The three functions are:

  • Program Types

  • Master Source Code

  • Program Specifications

1.4.5 About Program Types

The Program Generator builds software depending on the program type you choose. The program types combine the features of:

  • Interactive, for example, screen

  • Batch, for example report or conversion

  • Single record or multi-record

These program types contain a list of individual definitions which you combine to form a functional program. JD Edwards World refers to individual definitions as primary logic modules and the system uses them to build the source code for the program type. The system stores each primary logic module in the Master Source Code File. These logic modules are the components of all JD Edwards World program types.

1.4.6 About Master Source Code

The Master Source Code File consists of over 11,000 lines of RPG source code. Some lines are pure RPG source code. Others contain some RPG code and some JD Edwards World directives, which the Program Generator interprets and replaces with RPG code. The interpretation of the directives is based on the Program Specifications that you establish for generating a specific program type.

1.4.7 About Program Specifications

To generate a program, you must first complete the Program Generator Specifications. These specifications are the details of your program that the Program Generator uses to complete the RPG code it builds from the master source directives. There are six specifications. You must determine:

  • A program type

  • The files the program uses

After you specify this information, you can generate complete source code that you can then compile and execute.

1.4.8 Program Types

There are five categories of program types:

Interactive

  • Can be either update or inquiry

  • Can contain Action Codes

  • Can contain a subfile

  • Can interface with DREAM Writer to provide run-time options

Window

  • Normally includes cursor sensitive helps (F1)

  • Fits inside current interactive program

Report

  • Provides for accumulated values (totals)

  • Interfaces with DREAM Writer

  • Can contain sub-headings

Server

  • Name includes a prefix of X

  • Updates master files

  • Can contain a report

Conversion

  • Use this program type to convert data from one file to another

  • Can contain a report

JD Edwards World currently provides 25 pre-defined program types with the Program Generator. The CASE Guide includes information to modify existing program types and to create of your own program types.

1.5 Menu Overview

JD Edwards World systems are menu driven. System functions are organized according to their function and frequency of use. The options on these screens illustrate the flow to the functions in this guide.

Figure 1-1 Master Directory screen

Description of Figure 1-1 follows
Description of "Figure 1-1 Master Directory screen"

Figure 1-2 Advanced & Technical Operations screen

Description of Figure 1-2 follows
Description of "Figure 1-2 Advanced & Technical Operations screen"

Figure 1-3 Computer Assisted Programming (CAP) screen

Description of Figure 1-3 follows
Description of "Figure 1-3 Computer Assisted Programming (CAP) screen"

Figure 1-4 Model Program Design screen

Description of Figure 1-4 follows
Description of "Figure 1-4 Model Program Design screen"