Assigning complexity ratings

Complexity ratings are defined based on the effort required to convert, test, and coordinate a construct or program. The ratings used in Table 1 are defined as:
Complexity rating Requirement
0 All code converted by CCCA without error; code compiles correctly under Enterprise COBOL
1-3
Requires moderate testing
Requires moderate coordination
Most code converted without error by CCCA
4
Requires CCCA and possible manual conversion
Requires special testing considerations
5-6
Requires moderate to high degree of coordination
Requires moderate to high degree of testing for functional equivalence
Requires conversion in addition to CCCA
(manual or automated)
7-8
Requires high degree of coordination
Requires high degree of testing for functional equivalence
9
Requires very high degree of coordination
Requires very high degree of testing for functional equivalence
10 Requires rewrite of module

Based on the complexity ratings shown above (or your own defined complexity ratings), you can now assign a complexity rating to each attribute within a program. Use the highest complexity rating listed as the overall rating for that program. For an application, the highest complexity rating that you assign for any program within the application is the complexity rating for the entire application.

Table 1 shows estimated complexity ratings for conversions of specific program attributes.
Table 1. Complexity ratings for program attribute conversions
Program attribute Description of attribute Complexity rating
Lines of source code 1000 or less 0
5000 to 10,000 3
10,000 to 20,000 + 5
Fixed file attribute mismatch (FS 39)1   4
VS COBOL II or later compiled with CMPR2 Compiler option CMPR2 not supported 1   C
74 COBOL Standard COPY library members   1 M C
ANS COBOL V4 COPY library members 1 to 10 2 M C
10 to 20 5 M C
20 + 6 M C
Stability Program with no plans for changes 0    
Program changes twice a year    
Program changes every month or more often 8+    
Files accessed 1 to 3 1 M C
3 to 5 2 M C
6 + 3 M C
No source code for module Module needs rewrite 102    
Module does not need to be upgraded 6    
CICS® macro level program   10    
Compiled by Full ANS COBOL V4 compiler (pre- compiler)   4   C
Compiled by OS/VS COBOL Release 2 compiler LANGLVL(2) no manual changes M C
LANGLVL(1) no manual changes M C
LANGLVL(2) manual changes 4 M C
LANGLVL(1) manual changes 4 M C
Uses language with changed results Complex OCCURS DEPENDING ON 4   C
Combined abbreviated relation conditions 6 M  
Floating-point arithmetic 6 M  
Exponentiation 6 M  
Signed data 2    
Binary data 2    
Numeric USAGE DISPLAY 5    
Access methods used ISAM3 10 M C
BDAM 10   C4
TCAM 10    
Uses Report Writer language (if not using Report Writer Precompiler)   6 M C
Uses Report Writer language (if using Report Writer Precompiler)   0    
CICS   4    
SIMVRD   3    
SOM-based OO   8    
LABEL declaratives   3    
  1. For additional information, see Preventing file status 39 for QSAM files.
  2. Non-IBM® vendors can recreate COBOL source code from object code.
  3. Support for ISAM was removed with z/OS® 1.7.
  4. This is a partial conversion.

On categories marked M you can gather information using the OS/VS COBOL MIGR option. On categories marked C you can gather information using the COBOL conversion tool (CCCA).