SAL Migration First Steps

The following steps describe a basic migration of a Gupta/Centura/OpenText Application to a Web Application based on Wisej.NET.

General Approach

Migrating your Gupta/Centura/OpenText application to a Wisej.NET web application can be achieved by utilizing our porting tool Ice Porter and our powerful support library PPJ Frameworkarrow-up-right. The SQLWindows Application Language (SAL) is converted to C# or VB.NET, turning the existing legacy client/server application into a native browser-based solution.

File in the qrp format, that were developed using ReportBuilder, can be migrated and reused in widely used reporting frameworks such as SAP Crystal Reports, Microsoft's Reporting Services, combit List & Label, or Stimulsoft.

circle-info

Professional services and turn-key migration solutions are available from the makers of Wisej.NET and a number of international partners. Get in touch!arrow-up-right We have the knowledge, tools, and libraries to support you in the porting process.

Porting SAL applications

Project Structure

All ported applications will be organized in a well defined project structurearrow-up-right.

Functions

SAL and SQL functionsarrow-up-right are fully supported, while some of them are renamed for consistency. Depending on the porting settings function calls can be transfored to a more object oriented style:

For example:

SalStrLeftX(strName, 5, strName)

May have been ported to:

strName = strName.Left(5);

All Visual Toolchestarrow-up-right and most of the XSal2 arrow-up-rightfunctions are fully supported, too.

Data Types

All PPJ framework basic types support automatic casting to their equivalent .NET types allowing for a very smooth integration with .NET libraries.

For example:

Is the same as:

Dynamic arraysarrow-up-right are kind of special in Gupta but are also fully supported.

SalContext for hWnd* variables

hWndForm and hWndItem are widely used in SAL applications and are converted with using a SalContextarrow-up-right construct to handle all the different usages.

SqlContext for Binding

Similar to the SalContext, the SqlContext arrow-up-rightis used to support bind variables at runtime.

LINQ Support

Once ported to the PPJ, Arrays and TableWindows can be queried easily using LINQarrow-up-right.

SalCompileAndEvaluate

SalCompileAndEvaluate arrow-up-rightuses the interpreter to evaluate expressions. These are parsed in C# by default but Custom Parsersarrow-up-right are also supported.

Special considerations

SAL applications usually contain a couple of "special" constructs that mostly stem from SAL being an interpreted language. Ice Porter and the PPJ framework offer great support in migrating these concepts to the .NET world.

You might want to pay special attention to these features and tasks. All of them are described in full details in our PPJ documentation.

Porting QRP reports

Gupta reports can be migrated arrow-up-rightto 4 different reporting engines:

Last updated

Was this helpful?