COBOLからVB.NETへの変換
Ispirer MnMTKはCOBOLからVB.NETへの変換を現実します。
なぜIspirer MnMTKなのか
Ispirer MnMTKはお客様がお使いのCOBOLアプリケーションの自動変換を行い、移行作業に伴うリスクと必要な内部作業を大幅に削減することができます。これらの利点があるIspirer MnMTKは妥当な価格でデータベースおよびアプリケーションの変換を行うことができるため、このような移行プロジェクトにとってとても魅力的な製品です。
主な利点:
- 優れたテクニカルサポート:移行のプロジェクトにおける絶大経験による、
最も複雑なタスクの解決策を見つけることをお約束します
- 顧客志向のアプローチと迅速なカスタマイズ:1-2営業日での修正対応
- 検討段階での共同作業:お客様の検討期間中に変換のデモをお見せすることができます
- 柔軟な価格設定:広範囲オプションの提供
- 最適化された変換:インテリジェントで保守しやすいコードを生成します。
変換後のソースの利用に特別なIspirerのミドルウェア等は必要ありません
アセスメント
アセスメント作業は簡単ですぐに移行に要する作業とコストを見積もることができます。お見積に必要な情報は、下記のフォームを参照いただくと揃えることができます:
Ispirer移行ソリューションCOBOLからVB.NETへ リクエスト
変換ツールIspirer MnMTKはCOBOLからC#.NETへの移行も現実化します。
変換の機能
COBOLプログラム構造
IDENTIFICATION DIVISION. PROGRAM-ID. DemoId. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. FIRST-PARAGRAPH. DISPLAY "First DEMO".
4つのディビジョンがあります:
- IDENTIFICATION DIVISION: ここにプログラム名を記述します。
- ENVIRONMENT DIVISION: プログラムで必要なファイルを定義します。
- DATA DIVISION: 変数、レコード、ファイル等を定義します。
- PROCEDURE DIVISION: プログラムを記述します。上のサンプルでは全てがひとつのパラグラフ内に記述されています。パラグラフはラベル付けされた一連のステートメントです。パラグラフの終わりを示す特別なマークはありません。
- COBOLアプリケーションのデータベースをMSSQL Serverのデータベースに移行
- COBOLプログラムをVB.NETのクラスに変換
Namespace CobolApplication Public Class DemoId Public Sub Main() ProcedureDivision() End Sub Private Sub ProcedureDivision() Console.WriteLine(“First Demo”) End Sub End Class End Namespace
識別子の名前を「キャメルケース」に変換
WORKING-STORAGEセクションに定義された変数をクラス変数に変換
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.
から
Private MyString1 As String Private MyString2 As String Private MyNumber As Integer = 1
へ
COBOLレコード定義をVB.NETのユーザ定義タイプへ変換
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.
から
Public Class MyDataRecord Public MyName As String = “John Smit” Public MyAddress As String = “Walt Street” Public MyId As Integer = 123 End Class Private _myDataRecord As MyDataRecord = New MyDataRecord()
へ
COBOLのMOVE TO/COMPUTEステートメントをVB.NETのアサインステートメントに変換
MOVE 5 TO MY_NUMBER.
から
MyNumber = 5
へ
COBOLセクション(パラグラフやステートメントのグループ)をVB.NETのsubに変換。セクションをCALLするPERFORM文はVB.NETのcall subに変換。
DISPLAY-INFORMATION. DISPLAY DISPLAY 'My Number = ' MY_NUMBER.
から
Private Sub DisplayInformation() Console.WriteLine(“My Number =” + MyNumber) End Sub
へ
COBOLの制御構造をVB.NETの制御ステートメントに変換
IF MY_NUMBER > 5 MOVE 12 TO MY_NUMBER.
から
If MyNumber > 5 Then MyNumber = 12 End If
へ
または
PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000 DISPLAY "Still between 100 and 1000" END-PERFORM
から
While MyNumber > 100 And MyNumber < 1000 Console.WriteLine(“Still between 100 and 1000”) End While
へ
画面表示(DISPLAY ステートメント)を「Console.WriteLine」メソッドに変換
EXEC SQL/ END-EXEC (select, insert, update, delete, CURSOR ステートメント)をVB.NETのLINQクエリに変換
EXEC SQL SELECT COUNT(*) INTO :MY_NUMBER FROM MY_TABL WHERE CTR_ID = :MY_STRING_1 AND MOD_CD = 'ONE' WITH UR END-EXEC.
から
MyNumber = Aggregate MyTabl In db.MyTabls Where MyTabl.CtrId = MyString1 And MyTabl.ModCd = "ONE" Into Count()
へ
または
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 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.
から
Dim MyCur = From MyTabl In db.MyTabls Where MyTabl.CtrId = MyString1 And MyTabl.ModCd = "TWO" And MyTabl.TrnId IS Nothing ORDER BY LocNo Descending For Each MyTabl In MyCur MyLocNo = MyCur.LocNo MyEffDt = MyCur.EffDt MyXpirDt = MyCur.XpirDt MyAroAmt = MyCur.DetAmt Next db.SaveChanges()
へ
詳細はお問い合わせください。
|