Convert Informix 4GL to Microsoft SQL Server T-SQL

Delivering you an intelligent and high quality result in due time!

Automated Application Conversion

Do you need to convert your Informix 4GL application to Microsoft T-SQL? In this case, Ispirer products will be the perfect solution for your project!
Human-written code in each project has its own specifics. It may seem difficult to obtain a high level of automated conversion. With Ispirer it will be a smooth transition. The main advantage of Ispirer MnMTK is the personalization for your conversion project. As a result, you will replace the old technology with all its downsides. Outcome will be a new application without any middleware used afterwards.

How it Works

Ispirer Migration and Modernization Toolkit (Ispirer MnMTK)

Automated conversion of Informix 4GL to Microsoft T-SQL with the help of our tool makes it possible to significantly reduce the time and expenses as compared to manual rewriting of the application. The following approach allows to ensure high quality of automated conversion:

1. Preliminary Stage

The stage is carried out to determine the current conversion level of Ispirer MnMTK. The level of conversion depends on the complexity of the source code and the requirements for the target application. You can independently perform the analysis of the source code of your Informix 4GL application, as well as try to convert it to Microsoft T-SQL using the demo license. Besides, our experts can perform the source code analysis and provide you with examples of its conversion.
If your application is quite specific and large, we recommend to perform PoC to determine the maximum level of automated conversion of your project.
As a result, we will find out whether the extension stage is required or you can directly proceed to the conversion.

2. Ispirer MnMTK Extension Stages

If this stage is necessary, we will perform the extension to thoroughly prepare the toolkit for the conversion according to your project requirements. We will take a part of a representative code that amounts ussually to ~100,000 lines. The Ispirer technical team will add all the required conversion rules into the tool to achieve the highest possible level of automation or even to get a compilable result. As a delivery, we will provide conversion results of the scope of this Extension Stage. The customer will get customized and updated tool according to his specific project needs.

3. Use of Ispirer MnMTK

At this stage, you perform the conversion yourself. As to pricing, we apply project-based licensing. Prices depend on its scope and duration. The license includes support as well. If necessary, the conversion may be further improved even at this stage. As a result, Extension Requests, each of which is processed within 1-3 business days, are added to the license. Our experts will recommend the optimal number of requests considering the complexity and requirements of your project.

Ispirer MnMTK 2017

Ispirer MnMTK 2017
Informix 4GL to Microsoft T-SQL
Free Demo License

Try Now

Ispirer Migration and Modernization Service (Ispirer Service)

Our experienced team can provide you with a turnkey migration service and convert your entire Informix 4GL application to Microsoft T-SQL, delivering you a ready-to-use application in due time. Our responsibilities include not only professional analysis, assessment, performance and testing of your migration, but also services such as adding new or changing existing functionality of the application.

If you want to get an intermediate result of the converted Informix 4GL code in the Microsoft T-SQL language, the Ispirer team will be glad to provide you with a basic migration service. As a result, you will get code that is optimized to the compilable level. Further, you will have to independently bring the application to a fully functional state in accordance with your requirements.

You are free to choose a preferred option. Nevertheless, we can provide an estimate of both the Tool and the Service, and give professional advice.

Conversion Overview

  • Converts Informix 4GL functions (*.4gl) to T-SQL functions/procedures (*.sql)
Informix 4GLMicrosoft SQL Server T-SQL
  1. function sample_func(s_char)
  2. #-------------------#
  3. define
  4. s_char char(100),
  5. i smallint,
  6. j smallint,
  7. r_char char(100)
  8.  
  9. let r_char = " "
  10.  
  11. for i = 1 to 100
  12. if (s_char[i,i] = " ") then
  13. continue for
  14. else
  15. let r_char = s_char[i,100]
  16. exit for
  17. end if
  18. end for
  19.  
  20. return r_char
  21.  
  22. end function
  1. FUNCTION sample_func(@s_char CHAR(2000))
  2. ---------------------#
  3. RETURNS CHAR(2000)
  4. BEGIN
  5. DECLARE @i INT = 0
  6. DECLARE @j INT = 0
  7. DECLARE @r_char CHAR(100) = ' '
  8. DECLARE @SWR_i INT
  9. SET @r_char = SUBSTRB(' ',1,100)
  10. SET @SWR_i = 1
  11. while (@SWR_i <= 100)
  12. BEGIN
  13. SET @i = @SWR_i
  14. IF(SUBSTRB(@s_char,@i,1))
  15. continue
  16. ELSE
  17. BEGIN
  18. SET @r_char = SUBSTRB(SUBSTRB(@s_char,@i,101 -@i),1,100)
  19. BREAK
  20. END
  21. SET @SWR_i = @SWR_i+1
  22. END
  23. RETURN @r_char
  24. END
  • Converts comments:
Informix 4GLMicrosoft SQL Server T-SQL
  1.  
  2. #Single line comments
  3.  
  4. {
  5. Multiline comments
  6. }
  7.  
  1.  
  2. --Single line comments
  3.  
  4. /*
  5.   Multiline comments
  6.   */
  7.  
  • Convert data types
Informix 4GL typeMicrosoft T-SQL data type
char(length)CHAR(length)
smallintINT
integerINT
dateDATETIME
decimal(n,m)DECIMAL(n,m)

  • Converts records to table type variables
Informix 4GLMicrosoft SQL Server T-SQL
  1.  
  2. define c0 record like ctl_f0.*
  3.  
  1.  
  2. DECLARE @c0 TABLE (ctl_f0_id INT, ctl_f0_name VARCHAR(100), ctl_f0_description VARCHAR(1000))
  3.  
  • Converts built-in functions, expressions and predicates
Informix 4GL typeMicrosoft T-SQL data type
Ascii functionlet a = ascii 223SET a = CHAR(223)
Clipped functionlet a = b clippedSET a = RTRIM(b)
Date functionlet a = date(b)SET a = CONVERT(DATETIME, b)
Day functionlet a = day(b)SET a = DATEPART(DAY, b)
Mdy functionlet a = mdy(b,c,d)SET a = CONVERT(DATETIME,STR(b) + '-' + STR(c) + '-' + STR(d))
Month functionlet a = month(b)SET a = month(b)
Upshift functionlet a = upshift(b)SET a = UPPER(b)
Using functionlet a = b using "######&"SET a = STR(b,[’9999990’])
Year functionlet a = year(b)SET a = year(b)
Concat expressionlet a = b, “cd”,dSET a = b + [“cd”] + d
Mod expressionlet a = b mod 2SET a = b%2
Substring expressionlet a = b[2,2]SET a = substr(b,2,1)
True/False expressionlet a = true
let a = false
SET a = true
SET a = false
Matches predicateif (n not matches "[0123456789]") thenif (not regexp_like(n,'[0123456789]')) then

  • Converts statements of business logic

For example,

For range loop

Informix 4GLMicrosoft SQL Server T-SQL
  1. for i = 1 to 10
  2. end for
  3.  
  4.  
  5.  
  1. SET @i = 1
  2. while (@i <= 10)
  3. BEGIN
  4. SET @i = @i+1
  5. END

Case statement

Informix 4GLMicrosoft SQL Server T-SQL
  1. case a
  2. when 1
  3. when 2
  4. otherwise
  5. end case
  1. IF @a = 1
  2. ELSE IF @a = 2
  3. ELSE
  4. END
  5.  

Declare cursor

Informix 4GLMicrosoft SQL Server T-SQL
  1. declare cur_n0 cursor for
  2. select n0_ch from nkin_a
  3. where (n0_kau_no = s_kau_no)
  4. and (n0_cd = s_cd)
  1. DECLARE CUR_N0 cursor FOR SELECT n0_ch FROM nkin_a
  2. WHERE (n0_kau_no = s_kau_no)
  3. AND (n0_cd = s_cd)
  4.  

Informix Database Migration

Along with converting Informix 4GL to SQL Server Transact-SQL, Ispirer solutions can automate the entire migration of your Informix database objects, including tables, data, as well as SQL business logic, to any other technology. As a result, you get a fully functioning database system. Choosing Ispirer's comprehensive migration solution, you will be able to eliminate most of associated risks and considerably reduce internal efforts. Click here to learn more about Informix migration.

Get a Project Estimate

Ispirer MnMTK

Reach the maximum level of automation and quality of your conversion with the help of Ispirer Migration and Modernization Toolkit! Based on your requirements, the Ispirer team will process all extension requests for your Informix 4GL to Microsoft T-SQL conversion project. We offer several types of Ispirer MnMTK licenses, among which you will find the one that is suitable for you. Each conversion project is considered and discussed separately, prices depend on its scope, duration and complexity.

Ispirer MnMTK 2017

Ispirer MnMTK 2017
Informix 4GL to Microsoft T-SQL

Get an Estimate

Ispirer Service

If you don't want to involve your own resources to move the Informix 4GL application to Microsoft T-SQL, get Ispirer Migration and Modernization Service and we will deliver you an operational and high-quality end-result on time and at a reasonable price. Apart from professional Analysis, Evaluation, Performance and Testing of your migration, we also provide such services as Code Refactoring, Changing Functionality, and Adding Extra Functionality. Each conversion project is reviewed and discussed separately and the final price is a subject to negotiation.

Ispirer Migration Service

Ispirer Migration Service
Informix 4GL to Microsoft T-SQL

Get an Estimate

Benefits You Get

100% Automation

Conversion Automation

Automation will definitely facilitate the conversion, the manual work after the process will be significantly reduced.

Flexible Pricing

Flexible Pricing

You pay for only what you need: pricing depends on the scope, complexity and duration of your conversion project.

Optimized Migration

Use of Modern Technology

You get an intelligent and maintainable code, and immediately start enjoying the benefits of new technologies.

What Our Customers Say

Progress to Microsoft SQL Server, Progress 4GL to ASP.NET

C/C++, AutoLISP to C# .NET

Oracle PL/SQL to Splice Machine

previous arrow
next arrow
Slider

Informix 4GL code to Microsoft T-SQL Conversion

  • Converts Informix 4GL functions (*.4gl) to T-SQL functions/procedures (*.sql)
Informix 4GLMicrosoft SQL Server T-SQL
  1. function sample_func(s_char)
  2. #-------------------#
  3. define
  4. s_char char(100),
  5. i smallint,
  6. j smallint,
  7. r_char char(100)
  8.  
  9. let r_char = " "
  10.  
  11. for i = 1 to 100
  12. if (s_char[i,i] = " ") then
  13. continue for
  14. else
  15. let r_char = s_char[i,100]
  16. exit for
  17. end if
  18. end for
  19.  
  20. return r_char
  21.  
  22. end function
  1. FUNCTION sample_func(@s_char CHAR(2000))
  2. ---------------------#
  3. RETURNS CHAR(2000)
  4. BEGIN
  5. DECLARE @i INT = 0
  6. DECLARE @j INT = 0
  7. DECLARE @r_char CHAR(100) = ' '
  8. DECLARE @SWR_i INT
  9. SET @r_char = SUBSTRB(' ',1,100)
  10. SET @SWR_i = 1
  11. while (@SWR_i <= 100)
  12. BEGIN
  13. SET @i = @SWR_i
  14. IF(SUBSTRB(@s_char,@i,1))
  15. continue
  16. ELSE
  17. BEGIN
  18. SET @r_char = SUBSTRB(SUBSTRB(@s_char,@i,101 -@i),1,100)
  19. BREAK
  20. END
  21. SET @SWR_i = @SWR_i+1
  22. END
  23. RETURN @r_char
  24. END
  • Converts comments:
Informix 4GLMicrosoft SQL Server T-SQL
  1.  
  2. #Single line comments
  3.  
  4. {
  5. Multiline comments
  6. }
  7.  
  1.  
  2. --Single line comments
  3.  
  4. /*
  5.   Multiline comments
  6.   */
  7.  
  • Convert data types
Informix 4GL typeMicrosoft T-SQL data type
char(length)CHAR(length)
smallintINT
integerINT
dateDATETIME
decimal(n,m)DECIMAL(n,m)

  • Converts records to table type variables
Informix 4GLMicrosoft SQL Server T-SQL
  1.  
  2. define c0 record like ctl_f0.*
  3.  
  1.  
  2. DECLARE @c0 TABLE (ctl_f0_id INT, ctl_f0_name VARCHAR(100), ctl_f0_description VARCHAR(1000))
  3.  
  • Converts built-in functions, expressions and predicates
Informix 4GL typeMicrosoft T-SQL data type
Ascii functionlet a = ascii 223SET a = CHAR(223)
Clipped functionlet a = b clippedSET a = RTRIM(b)
Date functionlet a = date(b)SET a = CONVERT(DATETIME, b)
Day functionlet a = day(b)SET a = DATEPART(DAY, b)
Mdy functionlet a = mdy(b,c,d)SET a = CONVERT(DATETIME,STR(b) + '-' + STR(c) + '-' + STR(d))
Month functionlet a = month(b)SET a = month(b)
Upshift functionlet a = upshift(b)SET a = UPPER(b)
Using functionlet a = b using "######&"SET a = STR(b,[’9999990’])
Year functionlet a = year(b)SET a = year(b)
Concat expressionlet a = b, “cd”,dSET a = b + [“cd”] + d
Mod expressionlet a = b mod 2SET a = b%2
Substring expressionlet a = b[2,2]SET a = substr(b,2,1)
True/False expressionlet a = true
let a = false
SET a = true
SET a = false
Matches predicateif (n not matches "[0123456789]") thenif (not regexp_like(n,'[0123456789]')) then

  • Converts statements of business logic

For example,

For range loop

Informix 4GLMicrosoft SQL Server T-SQL
  1. for i = 1 to 10
  2. end for
  3.  
  4.  
  5.  
  1. SET @i = 1
  2. while (@i <= 10)
  3. BEGIN
  4. SET @i = @i+1
  5. END

Case statement

Informix 4GLMicrosoft SQL Server T-SQL
  1. case a
  2. when 1
  3. when 2
  4. otherwise
  5. end case
  1. IF @a = 1
  2. ELSE IF @a = 2
  3. ELSE
  4. END
  5.  

Declare cursor

Informix 4GLMicrosoft SQL Server T-SQL
  1. declare cur_n0 cursor for
  2. select n0_ch from nkin_a
  3. where (n0_kau_no = s_kau_no)
  4. and (n0_cd = s_cd)
  1. DECLARE CUR_N0 cursor FOR SELECT n0_ch FROM nkin_a
  2. WHERE (n0_kau_no = s_kau_no)
  3. AND (n0_cd = s_cd)
  4.  

Get in touch with us!

Have questions about migration from Informix 4GL to Microsoft T-SQL?

Contact us