Chapter 4: Using Projects

This chapter explains how to use projects to manage your software development activities.

Overview

Mainframe Express makes it easy for you to manage your source code and its associated build process by grouping source files and build commands together into a project. The build process can include tasks such as preprocessing and compiling.

A project is a representation of all the source files (with dependencies) and build commands used to create your application or program. This information is held in a file with the extension .mvp. When you open a project (.mvp) file, its contents are shown graphically in a window known as the Project View. The Project View is your 'home base' when using Mainframe Express. From this window you can add and delete files, open files for editing and debugging and specify options for compiling and project-handling.

See the following for more information:

For a description of the Project View, see the section The Project View in the chapter The Mainframe Express Interface.

For more detailed information about compiling COBOL programs, including the use of Compiler directives, see the chapter Compiling COBOL Programs in your IDE Technical Guide.

The Benefits of Using a Project

If you are used to compiling and linking individual modules of code separately, you might wonder if the benefits derived from the additional effort involved in setting up a project are worthwhile. In fact, although it may take a little time to set up a project initially, the savings in time you make when working on your project more than compensate for this in all but the very smallest of programming tasks.

The main benefits of using a project for your work are:

When you use projects in Mainframe Express, you are able to spend less time on routine chores, such as configuring tools and managing your code and more time on productive tasks, such as programming and debugging.

Creating a Project

The sequence of steps to follow when you create a project are:

  1. Create a project using the Project Wizard

    Mainframe Express provides you with a Project Wizard which enables you to create the project's basic framework. You can create a completely new project, copy an existing project, or use a previously-defined template project.

  2. Add files to the project

    Populate the basic framework with the relevant files. If you have been using COBOL Workbench and have created a .pop file, you can use this to specify the files to add to your project. If you copy an existing project or use a template project, you can choose to populate the new project with the source files from the original.

  3. Specify the Compiler directives you want to use for each source file in your project
  4. Rebuild your project

How to ...

Building a Project

The processes that determine how Mainframe Express builds a project are specified in property sheets. These can relate to either the project as a whole or individual files. You can accept the defaults provided or you can finely control how each source file is compiled by changing the settings in its property sheets.

You can define build settings at the individual file level or at the project level, which affects all files in a project. Build settings specified at the file level override those made at the project level.

The following list summarizes the different ways of setting options:

Note: You can reparse your source files after changing the project settings (or at any other time) by clicking Reparse For Build Settings on the Build menu.

Information on the files in a project is provided under column headings in the right-hand pane of the Project View. For example:

For information about sorting these columns, see Windows Tips in your Getting Started.

With a few mouse clicks, you can use the project settings and build settings to try out different options, update your project with the latest source changes and rebuild dependent files, creating the compiled files into your chosen directory.

Note: If the Project View becomes out of step with a project's files (for example, if you overwrite one file with another version), there are two options you can use to you can update the display:

Project Settings

Project settings apply to all files in a project. The Project Wizard enables you to create a new project and specify its settings. Any changes that you make in the Project Settings dialog box affect the whole project. None of the settings on the Project Settings dialog box can be overridden on a per-file or per-type basis.

The settings for a project are grouped together as a number of pages on the Project Settings dialog box - see Figure 4-1. Because the settings available depend on the installed product options, you see different pages for different file types on the Project Settings property sheets. Each page has a tab - selecting a page's tab displays that page.

The Project Settings Dialog Box

Figure 4-1: The Project Settings Dialog Box

The list below describes the purpose of each page of the Project Settings dialog box and the changes you are most likely to make.

Page Description
Aliases Enables you to specify the mapping between standard system program-names and the Mainframe Express tool which provides the program function on the PC. (Standard system program-names are those which you use in JCL jobs, for example, DFSORT.) The default list is usually acceptable for most applications.
Catalog Enables you to control catalog properties. It has three subtabs - General, Spool and User.

For example, you can use this page to change the location of the System catalog. The default of .\Catalog.Dat indicates that the file is held in the current folder, which is where the project file is held. You might want to use a location on either a different local drive to save space or a network so that the catalog can be shared.

CICS Enables you to use the CICS Option and to specify the region addressing mode. See the chapter Configuring CICS Regions in your CICS Option Technical Guide for more information on regions.
Execution Enables you to control the batch execution environment. It has four subtabs - General, Assembler, JCL and Migration.
General enables you to request:
  • Access to the Data Divisions of canceled COBOL programs
  • Run-time validation of numeric fields
  • Various data set handling options.
Assembler enables you to specify the maximum memory allocation required above and below the 16 Mb line.
JCL enables you to specify which mainframe Job Entry System and sort utility to emulate.
Migration enables you to specify whether you want to use an existing mfextmap.dat file created for Micro Focus Workbench 4.0.
General Enables you to control general project properties. It has four subtabs:NLS, Workgroup, Extensions and Build.
NLS enables you to specify a national language for EBCDIC to ANSI translation
Workgroup enables you to disable or enable the automatic synchronization of SourceConnect drives. This is enabled by default. If disabled, the IDE is unable to tell if files on the mainframe have changed or relocated since the last build, and so automatic rebuilding does not occur. However, by not synchronizing with the mainframe, performance may be increased, particularly if the link to the mainframe is slow.
Extensions enables you to add or remove new file extensions and associate a file type with an extension. You cannot remove system supplied file extensions.
Build enables you to disable or enable:
  • Scanning for OS/VS dialect keywords
  • Skipping previously failed compiled programs during subsequent compiles

These are both enabled by default.

LE Enables you to specify language environment run-time options. It has two subtabs - General and Heap.
IMS Enables the IMS Option. See the chapter The IMS Option Interface in this guide and your IMS Option Technical Guide for further details.
SMS Enables support for Storage Management Subsystem (SMS) data classes. See the section Using SMS Data Classes in the chapter Compatibility with the Mainframe Environment.
SQL Enables the SQL Option for DB2. See the chapter SQL Option for DB2.

Build Settings

The build settings are grouped together under a number of pages on the Build Settings dialog box - see Figure 4-2. Because the settings available depend on the file type, you see different pages for different file types on the Build Settings property sheets. Each page has a tab - selecting a page's tab displays that page.

Build settings on each page lists the directives that are passed to the relevant compiler at build-time.

Each page also includes an Additional directives box which enables you to specify directives that are not otherwise available from the Build Settings dialog box. Directives you specify in this field are not validated until they are passed to the relevant compiler.

For information on the directives you can specify, see the help topic Compiler Directives by Category

The Build Settings Dialog Box

Figure 4-2: The Build Settings Dialog Box

The list below describes the purpose of each page of the Build Settings dialog box.

Page Description
Assembler Specify build settings for your Assembler programs and subprograms. It has four subtabs - General, Link, Preproc and Adv.
BMS Specify build settings for applications that use BMS mapsets. It has two subtabs - General and Advanced.
COBOL Specify build settings for your COBOL programs. It has three subtabs - General, Preproc and Listing.

COBOL dialect holds a list of pre-built dialect settings supplied with Mainframe Express. There are two methods by which you can change these dialect settings:

  • Click ... to the right of COBOL dialect. You can then see the dialect settings and can make changes. Any changes you make apply immediately (when you click OK) to all programs using that dialect within the current project.
  • Specify directives in Additional directives. Directives you specify in this way override or add to the directives associated with a dialect and are shown in Build settings.

You cannot use either of these methods to override some aspects of behavior that are controlled by the workgrouping environment. For example, the location of intermediate code files that Mainframe Express produces is controlled by the workgrouping environment, so specifying the INT directive in either of the Additional directives fields has no effect. Other directives that have no effect when specified in the Additional directives fields are GNT and LISTPATH.

DBD Specify build settings for applications that use DBD files. It has two subtabs - General and Advanced.
Linker Specify build settings for the Assembler linkage editor. It has two subtabs - General and Advanced.
MFS Specify build settings for applications that use MFS files. It has two subtabs - General and Advanced.
PSB Specify build settings for applications that use PSB files. It has two subtabs - General and Advanced.

Note: Mainframe Express parses each source file when it is added to a project, in order to determine which build settings are required. You can reparse your source files at any other time by clicking Reparse For Build Settings on the Build menu.

Updating Dependencies

Dependencies exist when one file includes a link to another file - one file is said to be dependent on the other. For example, a COBOL source file that contains a COPY statement is dependent on the copybook specified in the COPY statement. That is, if the copybook changes, the COBOL source file that uses it needs to be recompiled.

When you perform a build operation, Mainframe Express scans your files for dependencies. It recognizes all changes (new dependent files, changed dependent files and deleted dependent files) and it rebuilds the files affected. As a result, you should not normally need to update dependencies. However, if necessary, you can update the project's dependency chain manually by clicking Update All Dependencies on the Build menu. Alternatively, you can select only the files whose dependencies have changed and click Update Dependencies on the Build menu.

If you are unsure whether or not a file has dependencies, or is a dependent file itself, you can view dependency information by selecting the file then clicking Show Dependencies on the Build menu.

Compacting Projects

You can minimize the size of a project, using either the IDE, or the mfecl command. To minimize a project using the:

Notes:

Exporting Projects in XML Format

You can export project settings in XML format to another file. This is intended to be of use to an administrator needing to view project settings offline. You do this by specifying the /EXPORTXML option to the mfecl command. See the help topic XML Project Export for more information.

Note: There is no import facility. The format of the XML might change in a future release.


Copyright © 2006 Micro Focus (IP) Ltd. All rights reserved.