Ispirer MnMTK ist das Tool für die Anwendungskonvertierung. Dieses Tool kann die Konvertierung von Progress 4GL nach Java automatisch durchführen.
Während der Erarbeitung unser Tools berücksichtigen wir die Anforderungen der Kunden um die besten Konvertierungsergebnisse zu erreichen.
Unser technishes Team hat viele Erfahrung und immer findet die innovativen Lösungen zu den komplizierten Problemen.
Diese Demo zeigt, wie Ispirer MnMTK 2015 Progress 4GL nach Java konvertieren kann:
Warum Ispirer MnMTK
Unsere Vorteile:
- Hochqualifiziertes Team: unsere Experte haben viele Erfahrung in den Migrationsprojekten und können Migrationen auf jeden Schwierigkeitsgrad durchführen.
- Kundenorientierung: wir personalisieren das Tool gemäß der Anforderungen von den Kunden. Die Erweiterung des Tools nimmt 1-2 Tage in Anspruch;
- Online-Meeting: es gibt die Möglichkeit Online-Meetings zu vereinbaren, während dessen unser Team den Konvertierungsprozess Ihnen demonstrieren kann;
- Projektbezogene Preise: die Preise hängen von der Größe des Projektes ab; wir bieten eine Reihe von Optionen an, damit Sie am besten passende Option wählen können;
- Optimierte Konvertierung: nach der Konvertierung bekommen Sie den komplett funktionellen Code.
Ispirer Migrationslösung
Progress 4GL nach Java Anfragen
Ispirer MnMTK ünterstützt auch die Migration von Progress Datenbank nach verschiedenen Datenbanken.
Bewertungsprozess
Füllen Sie bitte den Fragenbogen, der uns bei der Bewertung helfen wird. Auf der Basis deiser Information können wir Ihnen üngefähres Angebot machen:
Konvertierungsbesonderheiten
Progress nach Oracle/PostgreSQL/MySQL Datenbankmigration
- Konvertierung der Progress Tabellen/Views/Sequences nach Oracle/PostgreSQL/MySQL Tabellen/Views/Sequences
Zum Beispiel,
Progress 4GL:
ADD TABLE "TB_DATATYPES"
AREA "Schema Area"
DUMP-NAME "tb_datat"
ADD FIELD "c1" OF "TB_DATATYPES" AS CHARACTER
FORMAT "X(8)"
INITIAL ""
POSITION 2
SQL-WIDTH 16
ORDER 10
ADD FIELD "c4" OF "TB_DATATYPES" AS INTEGER
FORMAT "->,>>>,>>9"
INITIAL "0"
POSITION 5
SQL-WIDTH 4
ORDER 20
ADD FIELD "c5" OF "TB_DATATYPES" AS logical
FORMAT "yes/no"
INITIAL "no"
POSITION 6
SQL-WIDTH 1
ORDER 30
.
PSC
cpstream=ISO8859-1
.
0000000976
Oracle:
CREATE TABLE TB_DATATYPES
(
c1 CHAR(16),
c4 NUMBER(10,0),
c5 NUMBER(1,0)
);
- Konvertierung von Progress 4GL Triggern nach Oracle/PostgreSQL/MySQL Triggern/Prozeduren oder Java Klassen:
Progress 4GL:
TRIGGER PROCEDURE FOR DELETE OF gsinvhd.
FIND distribution
WHERE distribution.company = gsinvhd.company NO-LOCK NO-ERROR.
Oracle:
CREATE OR REPLACE TRIGGER SWT_Delete_gsinvhd
AFTER DELETE
ON gsinvhd
DECLARE
v_distribution_company VARCHAR2(255);
BEGIN
SELECT company INTO v_distribution_company FROM distribution
WHERE (distribution.company = gsinvhd.company) AND ROWNUM <=1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
Für weitere Einzelheiten entnehmen Sie bitte den Artikel:
Progress nach Oracle
Progress nach PostgreSQL
Progress nach MySQL
Progress 4GL Code nach Java Code Konvertierung
- Konvertierung von Progress 4GL Include Files (*.i) nach Java Pakete mit Klassen
Progress 4GL:
DEF VAR w_ail AS CHAR NO-UNDO.
PROCEDURE act_InitValues.
IF w_ ail EQ "ac21" OR w_ ail EQ "first"
THEN DO:
ASSIGN w_ ail ="first".
END.
ELSE IF w_ ail EQ "ac50"
THEN DO:
ASSIGN w_ ail ="second".
END.
ELSE DO:
ASSIGN w_ ail ="third"
END.
END PROCEDURE.
Java:
package ispirer;
public class If_statement
{
private String w_ ail = null;
public void act_InitValues()
{
if((w_ ail.equals("ac21")) ||( w_ ail.equals("first")))
{
w_ ail = "first";
}
else if(w_ ail.equals("ac50"))
{
w_ ail = "second";
}
else
{
w_ ail = "third";
}
}
}
- Konvertierung von Progress 4GL Include Files (*.i) nach Java Packages mit Klassen
Progress 4GL:
FUNCTION days-in-MONTH RETURNS INTEGER
( INPUT pmonth AS INTEGER, INPUT pyear AS INTEGER ) :
DEFINE VARIABLE idays AS INTEGER
EXTENT 12 INITIAL [31,28,31,30,31,30,31,31,30,31,30,31].
IF pmonth NE 2 THEN DO:
RETURN idays[pmonth].
END.
ELSE DO:
IF INTEGER(pyear / 4) * 4 = pyear THEN DO:
IF INTEGER(pyear / 100) * 100 = pyear THEN DO:
IF INTEGER(pyear / 400) * 400 = pyear
THEN RETURN 29.
ELSE RETURN 28.
END.
ELSE RETURN 29.
END.
ELSE RETURN 28.
END.
END FUNCTION.
Java:
package ispirer;
public class Daymonth
{
public final int Days_in_month(int pmonth, int pyear)
{
int[] idays = new int[] {31,28,31,30,31,30,31,31,30,31,30,31};
if (pmonth != 2)
{
return idays[pmonth - 1];
}
else
{
if ((int)(pyear / 4) * 4 == pyear)
{
if ((int)(pyear / 100) * 100 == pyear)
{
if ((int)(pyear / 400) * 400 == pyear)
{
return 29;
}
else
{
return 28;
}
}
else
{
return 29;
}
}
else
{
return 28;
}
}
}
}
- Konvertierung von Progress 4GL Window Prozedure (*.w) Files nach Java UI Frameworks (Swing, SWT, Java FX, etc.)
- Konvertierung von Progress ABL Reports nach Java Jasper Reports oder Crystal Reports
- Konvertierung von Data Access nach Java Datenbank Access Frameworks (JDBC, Hibernate, Torque, etc.)
Ispirer MnMTK kann automatisch Hibernate, Drehmoment XML-Zuordnungen nach Datenbanktabellen generieren.
Zum Beispiel, Progress 4GL:
DEF BUFFER buf_LogOverview FOR test_table.
PROCEDURE test_proc.
FIND FIRST buf_LogOverview NO-LOCK
WHERE buf_LogOverview.col1 EQ "1"
AND buf_LogOverview.col2 EQ 2
NO-ERROR.
END PROCEDURE.
CREATE TABLE test_table
(
col1 VARCHAR,
col2 INTEGER PRIMARY KEY
);
Java:
package buffer_migration;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;
public class Find_stmt
{
private Test_table buf_LogOverview;
public void test_proc()
{
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
buf_LogOverview =((List< Test_table >)
session.createQuery("from Test_table WHERE col1 = '1' "+
" AND col2 = 2").list()).get(0);
session.getTransaction().commit();
}
}
import java.util.Set;
import java.util.HashSet;
public class Test_table
{
private String col1;
private Integer col2;
private Set test_tables = new HashSet();
public Test_table()
{
}
public void setCol1(String col1)
{
this.col1=col1;
}
public String getCol1()
{
return col1;
}
public void setCol2(Integer col2)
{
this.col2=col2;
}
public Integer getCol2()
{
return col2;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Test_table" table="test_table">
<property column="col1" name="col1" type="java.lang.String"/>
<id column="col2" name="col2" type="java.lang.Integer"/>
</class>
</hibernate-mapping>
Für weitere Informationen, kontaktieren Sie bitte uns.
|