The IBM version of COBOL closely adheres to COBOL 74/85 Standards. However, IMS COBOL applications tend to use IBM Libraries for data and screen access. Notably, both IMS DC screen handling and IMS DB database handling use a consistent format for sending and receiving information.
COBOL and IMS DB programs interact with the IMS database via DLI-specific calls, exemplified by:
CALL 'CBLTDLI' USING FUNC ...
or
EXEC DLI 'FUNC' ...
SoftwareMining COBOL translator attempt to differentiate between Database and Screen statements,
marking them based on their association with either Screen or Database markers.
Migration of COBOL IMS DB to SQL / Object-Relational Java / C# designs
SoftwareMining utilities translate IMS's hierarchical structures (defined in DBDGEN macros) to SQL Tables whilst keeping segment Parent/Child relationships intact.
Additionally, a set of Object-Relational data-access classes will be generated which also replicate the parent/Child relationship.
For example, opening the PARENT class (segment) will also open all the CHILD classes (segments) at appropriate position.
Next, the system will use the information in program specific PCBs to construct the set of relationships required by different programs.
This will allow each program to know (at runtime) which SQL tables (and relationships) should be accessed.
Finally, an IMS call emulation layer will sit on top of the Object-Relational classes and SQL tables to ensue adherence to IMS call requirements.
E.g. the first GN (GetNext) call should return information on PARENT, but the subsequent GN call should return information on CHILD segments.
COBOL programs access IMS-Databases via CALL CLBTDLI statements. The way the IMS system is designed, most of the important information only visible at runtime (encoded in the runtime parameters - not visible at design time).
This makes it difficult for any developer to determine functionality of the program through a simple visual inspections!
One of the main advantages of the SoftwareMining's architecture is the runtime system can report the SQL generated/used in each IMS Db call.
The information allows developers see what activities are performed by each IMS Db call, and gradually (in a 2nd phase of the project)
replace them with more efficient and optimized SQL statements.
Such changes will improve both applications performance and maintainability.
This implies the project can be broken down into two phases:
Phase-1 : Quick Translation, data-migration, testing and moving into production of the application
Phase-2 : Changes to IMS-DC (CLBTDLI) type statements to improve legibility and enhance performance
Migration of COBOL IMS DC - Online Applications
IMS DC is employed in online applications to display screens in the MFS format on various terminals,
with 3270 terminals being the most prevalent. SoftwareMining's methodology translates MFS screen definitions into Jsp/XHTML (HTML) formats
, allowing access via web browsers. Initially, the web application will mirror the appearance and behavior of the original 3270 screens.
However, it can be swiftly enhanced with features like checkboxes, radio buttons, and drop-down lists to improve user experience.
IMS DC Screens Translated to HTML: How Do They Appear and Can They Be Edited Easily?
Video starts on slide: HTML Screen-handling
IBM IMS / IDMS / DL1 COBOL to Java/C# Migration - Further reading