PACBASE removal solution & migration to native COBOL.

PACBASE is a software house for mainframe widely spread in financial key accounts in banking and insurance. It offers a COBOL generator with macro instruction features, a data dictionary and a configuration management.

PACBASE is extremely concise. 100 lines of PACBASE code generate 500 lines of COBOL.

PACBASE supports complex kinematics as files matching, entity management, lists, and reports with few programming.

So PACBASE brings efficiency to development and application management teams. It replacement has to take into account productivity criteria’s.

Our approach can be broken down as :

  • Audit the existing system
  • COBOL code enhancement
  • Tests and Deployment strategy
  • Workstation

PACBASE removal challenge

PACBASE generates hard to maintainable COBOL code but also running without specific runtime. So the actual challenge of PACBASE removal is the application management.

A completely stable application is in fact able to function normally without any transformation work on generated COBOL.

To be able to maintain an application built with PACBASE, we need to enhance generated COBOL to make it more maintainable and provide efficient workstation to application management team.

The purpose is to build a configuration management repository loaded with enhanced COBOL programs, data structure COPYBOOK and possibly Macro COPY and to implement an effective managing tool to handle that in the most productive manner.

Analysis of existing PACBASE repository

The first step of the PACBASE to COBOL migration is to ensure that the PACBASE repository is consistent with the production programs.

Elements of the PACBASE repository as SEGMENT and MACRO may have evolved over time with no regeneration of COBOL programs. A new generation may build different COBOL programs.

Pacbase 1 EN

We need to carry out an analysis to find desynchronized components and determine if the gap may cause malfunctioning. Not all gap lead to issues. For instance, a SEGMENT having been modified by adding a field over a final filler wont’ cause malfunction to programs initially generated with previous version.

The compliance analysis is fully automated for SEGMENT and partially automated for MACRO that need a manual study.

After compliance analysis, the programs are split into 2 groups :

1 – Programs without gap and programs with compliant gap
2 – Programs with incompatible gap.

Group 1 programs will be migrated using the current version of SEGMENT and MACRO.

Group 2 programs will be migrated using the version of SEGMENT and MACRO on which their generation has been based. A complementary study may determine if it’s better to migrate to a COBOL program using specific COPYBOOK for desynchronized SEGMENT and MACRO or to a fully extended COBOL.

 

Migrate PACBASE components

Second step is to migrate PACBASE components to the new repository building standard and structured COBOL.

This operation is based on a reconciliation of original PACBASE source that carries developer approach and generated COBOL source we aim to maintain “isofunctional”.

The strategy is to keep the PACBASE logic the same in order to reduce the training of application management team.

PACBASE comments are inserted at the right place into COBOL. The COBOL code is restructured. GOTO are replaced by IF/THEN/ELSE blocks. PACBASE block codes are kept as margin comments.

Standard indentation and full page edition (beyond row 72) ease program browsing. The new IDE provides support function as highlighting of IF THEN ELSE blocks.

COBOL statements coding for technical functions generated by PACBASE are replaced by structured equivalent. Optimum is achieved for programs in phase with the original PACBASE repository for which the maximum number of enhancing patterns can match.

WORKING STORAGE SECTION is reworked to replace extended SEGMENT by COPY REPLACING statements.

We flag group 2 programs defined above with comments for further maintenance operation in order to plan the realignment with current repository.

Regression testing and deployment strategy

In case of PACBASE decommissioning without no change of platform, there is no obligation to migrate or certify all programs at once.

It’s not unusual that a large part of the programs is very stable. It is not necessary to migrate and certify them before the first maintenance. This allows spreading the certification workload over time. Migration workload itself being very low because supported by fully automated process.

To certify programs, we compare original PACBASE generated COBOL program and target structured COBOL program runs. We check that every blocks of statements have been run the same number of time.

Isofunctionnality of original PACBASE generated blocks of statements and their structured COBOL equivalent having been checked beforehand.

A status will be added to all components in the configuration management system to handle the migration components cycle-life.

  • Source (Original PACBASE generated program)
  • Enhanced
  • Enhanced and certified
  • Migrated

We may only certify programs impacted by maintenance portfolio et spread into time the certification of other programs. Certification tools supported by the new Eclipse IDE.

Eclipse IDE

In order to ease and optimize application management team work, we provide an Eclipse IDE and set of plugins.

There is no bond between Eclipse IDE and migrated programs that can be managed independently but the Eclipse IDE provide a set of easing functions for programmers.

Pacbase 2 EN

Standard features of PACBASE software house are supported by Eclipse plugins closely integrated all together.

The Eclipse IDE provides 3270 proxy allowing connecting a Mainframe allowing a background compilation and is compliant to market COBOL development workstation.