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

Informix 4GL to Oracle PL/SQL Migration

Oracle Logo

Migrate from Informix 4GL to Oracle PL/SQL with the help of our Ispirer Migration and Modernization Toolkit! It supports Informix 4GL to Oracle PL/SQL conversion of any complexity and can be easily customized according to the particular requirements of any migration project.


Why Ispirer MnMTK 2015 for Informix 4GL to Oracle PL/SQL Conversion?

The main purpose of Ispirer Systems is to carry out a high-grade and top-of-the-line database migration. We personalize our migration tool Ispirer MnMTK in such a way that a customized version can fully satisfy a client's business requirements.

Our main advantages:

  • High quality and experience 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

Informix 4GL to Oracle PL/SQL

Request

Request a Quote

Ispirer Migration Solution

Informix 4GL to Oracle PL/SQL

Service Toolkit

Conversion Features

  • Converts Informix 4GL functions (*.4gl) to PL/SQL functions/procedures (*.sql)
  • Informix 4GL:

    1.  
    2. FUNCTION sample_func(s_char)
    3. #-------------------#
    4. define
    5. s_char CHAR(100),
    6. i SMALLINT,
    7. j SMALLINT,
    8. r_char CHAR(100)
    9. let r_char = " "
    10. FOR i = 1 TO 100
    11. IF (s_char[i,i] = " ") THEN
    12. continue FOR
    13. ELSE
    14. let r_char = s_char[i,100]
    15. exit FOR
    16. END IF
    17. END FOR
    18. RETURN r_char
    19. END FUNCTION
    20.  

    Oracle PL/SQL:

    1.  
    2. FUNCTION sample_func(s_char IN CHAR)
    3. ---------------------#
    4. RETURN CHAR
    5. AS
    6. i NUMBER(5,0) := 0;
    7. j NUMBER(5,0) := 0;
    8. r_char CHAR(100) := ' ';
    9. BEGIN
    10. r_char := SUBSTRB(' ',1,100);
    11. FOR SWR_i IN 1 .. 100
    12. LOOP
    13. i := SWR_i;
    14. IF (SUBSTRB(s_char,i,1)) THEN
    15. continue;
    16. ELSE
    17. r_char := SUBSTRB
    18. (SUBSTRB(s_char,i,101 - i),1,100);
    19. exit;
    20. END IF;
    21. END LOOP;
    22. RETURN r_char;
    23. END;
    24.  
  • Converts comments:
    • Single line comments
    • Informix 4GL:

      #Comment
      

      Oracle PL/SQL:

      1.  
      2. --Comment
      3.  
    • Multiline comments
    • Informix 4GL:

      {
      Comments
      }
      

      Oracle PL/SQL:

      1.  
      2. /*
      3. Comments
      4. */
      5.  
  • Converts data types
  • Informix 4GL type Oracle PL/SQL data type
    char(length) CHAR(length)
    smallint NUMBER(5,0)
    integer NUMBER(10,0)
    date DATE
    decimal(n,m) NUMBER(n,m)

  • Converts records
    • Record like id.*
    • Informix 4GL

      1.  
      2. define c0 record LIKE ctl_f0.*
      3.  

      Oracle PL/SQL:

      1.  
      2. c0 ctl_f0%rowtype;
      3.  
    • Record with record list
    • Informix 4GL:

      1.  
      2. define w_just record
      3. b_yy INTEGER,
      4. b_mm INTEGER,
      5. b_dd INTEGER
      6. END record
      7.  
      8. Usage:
      9. Let wjust.* = c0.*
      10.  

      Oracle PL/SQL:

      1.  
      2. TYPE SWT_w_just IS record(b_yy NUMBER(10,0),
      3. b_mm NUMBER(10,0),b_dd NUMBER(10,0));
      4. w_just SWT_w_just;
      5. Usage:
      6. wjust := c0;
      7.  
    • Array record with record list
    • Informix 4GL:

      1.  
      2. define nbw array[4,60] OF record
      3. nb_g_kbn CHAR(1),
      4. nb_g_nymd CHAR(7)
      5. END record
      6.  
      7. Usage:
      8. let nbw[1,i].*=nbw[4,i].*
      9.  

      Oracle PL/SQL:

      1.  
      2. TYPE SWT_nbw IS record(nb_g_kbn CHAR(1),nb_g_nymd CHAR(7));
      3. TYPE SWT_nbw2 IS VARRAY(60) OF SWT_nbw;
      4. TYPE SWT_nbw3 IS VARRAY(4) OF SWT_nbw2;
      5. nb1w SWT_nbw3;
      6. Usage:
      7. nbw(1)(i) := nbw(4)(i);
      8.  

  • Converts built-in functions, expressions and predicates
  • Informix 4GL type Oracle PL/SQL data type
    Ascii function let a = ascii 223 a:= chr(223);
    Clipped function let a = b clipped a:= RTRIM(b);
    Date function let a = date(b) a:= to date(b);
    Day function let a = day(b) a:= EXTRACT(day from b);
    Mdy function let a = mdy(b,c,d) a := TO_DATE(TO_CHAR(b) || '-' || TO_CHAR(c) || '-' || TO_CHAR(d),'mm-dd-yy');
    Month function let a = month(b) a := EXTRACT(month from b);
    Upshift function let a = upshift(b) SET a = UPPER(b)
    Using function let a = b using "######&" a := to_char(b,’9999990’);
    Year function let a = year(b) a := EXTRACT(year from b);
    Concat expression let a = b, “cd”,d a := b || “cd” || d;
    Mod expression let a = b mod 2 a := mod(b, 2);
    Substring expression let a = b[2,2] a := substr(b,2,1);
    True/False expression let a = true
    let a = false
    a := 1;
    a := 0;
    Matches predicate if (n not matches "[0123456789]") then if (not regexp_like(n,'[0123456789]')) then
    True predicate while(true) while(1 = 1)

  • Converts statements of business logic
    • For range loop
    • Informix 4GL:

      1.  
      2. FOR i = 1 TO 10
      3. END FOR
      4.  

      Oracle PL/SQL:

      1.  
      2. FOR i IN 1..10
      3. LOOP
      4. END LOOP;
      5.  
    • Case statement
    • Informix 4GL:

      1.  
      2. CASE a
      3. WHEN 1
      4. WHEN 2
      5. otherwise
      6. END CASE
      7.  

      Oracle PL/SQL:

      1.  
      2. CASE a
      3. WHEN 1
      4. THEN
      5. WHEN 2
      6. THEN
      7. ELSE
      8. END CASE
      9.  
    • Declare cursor
    • Informix 4GL:

      1.  
      2. DECLARE cur_n0 cursor FOR
      3. SELECT n0_ch FROM nkin_a
      4. WHERE (n0_kau_no = s_kau_no)
      5. AND (n0_cd = s_cd)
      6.  

      Oracle PL/SQL:

      1.  
      2. cursor cur_n0 IS SELECT n0_ch FROM nkin_a
      3. WHERE (n0_kau_no = s_kau_no)
      4. AND (n0_cd = s_cd);
      5.  

For database migration information, please, visit the page Informix to Oracle Database Migration.


You can also reach us via Contacts page.

 
Meet Ispirer MnMTK 2017!
October 4, 2017 Meet Ispirer MnMTK 2017!

We are glad to announce the Release of Ispirer Migration and Modernization Toolkit 2017! We worked in a strong cooperation with our customers to make it more convenient and powerful.


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 have been able to install the tool, and I must say that it has been one of the best I have found on the Internet. For the moment I’ve learned to manage the tool well.

Read more
Industry Events