Конвертация COBOL в C#.NET
Ispirer MnMTK автоматизирует процесс конвертации приложения COBOL в технологию.NET. Наша компания с 1999 года работает в области конвертации приложений и миграции баз данных. Мы помогаем тысячам компаний по всему миру реализовать дорогостоящие проекты с лёгкостью и огромной экономией.
Почему Ispirer MnMTK?
Ispirer MnMTK поможет Вам автоматически конвертировать Ваше текущее приложение COBOL. Она также поможет устранить большинство рисков и существенно снизить общее количество требуемых усилий. Все эти преимущества доступны по разумной цене, что делает программу для миграции баз данных и приложений Ispirer MnMTK еще более привлекательным средством для данного типа проекта. Ispirer MnMTK также является универсальной программой для конвертации. В дальнейшем возможна разработка любого направления миграции. Данная программа может осуществить конвертацию в короткие сроки.
- Высококвалифицированная техническая поддержка. Наша команда обладает огромным опытом в проведении проектов по конвертации приложений различных уровней сложности. Поэтому наша помощь для быстрой и качественной конвертации – это то, что Вам нужно!
- Индивидуальный подход к каждому проекту и быстрая кастомизация софта под проект. Мы настраиваем работу софта под каждый проект, чтобы конченый результат соответствовал всем вашим требованиям. Расширение функционала нашего софта занимает 1-2 дня.
- Взаимодействие с клиентом до принятия решения о покупке. Перед принятиям Вами решения о приобретении Лицензии или Сервиса мы проводим полную наглядную демонстрацию процесса конвертации приложения.
- Гибкая система цен. Наши цены индивидуальны и зависят от объема проекта и сроков его исполнения. Мы подбираем несколько вариантов цены, среди которых вы сможете найти тот, который Вас устроит.
- Оптимизированное преобразование. По завершении вашего проекта конвертации COBOL приложения вы получите интеллектуальный и технологичный код, который не требует использования какого-либо промежуточного софта от Ispirer.
Данная Online-презентация демонстрирует, каким образом при помощи Ispirer MnMTK можно конвертировать приложения COBOL в приложения .NET:
Оценка
Оценка помогает определить усилия и стоимость миграции. Для более подробного процесса оценки перейдите по следующей ссылке:
Оценка миграции COBOL
Пожалуйста, заполните опросный лист для того, чтобы начать переговоры о сотрудничестве по Вашему проекту или получить приблизительную оценку:
Ispirer Migration Solution
COBOL в C#.NET Заказать
Если Вас заинтересовали наши услуги, пожалуйста, свяжитесь с нами для получения более подробной информации.
Программная структура COBOL
IDENTIFICATION DIVISION. PROGRAM-ID. DemoId. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. FIRST-PARAGRAPH. DISPLAY "First DEMO".
Существует четыре раздела:
- РАЗДЕЛ ИДЕНТИФИКАЦИИ: Там, где Вы должны ввести имя программы.
- РАЗДЕЛ ОКРУЖЕНИЯ: Там, где Вы определяете файлы, которые нужны программе.
- РАЗДЕЛ ДАННЫХ: Там, где Вы объявляете переменные, записи, файлы и пр.
- РАЗДЕЛ ПРОЦЕДУР: Там, где Вы пишете программу. В примере, представленном ниже, все в одном знаке абзаца. Знак абзаца - набор выражений, именованных текстовыми данными. В конце знака абзаца нет специального маркера.
Характеристики конвертации
- Мигрирует базы данных приложений COBOL на базы данных MSSQLServer
- Конвертирует программы COBOL в классы 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"); } } }
Конвертирует имена идентификаторов в “горбатый” регистр
Конвертирует секцию рабочей памяти с объявленными переменными в переменные класса
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 string MyString1; private string MyString2; private int MyNumber = 1;
Конвертирует записи COBOL в пользовательские типы C#
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 string MyName = "John Smit"; public string MyAddress = "Walt street"; public int MyId = 123; } public MyDataRecord myDataRecord = new MyDataRecord();
Конвертирует COBOL MOVE TO/COMPUTE-операторы в C# операторы назначения
MOVE 5 TO MY_NUMBER.
В:
MyNumber = 5;
Конвертирует разделы COBOL (группу знаков абзаца или выражений) в методы C#. К данному разделу можно обратиться, используя оператор PERFORM. PERFORM конвертируется для обращения к методу C#
DISPLAY-INFORMATION. DISPLAY DISPLAY 'My Number = ' MY_NUMBER.
В:
private void DisplayInformation() { Console.WriteLine("My Number = " + MyNumber); }
Converts COBOL control structures to C# control statements
IF MY_NUMBER > 5 MOVE 12 TO MY_NUMBER.
В:
if (MyNumber > 5) { MyNumber = 12; }
И
PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000 DISPLAY "Still between 100 and 1000" END-PERFORM
В:
while ((MyNumber > 100) && (MyNumber < 1000)) { Console.WriteLine("Still between 100 and 1000"); }
Конвертирует Выводимое окно (оператор DISPLAY) в метод “Console.WriteLine”
Конвертирует EXEC SQL/ END-EXEC (операторы select, insert, update, delete, CURSOR) выражения в C# 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 = (from MyTabl in db.MyTabls where (MyTabl.CtrId == MyString1) && (MyTabl.ModCd == "ONE") select MyTabl).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, 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.
В:
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; }
|