2.0.10
Other Updates
Details |
---|
RPG Extension will no longer create incorrect "<unnamed> " objects |
Incorrect access links are removed |
Missing links to subroutines are created |
Missing transac links are now created |
Subroutines with leading special characters are created correctly |
Rules
Rule Id | New Rule | Details |
---|---|---|
1009126 | FALSE | QR: "Avoid defining File Disk if not used (RPG300)" will now give violations |
2.0.9
Other Updates
Details |
---|
RPG Analyzer no longer supports the .dds file extension. |
The link type "callTransacLink" to subroutines for CASxx functions are now created correctly. |
The link type "callProgLink" using CALL PGM are now created correctly. |
The link type "callLink" using special characters are now created correctly. |
The link type "callPerformLink" will now be created correctly to CL400 Programs. |
Incorrect "accessLink" type links are no longer created. |
Correct "accessLink" type links are now created with search arguments. |
"AccessLink" type links to FileDisks are now created correctly. |
2.0.8
Note
Extension withdrawn.
2.0.7
Resolved Issues
Customer Ticket Id | Details |
---|---|
27832 | Assessment Model BackFiredFP ratio changed after migration from 8.3.3 to 8.3.29 |
28441 | While migrating 8.3.3 to 8.3.29, Error - EntityType "dmtcoediscovererrpg.CL400Discoverer" not found is displayed. |
28438 | Write statement not resolved in RPGLE, and call to a CL prog from SQLRPGLE not resolved. |
Other Updates
Details |
---|
Base_RPG.TCCSetup is now present under Configuration\TCC folder and will be automatically loaded. |
RPG 2.0.6
Resolved issues
The following table lists the bugs fixed in RPG 2.0.6:
Internal ID | Ticket ID | Summary |
---|---|---|
RPG-596 | 15373 | Some RPG files can not be analyzed when windows locale is setting to Chinese. |
RPG-595 | 16966 | Links are not coming from RPG400 Subroutine to Database Tables. As part of the fix, a "useLink" will be created to tables/views when a table or view is referred to in a READE, Chain, SETGT or SETLL in RPG400. |
RPG 2.0.5
Updates
Quality Rule changes
The following changes have been introduced in this release:
- Avoid Logical File without associated Physical File (DDS400) - 1011010: A bug has been fixed which was causing false violations for this Quality Rule when the physical file is not present but the DB400 record is. After installing this release of the extension and the generation of a post upgrade snapshot on the same source code, results may differ for the above Quality Rule: i.e. less violations may be reported depending.
Resolved issues
RPG 2.0.5 contains all bug fixes from the following previous releases. The following table lists all bugs fixed in RPG 2.0.5:
Internal ID | Ticket ID | Summary |
---|---|---|
RPG-572 | RPG Extension pre-processors will now include debug messages when analysis launched with "Include Debug Messages" flag turned on. | |
RPG-555 | 10551 | RPG preprocessing messages are confusing |
RPG-559 | 11729 | False Violation - RPG Rule 'Avoid Logical File without associated Physical File (DDS400)' |
RPG 2.0.4
Updates
Log improvements for the RPG Preprocessor
- Improvements have been introduced with regard to the log files that are produced during an analysis of RPG code with the extension. Specifically, the logs produced by the RPG Preprocessor have been improved in this release of the extension.
Quality Rule changes
The following changes have been introduced in this release:
- Avoid Procedures with more than X lines of code (RPG400) - 1008122: The default parameter used to determine the number of lines of code has been changed to 500, i.e. violations will only occur where the line of code value is above 500.
- Avoid Procedures with more than X lines of code (RPG400) - 1008120: The default parameter used to determine the number of lines of code has been changed to 500, i.e. violations will only occur where the line of code value is above 500.
- Avoid Programs with more than X lines of code (RPG400) - 1008118: The default parameter used to determine the number of lines of code has been changed to 2000, i.e. violations will only occur where the line of code value is above 2000.
- Specify Error Subroutine for File Exception Handling (RPG400) - 1008074: The Quality Rule has been updated as follows and violations should now occur in the following situations:
- if the file has file specification (INFSR)
- and it does not have an include link to a copybook which has a routine named '*pssr'
- and if it itself does not have routine named '*pssr'
- if the file has file specification (INFSR)
Avoid Logical File without associated Physical File (DDS400) - 1011010: The Quality Rule has been updated to consider the DB400 record and table if the corresponding Physical File file is not present in the analysis. Additional links are also created in this scenario:
DDS400 RecordStructureLF ==== referLink ===> DB400 Table
DDS400 RecordStructureLF ==== callLink ===> DB400 Record
Resolved issues
RPG 2.0.4 contains all bug fixes from the following previous releases. The following table lists all bugs fixed in RPG 2.0.4:
R&D ID | Summary |
---|---|
RPG-551 | Remove RPG Technology extension.txt file from extension |
RPG-550 | RPG extension log mechanism does not handle migration\update correctly |
RPG-549 | Manual Preprocessor should not be given as part of package |
RPG-541 | Have the log of preprocessor of extension in same location indicated CAST MS preferences |
RPG-540 | Avoid Logical File without associated Physical File should consider db400 record and table if corresponding pf file isn't present |
RPG-539 | Ignore the File Specification if the program contains a PSSR subroutine in the rule Specify Error Subroutine for File Exception Handling |
RPG-538 | Default value for parameter of the rule Avoid Procedures with more than X lines of code (RPG400) |
RPG-537 | Default value for parameter of the rule Avoid Subroutines with more than X lines of code (RPG400) |
RPG-536 | Default value for parameter of the rule Avoid Programs with more than X lines of code (RPG400) |
RPG-512 | Update Launch.bat in order to return an error code when preprocessing fails |
RPG 2.0.3
Resolved issues
RPG 2.0.3 contains all bug fixes from the following previous releases. The following table lists all bugs fixed in RPG 2.0.3:
R&D ID | Summary |
---|---|
RPG-527 | False Violation RPG : Avoid artifacts having recursive calls - false links to be removed - this fix removed this limitation. |
RPG 2.0.2
Resolved issues
RPG 2.0.2 contains all bug fixes from the following previous releases. The following table lists all bugs fixed in RPG 2.0.2:
R&D ID | Summary |
---|---|
RPG-516 | False Violation RPG - Avoid using obsolete "Conditional Operations" statements in RPG Subroutines (RPG-IV only) (RPG400) |
RPG-517 | False Violation RPG - Avoid unreferenced Subroutines (RPG400) |
RPG-518 | False Violation RPG - Avoid defining File Disk if not used (RPG400) |
RPG-520 | False Violation RPG - Avoid unreferenced Copy Members (RPG400) |
RPG-521 | False Violation RPG - Avoid Logical File without associated Physical File (DDS400) |
RPG-523 | False Violation RPG - Violated Rule Avoid using obsolete "Call Operations" statements in RPG Programs (RPG-IV only) (RPG400) |
RPG-525 | The total Complexity is not correctly computed for RPG application |
RPG 2.0.1
Resolved issues
RPG 2.0.1 contains all bug fixes from the following previous releases. The following table lists all bugs fixed in RPG 2.0.1:
R&D ID | Summary |
---|---|
RPG-507 | Subroutines are not created when a special character is before the control character |
RPG-508 | Mainsection is not at the right position when the program has some free format comments |
RPG-509 | Empty comment lines are not trasnformed by the preprocessor |
RPG-511 | Mixed format for begsr and endsr |
RPG 2.0.0
Updates
Note that:
- RPG 2.0.x should be installed ONLY on new CAST AIP schemas or schemas on which RPG 1.x extensions have never been installed. There is therefore no upgrade path between RPG 1.x and RPG 2.x.
- when re-analyzing the same source code with RPG 2.x, results will differ to those produced by the RPG 1.x extensions - the results are not comparable.
RPG 2.0 is a major functional and technical improvement of the RPG extension. Many changes have been introduced in order to obtain an accurate Function Point count and better Quality/Sizing results.Below are the main changes that have been integrated into this release of the extension.
RPG 2.0 supports COPY Members that were previously created as RPG Programs. A specific type called "RPG400 Copy Member" is used for this object. A COPY Member:
- Is included by an RPG Program
- can contain all object types identical to those contained in an RPG400 Program except the "Main" object type.
- Can contain a Procedure Prototype or a Procedure
- The languages have been restructured to match RPG terminology. The new structure has been implemented to improve transaction resolution and obtain accurate FP count:
- DDS400 now contains the types "DB400 Physical File" and "DB400 Logical File", the corresponding properties and the sub-object "DB400 RecordStructure"
- DB400 is now used to represent the SQL Tables and Views when the corresponding database (DB2 UDB for ISeries SQL) is not delivered. The tables and views are created based on the "Create table" / "Create view" statement provided in *.SQL files and also with the Physical and Logical File delivered in *.PF and *.LF files. Note that the recommended process is to deliver and analyze the real DB2 UDB databases.
- In RPG 2.0, embedded SQL is now supported, primarily to obtain Usiud links from RPG400 and CL400 objects to SQL Tables and SQL Views. The resolution of these link types requires that the database (DB2 UDB) is delivered and analyzed, however, the DB400 extractor can be used to simulate this database.
- The following source code is considered as embedded SQL:
- For RPG400: C/EXEC SQL … C/END-EXEC
- For RPG Free Format: EXEC SQL … ;
- For CL: RUNSQL(…)
- Dynamic execution is not supported.
- The following source code is considered as embedded SQL:
- RPG 2.0 provides a first level of support for Free Format
- RPG 2.0 does not support CTDATA structure
- RPG 2.0 supports CL400 Subroutines. Previously only CL400 Programs were supported. RPG 2.0 identifies CL400 Subroutines defined inside CL400 Programs.
- RPG 2.0 provides a better count of comment lines for RPG And CL objects.
RPG 2.0 has specific pre-processors for each language: the preprocessor per language only considers the files with the expected extensions. This change will significantly improve the performance of the automatic preprocessing step.