Intelligent, Custom and Highly Automated Cross Platform Database and Application Migration

COBOL to Java conversion

Ispirer MnMTK is the application migration tool, which supports COBOL to Java conversion of any level of complexity.

We develop Ispirer MnMTK using our customer-oriented approach so as we do our best in order to satisfy all your project requirements. Our technical experts have great experience in application migrations and always find innovative solutions even to complicated problems.

    This demo shows how Ispirer MnMTK 2015 can convert COBOL to Java.



    Why Ispirer MnMTK

    Ispirer MnMTK automates the entire migration process COBOL to Java conversion. Moreover, choosing Ispirer MnMTK to convert COBOL you eliminate most of associated risks and considerably reduce internal efforts. All these benefits are available at very reasonable and competitive costs, which makes Ispirer MnMTK even more attractive conversion tool for this project type.

    Our main benefits:

    • High quality and experiences technical support: our technical team has a tremendous experience in migration projects of different levels of complexity.
    • Customer-oriented approach and Fast Customization: we personalize our migration tool in such a way that a customized version can fully satisfy our client’s business needs, custom conversions and optimizations are made within 1-2 business days;
    • Pre-Sales Engagement: we demonstrate a full conversion during the evaluation before you make a decision.
    • Flexible pricing: we can offer you a wide range of options, among which you will definitely find the one which suits you;
    • Optimized Conversion: after the conversion you get an intelligent and maintainable code, without using any Ispirer's middleware.

    Assessment Process

    The assessment of your migration project could definitely help to weigh up efforts and the approximate cost of your migration. In order to facilitate the process, you're welcome to fill in our:

  • Cobol to Java Migration Questionnaire

Live Presentation

Ispirer Migration Solution

COBOL to Java

Request

Request a Quote

Ispirer Migration Solution

COBOL to Java

Service Toolkit

COBOL Program Structure

  1.  
  2. IDENTIFICATION DIVISION.
  3. PROGRAM-ID. DemoId.
  4. ENVIRONMENT DIVISION.
  5. DATA DIVISION.
  6. PROCEDURE DIVISION.
  7. FIRST-PARAGRAPH.
  8. DISPLAY "First DEMO".
  9.  


There are the four divisions:

  • IDENTIFICATION DIVISION: This is where you must enter the program name.
  • ENVIRONMENT DIVISION: This is where you define the files the program needs.
  • DATA DIVISION: This is where you declare variables, records, files etc.
  • PROCEDURE DIVISION: This is where you write the program. In the sample above this is all in one paragraph. A paragraph is a series of statements named by a label. There is no specific mark to the end of a paragraph.

Conversion features

  • Migrates database of COBOL’s application to Oracle/MySQL/PostgreSQL/etc. database

  • Converts COBOL's programs to Java classes
    1.  
    2. package CobolApplication;
    3.  
    4. public class DemoId
    5. {
    6. static void main(String[] args)
    7. {
    8. System.out.println("First DEMO");
    9. }
    10. }
    11.  
  • Converts identifiers’ names to “camel” case

  • Converts WORKING-STORAGE section with declaration variables to variables of class

  • COBOL:

    1.  
    2. WORKING-STORAGE SECTION.
    3. 01 MY_STRING_1 PIC X(20).
    4. 01 MY_STRING_2 PIC X(30).
    5. 01 MY_NUMBER PIC 9(2) VALUE 1.
    6.  

    Java:

    1.  
    2. private String MyString1;
    3. private String MyString2;
    4. private int MyNumber = 1;
    5.  
  • Converts COBOL records to user-defined Java types

  • COBOL:

    1.  
    2. 01 MY_DATA_RECORD.
    3. 03 MY_NAME PIC X(20).
    4. 03 MY_ADDRESS PIC X(40).
    5. 03 MY_ID PIC 9(2).
    6.  

    Java:

    1.  
    2. public class MyDataRecord
    3. {
    4. public String MyName = "John Smit";
    5. public String MyAddress = "Walt street";
    6. public int MyId = 123;
    7. }
    8. public MyDataRecord myDataRecord = new MyDataRecord();
    9.  
  • Converts COBOL MOVE TO/COMPUTE statements to Java assignment statements

  • COBOL:

    1.  
    2. MOVE 5 TO MY_NUMBER.
    3.  

    Java:

    1.  
    2. MyNumber = 5;
    3.  
  • Converts COBOL sections (group of paragraphs or statements) to Java methods. The SECTION could be called using PERFORM statement. PERFORM is converted to call of Java method.

  • COBOL:

    1.  
    2. DISPLAY-INFORMATION.
    3. DISPLAY DISPLAY 'My Number = ' MY_NUMBER.
    4.  

    Java:

    1.  
    2. private void DisplayInformation()
    3. {
    4. System.out.println("My Number = " + MyNumber);
    5. }
    6.  
  • Converts COBOL control structures to Java control statements

  • COBOL:

    1.  
    2. IF MY_NUMBER > 5
    3. MOVE 12 TO MY_NUMBER.
    4.  

    Java:

    1.  
    2. if (MyNumber > 5)
    3. {
    4. MyNumber = 12;
    5. }
    6.  

    COBOL:

    1.  
    2. PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000
    3. DISPLAY "Still between 100 and 1000"
    4. END-PERFORM
    5.  

    Java:

    1.  
    2. while ((MyNumber > 100) && (MyNumber < 1000))
    3. {
    4. System.out.println("Still between 100 and 1000");
    5. }
    6.  
  • Converts Screen output (DISPLAY statement) to “System.out.println” method

  • Converts EXEC SQL/ END-EXEC(select, insert, update, delete, CURSOR statements) statements to Java calls of database SQL procedures generated automatically based on Embedded SQL statements

  • COBOL:

    1.  
    2. EXEC SQL
    3. DECLARE GET_EMPLOYEE CURSOR FOR
    4. SELECT NAME,
    5. ADDRESS,
    6. PHONE
    7. FROM EMPLOYEE
    8. WHERE EMPID =:MY_ID
    9. END-EXEC.
    10.  
    11. EXEC SQL
    12. OPEN GET_EMPLOYEE
    13. END-EXEC.
    14.  
    15. EXEC SQL
    16. FETCH GET_EMPLOYEE
    17. INTO :CST-NAME,
    18. :CST-ADDRESS,
    19. :CST-PHONE
    20. END-EXEC
    21.  
    22. IF CST-NAME > SPACES
    23. DISPLAY 'NAME = ' CST-NAME
    24. DISPLAY 'ADDRESS = ' CST-ADDRESS
    25. DISPLAY 'PHONE = ' CST-PHONE
    26. ELSE
    27. DISPLAY 'EMPLOYEE NOT FOUND'
    28. END-IF.
    29.  
    30. EXEC SQL CLOSE GET_EMPLOYEE END-EXEC.
    31.  

    Java:

    1.  
    2. create or replace
    3. PROCEDURE getEmployee_Cursor_Proc1
    4. (in_my_id IN EMPLOYEE.EMPID%TYPE,
    5. out_cts_name OUT EMPLOYEE.NAME%TYPE,
    6. out_cst_address OUT EMPLOYEE.ADDRESS%TYPE,
    7. out_cst_phone OUT EMPLOYEE.PHONE%TYPE
    8. )
    9. AS
    10. BEGIN
    11. SELECT NAME, ADDRESS, PHONE
    12. INTO out_cts_name, out_cst_address, out_cst_phone
    13. FROM EMPLOYEE
    14. WHERE EMPID = in_my_id;
    15. END;
    16.  
    17. try{
    18. Connection con = DBConnection.getConnection();
    19. CallableStatement stmt = con.prepareCall
    20. ("{call getEmployee_Cursor_Proc1(?,?,?,?)}");
    21. stmt.setInt(1, MyId);
    22.  
    23. stmt.registerOutParameter(2, java.sql.Types.VARCHAR);
    24. stmt.registerOutParameter(3, java.sql.Types.VARCHAR);
    25. stmt.registerOutParameter(4, java.sql.Types.VARCHAR);
    26.  
    27. stmt.execute();
    28.  
    29. String CstName = stmt.getString(2);
    30. String CstAddress = stmt.getString(3);
    31. String CstPhone = stmt.getString(4);
    32.  
    33. if(CstName!=null){
    34. System.out.println("NAME="+CstName+",
    35. ADDRESS="+CstAddress+",PHONE="+CstPhone);
    36. }else{
    37. System.out.println("EMPLOYEE NOT FOUND");
    38. }
    39. }catch(Exception e){
    40. e.printStackTrace();
    41. }finally{
    42. try {
    43. stmt.close();
    44. con.close();
    45. input.close();
    46. } catch (SQLException e) {
    47. e.printStackTrace();
    48. }
    49. }
    50.  

    You can also reach us via Contacts page.

 
Testimonials
December 3, 2012Epicor Software Corporation, United States
Progress 4GL to C# .Net Migration

"Epicor has engaged with the Ispirer team to create and refine prototype techniques for migrating certain parts of the Epicor Progress ABL code to well...

...

Case Studies
May 26, 2014COBOL to .NET Conversion, United States

Our client was a major player in market-driven innovation and science. For more than two hundred years, it has been presenting world-class science and engineering to the global marketplace...

...

September 12, 2014Delphi to C# .NET, United States

Our client was a U.S.-based health insurance company providing care services since six decades through its extensive network of hospitals and other institutions.

...

Feedback

I just want to touch base with you to let you know that the tool is doing great work so far.

Read more
Industry Events