Grâce à l'outil Ispirer Migration and Modernization Toolkit il est désormais possible de convertir des applications depuis Progress 4GL vers Oracle PL/SQL!
Pourquoi Ispirer MnMTK?
Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre notre outil:
-
Cohérence et Intégration: automatisation jusqu'à 100%
-
Personnalisation rapide: individualisation et optimisation de la converson (1-3 jours ouvrables en moyenne)
-
Engagement pré-vente: nous démontrons une conversion complète au cours de l'évaluation avant que vous preniez une décision
- Prix Raisonnable: nous offrons une tarification souple
- Conversion Optimisée: en tant que résultat vous obtenez un code intelligent et maintenable, sans aucun middleware à utiliser après la conversion
Evaluation et Achat
L'évaluation de votre projet de migration permettra de mesurer les ressources nécessaires aussi bien que le coût de votre migration. Afin de faciliter ce processus, n'hésitez pas à remplir et nous envoyer en retour le questionnaire ci-dessous:
Ispirer Migration Solution
Progress 4GL vers Oracle PL/SQL Commander
Ispirer Migration Solution
Progress 4GL vers Oracle PL/SQL Service
L'outil
Caractéristiques de Conversion
Lors de la migration d'une base de données Progress vers celle d'Oracle, notre outil de migration:
- Convertit des tables/vues/séquences Progress vers des tables/vues/séquences Oracle
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 PL/SQL:
CREATE TABLE TB_DATATYPES
(
c1 CHAR(16),
c4 NUMBER(10,0),
c5 NUMBER(1,0)
);
- Convertit des triggers Progress 4GL vers des triggers/procédures Oracle:
Progress 4GL:
TRIGGER PROCEDURE FOR DELETE OF gsinvhd.
FIND distribution
WHERE distribution.company = gsinvhd.company NO-LOCK NO-ERROR.
Oracle PL/SQL:
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;
Lors de la conversion du code Progress 4GL vers le code Oracle PL/SQL, Ispirer MnMTK:
- Convertit des fichiers de procédures (*.p) Progress 4GL vers des procédures Oracle
Progress 4GL:
PROCEDURE generate-DATA :
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE gc-company AS CHARACTER NO-UNDO.
FIND company WHERE company.company = gc-company NO-LOCK NO-ERROR.
find budget WHERE budget.company = gc-company no-LOCK no-error.
Do while avail budget:
Do i = 0 TO 5:
find budget-analysis
WHERE budget-analysis.user-id = company.gc-user-id AND
budget-analysis.company = gc-company AND
budget-analysis.pc-center = "ALL" AND
budget-analysis.acct-period = i
no-error.
END.
END.
END PROCEDURE.
Oracle PL/SQL:
CREATE OR REPLACE PROCEDURE "generate-data" AS
v_company_company VARCHAR2(255);
v_company_numperiods VARCHAR2(255);
v_company_gcuserid NUMBER(10,0);
v_budget_company VARCHAR2(255);
v_i NUMBER(10,0);
v_gccompany varchar2(4000);
v_if_exists NUMBER(10,0);
v_budgetanalysis_userid NUMBER(10,0);
v_budgetanalysis_company VARCHAR2(255);
v_budgetanalysis_pccenter VARCHAR2(255);
v_budgetanalysis_acctperiod VARCHAR2(255);
BEGIN
BEGIN
SELECT company, "num-periods", "gc-user-id"
INTO v_company_company,v_company_numperiods,v_company_gcuserid
FROM company
WHERE (company.company = v_gccompany) AND ROWNUM <=1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
SELECT company INTO v_budget_company FROM budget
WHERE (budget.company = v_gccompany) AND ROWNUM <=1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
LOOP
SELECT COUNT(*) INTO v_if_exists FROM budget;
exit WHEN v_if_exists = 0;
BEGIN
v_i := 0;
while v_i <= 5 LOOP
BEGIN
SELECT "user-id", company, "pc-center", "acct-period"
INTO v_budgetanalysis_userid,v_budgetanalysis_company,
v_budgetanalysis_pccenter,v_budgetanalysis_acctperiod
FROM "budget-analysis"
WHERE ("budget-analysis"."user-id" = company."gc-user-id"
AND "budget-analysis".company = v_gccompany
AND "budget-analysis"."pc-center" = 'ALL'
AND "budget-analysis"."acct-period" = v_i)
AND ROWNUM <=1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
v_i := v_i+1;
END LOOP;
END;
END LOOP;
END;
- Convertit des fichiers Include (*.i) Progress 4GL vers des fonctions Oracle
- Convertit des rapports Progress ABL vers des rapports Oracle
Contactez-nous pour en savoir plus.
|