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

COBOL to VB.NET Conversion

Ispirer MnMTK performs COBOL to VB.NET conversion of any complexity.

Why Ispirer MnMTK

Ispirer MnMTK automatiza todo o processo de migração do seu aplicativo atual OpenEdge para Java. Além disso, escolhendo a nossa ferramenta de conversão - Ispirer MnMTK -você elimina a maioria dos riscos associados e reduz consideravelmente os esforços internos. Todos esses benefícios estão disponíveis a custos muito razoáveis e competitivos, o que faça Ispirer MnMTK o conversor ainda mais atraente para este tipo de projeto.

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:


Live Presentation

Ispirer Migration Solution

COBOL to VB.NET Conversion

Request

Request a Quote

Ispirer Migration Solution

COBOL to VB.NET Conversion

Service Toolkit

Our conversion tool Ispirer MnMTK is also capable of COBOL to C#.NET migration.

Conversion Features


COBOL Program Structure

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


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.
  • Migrates database of COBOL’s application to MSSQLServer database
  • Converts COBOL’s programs to VB.NET classes
    1.  
    2. Namespace CobolApplication
    3. Public Class DemoId
    4. Public Sub Main()
    5. ProcedureDivision()
    6. End Sub
    7. Private Sub ProcedureDivision()
    8. Console.WriteLine(“First Demo”)
    9. End Sub
    10. End Class
    11. End Namespace
    12.  
  • Converts identifiers’ names to “camel” case
  • Converts WORKING-STORAGE section with declaration variables to variables of class
    1. WORKING-STORAGE SECTION.
    2. 01 MY_STRING_1 PIC X(20).
    3. 01 MY_STRING_2 PIC X(30).
    4. 01 MY_NUMBER PIC 9(2) VALUE 1.

    To:

    1. Private MyString1 As String
    2. Private MyString2 As String
    3. Private MyNumber As Integer = 1

  • Converts COBOL records to user-defined VB.NET types
    1. 01 MY_DATA_RECORD.
    2. 03 MY_NAME PIC X(20) VALUE “John Smit”.
    3. 03 MY_ADDRESS PIC X(40) VALUE “Walt Street”.
    4. 03 MY_ID PIC 9(2) VALUE 123.

    To:

    1. Public Class MyDataRecord
    2. Public MyName As String = “John Smit”
    3. Public MyAddress As String = “Walt Street”
    4. Public MyId As Integer = 123
    5. End Class
    6. Private _myDataRecord As MyDataRecord = New MyDataRecord()

  • Converts COBOL MOVE TO/COMPUTE statements to VB.NET assignment statements
    1. MOVE 5 TO MY_NUMBER.

    To:

    1. MyNumber = 5

  • Converts COBOL sections (group of paragraphs or statements) to VB.NET subs. The SECTION can be called using PERFORM statement. PERFORM is converted to call of VB.NET sub.
    1. DISPLAY-INFORMATION.
    2. DISPLAY DISPLAY 'My Number = ' MY_NUMBER.

    To:

    1. Private Sub DisplayInformation()
    2. Console.WriteLine(“My Number =+ MyNumber)
    3. End Sub
  • Converts COBOL control structures to VB.NET control statements
    1. IF MY_NUMBER > 5
    2. MOVE 12 TO MY_NUMBER.

    To:

    1. If MyNumber > 5 Then
    2. MyNumber = 12
    3. End If
    And
    1. PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000
    2. DISPLAY "Still between 100 and 1000"
    3. END-PERFORM

    To:

    1. While MyNumber > 100 And MyNumber < 1000
    2. Console.WriteLine(“Still between 100 and 1000)
    3. End While

  • Converts Screen output (DISPLAY statement) to “Console.WriteLine” method
  • Converts EXEC SQL/ END-EXEC(select, insert, update, delete, CURSOR statements) statements to VB.NET LINQ queries
    1. EXEC SQL
    2. SELECT COUNT(*)
    3. INTO :MY_NUMBER
    4. FROM MY_TABL
    5. WHERE CTR_ID = :MY_STRING_1 AND
    6. MOD_CD = 'ONE'
    7. WITH UR
    8. END-EXEC.

    To:

    1. MyNumber = Aggregate MyTabl In db.MyTabls
    2. Where MyTabl.CtrId = MyString1
    3. And MyTabl.ModCd = "ONE"
    4. Into Count()
    And
    1. EXEC SQL
    2. DECLARE MY_CUR CURSOR FOR
    3. SELECT LOC_NO,
    4. EFF_DT,
    5. XPIR_DT,
    6. DET_AMT
    7. FROM MY_TABL
    8. WHERE CTR_ID = :MY_STRING_1
    9. AND MOD_CD = 'TWO'
    10. AND TRN_ID IS NULL
    11. ORDER BY LOC_NO
    12. WITH UR
    13. END-EXEC.
    14.  
    15. EXEC SQL
    16. OPEN MY_CUR
    17. END-EXEC.
    18.  
    19. EXEC SQL
    20. FETCH MY_CUR
    21. INTO :MY-LOC-NO,
    22. :MY-EFF-DT,
    23. :MY-XPIR-DT,
    24. :MY-ARO-AMT
    25. END-EXEC
    26.  
    27. EXEC SQL CLOSE MY_CUR END-EXEC.

    To:

    1. Dim MyCur = From MyTabl In db.MyTabls
    2. Where MyTabl.CtrId = MyString1
    3. And MyTabl.ModCd = "TWO"
    4. And MyTabl.TrnId IS Nothing
    5. ORDER BY LocNo Descending
    6.  
    7. For Each MyTabl In MyCur
    8. MyLocNo = MyCur.LocNo
    9. MyEffDt = MyCur.EffDt
    10. MyXpirDt = MyCur.XpirDt
    11. MyAroAmt = MyCur.DetAmt
    12. Next
    13. db.SaveChanges()


    You are welcome to contact us for more information.

 
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