Ispirer Ispirer

Ispirer Home Page Ispirer SQLWays Migration Product Page Request SQLWays

How To Migrate Progress 4GL to .NET Using Command Line

To migrate Progress 4GL code to .NET technology in command line mode you can use SQLWays.exe command line tool. This tool is a part of Ispirer Migration and Modernization ToolKit and is a main core tool that performs conversion between databases and applications.


If you run the SQLWays.exe tool for the first time, you need to register the tool using the license information that you have. You can register the toolkit using the SQLWays Wizard tool. Here you can find step by step guide on how to run and register the tool. Please follow the steps described in the article:

How to Run And Register The Toolkit


After you registered the toolkit you need to run the following command in the Command Prompt:

 c:\Program Files\Ispirer\MnMTK2015\SQLWays.exe" /D=FIXED /SOURCE= Progress 4GL /TARGET=CS /F=c:\example\*.* /DIR=ResultCS\ /INI=sqlways.ini /TBLDDL=Tables_ddl.sql

Description of command line options:

  • c:\Program Files\Ispirer\MnMTK2015\SQLWays.exe - a path to the SQLWays.exe command line tool that will run the conversion.
  • /F – a path to the source files that should be converted.
  • /DIR - a path to the folder where the conversion results will be saved.
  • /INI - a path to the options file (.INI file where all the options supported by Ispirer Migration And Modernization ToolKit are located).
  • /SOURCE - option that defines a source technology (database or application).
  • /TARGET - option that defines a target technology (database or application).
  • /TBLDDL - a path to the Tables_DDL.sql file. This is the file with the MSSQL table definitions. This file is used by the SQLWays.exe tool in order to apply correct conversion of columns, data types and JOINS.

Options In the Options File

To convert your Progress 4GL source code, please specify the following options in the sqlways.ini file:

  • DSN=c:\Root\ - a full path to source folder for correct coloring of call of functions from libraries.
  • REGISTRATION_NAME= - is mandatory for your company.
  • TARGET_DB= - specifies the target database.
  • DATA_MODEL= - specifies the data model.
    • ENTITY_MODEL_NAME= - specifies the name of your sql schema.
    • ENTITY_MODEL_NAMESPACE= - is used to identify the name of database model.
  • UI_TYPE= - specifies Windows Forms technology for migration if there is any UI logic.
  • GENERATE_CSPRJ= - creates VS project file (but in that case Entity Model should be added manually).
  • COMPILED_QUERIES= - defines whether the LINQ Compiled queries should be generated.
  • CONVERT_DEPEND_LIBS= - specifies that dependent libraries should be ignored after migration of Progress 4GL procedures if libraries are not selected for migration. Please note that this option doesn't not switch off reading of all necessary information from libraries required for procedures, it means that libraries will be migrated independently.
  • TEMP_TABLES_PREFIX= - defines whether the “tt” prefix should be removed from the temporary tables.
  • GENERATE_TRANSACTIONSCOPE= - generates TransactionScope for 4GL transactions.
  • PROJECT_NAMESPACE= - specifies project namespace.
  • SAVE_4GL_QUERIES= - allows to see source 4GL queries in comments inside the converted target code.
  • GENERATE_SYSTEM_PARAMETERS= - add system parameters to constructor declarations of initial parameters.
  • PARSER_PR_4GL= - allows to parse unix escape characters.

Ispirer Note:

 To use EDM model please perform the following steps:
 1.   Create “db” folder in root source directory 
 2.   Rename your edmx model file to “DataClasses.edmx” and place it in “db” folder

If you face any issues or have any questions on how to migrate Progress 4GL code to .NET in command line, please contact our support team:

Ispirer Home Page Ispirer SQLWays Migration Product Page Request SQLWays

sqlways/users-guide/migrate-progress4gl-to-c-net.txt · Last modified: January 25, 2019, 11:50:33 AM by darya.prikhodkina
© 1999-2019, Ispirer Systems Ltd.
All Rights Reserved.  Privacy Statement