ALERTE COOKIE : En naviguant sur notre site, vous acceptez l’utilisation de cookies.
Pour en savoir plus, n’hésitez pas à lire notre Politique de confidentialité et Politique d’usage de cookies.

Migration de Base de données et d'Application multiplateforme Hautement Automatisée, Personnalisée et Optimisée


Conversion des Applications COBOL vers С#

Grâce à l'outil Ispirer Migration and Modernization Toolkit il est désormais possible de convertir des applications depuis COBOL vers С#.Net.


Aperçu Général


Dans la démo ci-dessous vous verrez comment fonctionne Ispirer MnMTK pour la migration de COBOL vers С#.


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: automatisationjusqu'à 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:


Télécharger l'outil

Ispirer Toolkit 10

COBOL vers C#.NET

Télécharger

Demander un devis

Ispirer Migration Solution

COBOL vers C#.NET

Service L'outil

Structure du Programme COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. DemoId.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
FIRST-PARAGRAPH.
   DISPLAY "First DEMO".


Il existe quatre divisions:

  • IDENTIFICATION DIVISION: C'est là où vous devez saisir le nom de programme.
  • ENVIRONMENT DIVISION: C'est là où vous définissez les fichiers nécessaires pour le programme.
  • DATA DIVISION: C'est là où vous déclarez variables, dossiers, fichiers etc.
  • PROCEDURE DIVISION: C'est là où vous écrivez le programme. Dans l'exemple ci-dessus c'est dans le paragraphe. Un paragraphe est une série de déclarations nommées par un marqueur. Il n'y a pas de marque particulière à la fin d'un paragraphe.

Caractéristiques de Conversion

  • Migre une base de données d'applications COBOL vers MSSQLServer
  • Convertit les programmes COBOL vers les classes C#
  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace CobolApplication
    {
        class DemoId
        {
            static void Main(string[] args)
            {
                Console.WriteLine("First DEMO");
            }
        }
    }
  • Convertit les noms des identificateurs vers “camel” case (la notation Camel)
  • Convertit une section WORKING-STORAGE avec les variables de déclaration vers les variables de classe
  • WORKING-STORAGE SECTION.
    01 MY_STRING_1    PIC X(20).
    01 MY_STRING_2    PIC X(30).
    01 MY_NUMBER      PIC 9(2) VALUE 1.

    Vers:

    private string MyString1;
    private string MyString2;
    private int MyNumber = 1;

  • Convertit les records COBOL vers types C# défini par l'utilisateur
  • 01 MY_DATA_RECORD.
    03 MY_NAME        PIC X(20) VALUE “John Smit”.
    03 MY_ADDRESS     PIC X(40) VALUE “Walt street”.
    03 MY_ID          PIC 9(2) VALUE 123.

    Vers:

    public class MyDataRecord
            {
                public string MyName = "John Smit";
                public string MyAddress = "Walt street";
                public int MyId = 123;
            }
            public MyDataRecord myDataRecord = new MyDataRecord();

  • Convertit les instructions MOVE TO/COMPUTE de COBOL vers l'instruction d'affectation C#
    MOVE 5 TO MY_NUMBER.

    Vers:

    MyNumber = 5;

  • Convertit дes sections (un groupe de paragraphes ou de déclarations) COBOL vers les méthodes C#. SECTION peut être appeler en utilisant l'instruction PERFORM. PERFORM est converti pour appeler de méthode C#
  • DISPLAY-INFORMATION.
          DISPLAY DISPLAY 'My Number = ' MY_NUMBER.

    Vers:

    private void DisplayInformation()
            {
                Console.WriteLine("My Number = " + MyNumber);
            }
  • Convertit les structures de contrôle COBOL vers les instructions de contrôle C#
    IF MY_NUMBER  5
            MOVE 12 TO MY_NUMBER.

    Vers:

    if (MyNumber  5)
                {
                    MyNumber = 12;
                }
    Et
    PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000
                 DISPLAY "Still between 100 and 1000"
    END-PERFORM

    Vers:

    while ((MyNumber > 100) && (MyNumber < 1000))
                {
                    Console.WriteLine("Still between 100 and 1000");
                }

  • Convertit la Sortie de l'écran (déclaration DISPLAY) dans la méthode “Console.WriteLine”
  • Convertit les instructions EXEC SQL/ END-EXEC (select, insert, update, delete, CURSOR statements) vers C# LINQ to Entities
  • EXEC SQL
                 SELECT COUNT(*)
                 INTO   :MY_NUMBER
                 FROM   MY_TABL
                 WHERE  CTR_ID       = :MY_STRING_1     AND
                        MOD_CD       = 'ONE'
                  WITH UR
         END-EXEC.

    Vers:

    MyNumber = (from MyTabl in db.MyTabls
                               where (MyTabl.CtrId == MyString1)
                                    && (MyTabl.ModCd == "ONE")
                               select MyTabl).Count();
    Et
    EXEC SQL
                 DECLARE MY_CUR CURSOR FOR
                 SELECT  LOC_NO,
                         EFF_DT,
                         XPIR_DT,
                         DET_AMT
                   FROM  MY_TABL
                  WHERE  CTR_ID    = :MY_STRING_1
                    AND  MOD_CD    = 'TWO'
                    AND  TRN_ID IS NULL
               ORDER BY  LOC_NO, EFF_DT
                WITH UR
             END-EXEC.
                 EXEC SQL
                   OPEN MY_CUR
         END-EXEC.
         EXEC SQL
              FETCH MY_CUR
               INTO :MY-LOC-NO,
                    :MY-EFF-DT,
                    :MY-XPIR-DT,
                    :MY-ARO-AMT
         END-EXEC
         EXEC SQL CLOSE MY_CUR END-EXEC.

    Vers:

    foreach (var MyCur in (from MyTabl in db.MyTabls
                                     where (MyTabl.CtrId == MyString1) &&
                                     (MyTabl.ModCd == "TWO") &&
                                     (MyTabl.TrnId == null)
                                     orderby MyTabl.LocNo, MyTabl.EffDt
                                     descending     
                                     select MyTabl))
                {
                    MyLocNo = MyCur.LocNo;
                    MyEffDt = MyCur.EffDt;
                    MyXpirDt = MyCur.XpirDt;
                    MyAroAmt = MyCur.DetAmt;
                }


    Contactez-nous pour en savoir plus.

 
Témoignages
Decitre, France

Sybase ASE vers PostgreSQL

Nous recherchions un outil pour effectuer une migration de Sybase à PostgreSQL.

Après quelques recherches nous avons trouvé l’outil d’Ispirer que nous avons...

...

TSS Consultancy, Inde

Microsoft SQL Server vers Oracle

Tout a commencé lorsque mon entreprise était à la recherche de la solution de migration de la base de données SQL Server vers Oracle. Plus de 10...

...

Etudes de cas
IBM DB2 LUW vers PostgreSQL, Etats-Unis

Notre client était la société publique américaine et l'unité indépendante du gouvernement de l'État.

...

Sybase ASE vers Microsoft SQL Server, Chili

Ispirer a déjà réalisé des projets pour des clients sur sept continents, y compris l'Amérique du Sud. Cette fois, nous avons eu l'honneur de coopérer avec un grand fabricant de logiciels basé au...

...