このWebサイトでは、クッキーを使用しております。
詳細は プライバシー保護およびクッキーに関する通知を参照ください。

インテリジェントでカスタマイズ可能なDB/アプリ自動変換ソリューション


COBOLからC#.NETへの移行

Ispirer is Microsoft Partner for database migration

Ispirer MnMTKはCOBOLアプリケーションを.NET
変換することができます。


なぜIspirer MnMTKなのか

Ispirer MnMTKはお客様がお使いのCOBOLアプリケーションの自動変換を行い、移行作業に伴うリスクと必要な内部作業を大幅に削減することができます。 これらの利点があるIspirer MnMTKはお手頃な価格でデータベースおよびアプリケーションの変換を行うことができるため、このような移行プロジェクトにとってとても魅力的な製品です。

主な利点:

  • 優れたテクニカルサポート:移行のプロジェクトにおける絶大経験による、最も複雑なタスクの解決策を見つけることをお約束します
  • 顧客志向のアプローチと迅速なカスタマイズ:1-2営業日での修正対応
  • 検討段階での共同作業:お客様の検討期間中に変換のデモをお見せすることができます
  • 柔軟な価格設定:広範囲オプションの提供
  • 最適化された変換:インテリジェントで保守しやすいコードを生成します。
    変換後のソースの利用に特別なIspirerのミドルウェア等は必要ありません

このデモでIspirer MnMTKによるCOBOLからC#.NETへの移行を見ることができます:




アセスメント

アセスメント作業は簡単ですぐに移行に要する作業とコストを見積もることができます。お見積に必要な情報は、下記のフォームを参照いただくと揃えることができます:

無償試用版(アプリ移行)

Ispirer Toolkit 10COBOLからC#.NETへ

ダウンロード

お見積

移行サービスCOBOLからC#.NETへ

サービス 移行ツール

変換機能

COBOL プログラム構造

1. IDENTIFICATION DIVISION. 
2. PROGRAM-ID. DemoId. 
3. ENVIRONMENT DIVISION. 
4. DATA DIVISION. 
5. PROCEDURE DIVISION. 
6. FIRST-PARAGRAPH. 
7.    DISPLAY "First DEMO".


4つのディビジョンがあります:

  • IDENTIFICATION DIVISION: ここにプログラム名を記述します。
  • ENVIRONMENT DIVISION: プログラムで必要なファイルを定義します。
  • DATA DIVISION: 変数、レコード、ファイル等を定義します。
  • PROCEDURE DIVISION: プログラムを記述します。上のサンプルでは全てがひとつのパラグラフ内に記述されています。パラグラフはラベル付けされた一連のステートメントです。パラグラフの終わりを示す特別なマークはありません。

変換機能

  • COBOLアプリケーションのデータベースをMSSQLServerのデータベースに移行
  • COBOLアプリケーションのプログラムをC#クラスに変換
  • 1. using System; 
    2. using System.Collections.Generic; 
    3. using System.Linq; 
    4. using System.Text; 
    5. namespace CobolApplication 
    6. { 
    7.     class DemoId 
    8.     {
    9.         static void Main(string[] args) 
    10.        { 
    11.            Console.WriteLine("First DEMO");
    12.        }
    13.    }
    14. }
  • 識別子の名前を「キャメルケース」に変換
  • WORKING-STORAGEセクションに定義された変数をクラス変数に変換
  • 1. WORKING-STORAGE SECTION. 
    2. 01 MY_STRING_1 PIC X(20). 
    3. 01 MY_STRING_2 PIC X(30). 
    4. 01 MY_NUMBER PIC 9(2) VALUE 1.

    から

    1. private string MyString1; 
    2. private string MyString2; 
    3. private int MyNumber = 1;

  • COBOLレコード定義をC#のユーザ定義タイプへ変換
  • 1. 01 MY_DATA_RECORD. 
    2. 03 MY_NAME PIC X(20) VALUE “John Smit”. 
    3. 03 MY_ADDRESS PIC X(40) VALUE “Walt street”. 
    4. 03 MY_ID PIC 9(2) VALUE 123.

    から

    1. public class MyDataRecord 
    2.        {
    3.            public string MyName = "John Smit"; 
    4.            public string MyAddress = "Walt street"; 
    5.            public int MyId = 123; 
    6.        } 
    7.    public MyDataRecord myDataRecord = new MyDataRecord();

  • COBOLのMOVE TO/COMPUTEステートメントをC#のアサインステートメントに変換
  • 1. MOVE 5 TO MY_NUMBER.

    から

    1. MyNumber = 5;

  • COBOLセクション(パラグラフやステートメントのグループ)をC#のメソッドに変換。セクションをCALLするPERFORM文はC#のcallメソッドに変換。
  • 1. DISPLAY-INFORMATION. 
    2.      DISPLAY DISPLAY 'My Number = ' MY_NUMBER.

    から

    1. private void DisplayInformation() 
    2.     {
    3.        Console.WriteLine("My Number = " + MyNumber);
    4.     }
  • COBOLの制御構造をC#の制御ステートメントに変換
  • 1. IF MY_NUMBER > 5 
    2.            MOVE 12 TO MY_NUMBER.

    から

    1. if (MyNumber > 5) 
    2.           {
    3.               MyNumber = 12;
    4.           }
    および
    1. PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000 
    2.             DISPLAY "Still between 100 and 1000" 
    3.     END-PERFORM

    から

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

  • 画面表示(DISPLAY ステートメント)を「Console.WriteLine」メソッドに変換
  • EXEC SQL/ END-EXEC (select, insert, update, delete, CURSOR ステートメント)をC# LINQのエンティティに変換
  • 1. EXEC SQL
    2.               SELECT COUNT(*) 
    3.               INTO :MY_NUMBER 
    4.               FROM MY_TABL 
    5.               WHERE CTR_ID = :MY_STRING_1 AND 
    6.                     MOD_CD = 'ONE' 
    7.                WITH UR 
    .         END-EXEC.

    から

    1. MyNumber = (from MyTabl in db.MyTabls 
    2.                                    where (MyTabl.CtrId == MyString1) 
    3.                                          && (MyTabl.ModCd == "ONE") 
    4.                                    select MyTabl).Count();
    および
    1. EXEC SQL 
    2.                   DECLARE MY_CUR CURSOR FOR 
    3.                   SELECT LOC_NO, 
    4.                          EFF_DT,
    5.                          XPIR_DT, 
    6.                          DET_AMT 
    7.                     FROM MY_TABL 
    8.                    WHERE CTR_ID = :MY_STRING_1 
    9.                      AND MOD_CD = 'TWO' 
    10.                     AND TRN_ID IS NULL 
    11.                ORDER BY LOC_NO, EFF_DT 
    12.                 WITH UR 
    13.              END-EXEC. 
    14.                  EXEC SQL 
    15.                    OPEN MY_CUR 
    16       END-EXEC. 
    17.      EXEC SQL 
    18.           FETCH MY_CUR 
    19.            INTO :MY-LOC-NO,
    20.                 :MY-EFF-DT, 
    21.                 :MY-XPIR-DT, 
    22.                 :MY-ARO-AMT
    23.      END-EXEC 
    24.      EXEC SQL CLOSE MY_CUR END-EXEC.

    から

    1. foreach (var MyCur in (from MyTabl in db.MyTabls 
    2.                                   where (MyTabl.CtrId == MyString1) && 
    3.                                   (MyTabl.ModCd == "TWO") && 
    4.                                   (MyTabl.TrnId == null) 
    5.                                    orderby MyTabl.LocNo, MyTabl.EffDt 
    6.                                    descending 
    7.                                    select MyTabl)) 
    8.               { 
    9.                   MyLocNo = MyCur.LocNo; 
    10.                  MyEffDt = MyCur.EffDt; 
    11.                  MyXpirDt = MyCur.XpirDt; 
    12.                  MyAroAmt = MyCur.DetAmt; 
    13.              }

詳細はお問い合わせください。

 
Testimonials
Schulz, Brazil

InterBase to Microsoft SQL Server
Database Migration

In order to change a factory supervision and information system, we were looking for a tool to migrate the existing "Interbase 6.0" database to "Microsoft SQL Server". We tested a few softwares, but they didn't suit us.

...

System Protocol Information, Malaysia

Informix to Microsoft SQL Server
Database Migration

Dear Sir / Madam,

We have just completed our biggest migration job to date from Informix to MS SQL Server. The exercise was efficiently done within schedule given to us. It was a success and thanks to a great part to your tool.

...

Case Studies
Sybase ASEからMicrosoft SQL Serverへの移行、チリ

チリに拠点を置くソフトウェア開発会社です。

...

IBM DB2 iSeriesからMicrosoft SQL Serverへの移行、アメリカ

ソフトウェアとアプリケーションの開発、リエンジニアリングとメンテナンスを専門とする、米国に本拠を置くフルサービスのIT企業です。 同社はウェブサイトデザイン、ウェブホスティング、SEOなどのウェブサービスを提供しています。 また、CRMシステムの導入、アップグレードおよび管理も実施しています。

...