从COBOL到Java转换
Ispirer MnMTK一个强大的软件为将COBOL应用程序转换为Java。该工具支持不同复杂程度转换从COBOL到Java应用。
我们开发迁移工具并以客户至上的方针来满足客户业务需求。 我们的技术团队拥有在复杂程度不同的迁移项目的工作经验。
点开下面的演示视频,看看如何Ispirer MnMTK工具能够自动地从COBOL转换到Java:
Your browser does not support the video tag....
Download video
为什么选择Ispirer MnMTK?
选择Ispirer MnMTK应用迁移软件后,您能够明显地节省为更改源代码所需的时间。此外,使用Ispirer MnMTK您可以消除相关风险,并且合理的定价策略使得Ispirer MnMTK拥有更强大的迁移工具。
我们主要好处:
高素质和经验丰富的技术支持 : 我们的技术团队拥有在复杂程度不同的迁移项目的工作经验。
客户至上的方针和快速定制 : 我们个性化我们的迁移工具可以充分满足客户的业务需求,定制的转换和优化在1-2工作日完成。
预售参与 : 我们会在评估决定之前展示完全转换。
灵活的定价策略 : 我们为您提供广泛的选择,其中您一定会找到最适合您的价格方案。
优化转换- : 没有Ispirer的文库或转换后使用IP
评估过程
请您填写我们的问题单关于您的COBOL到Java应用程序迁移项目的统计信息:
转换Cobol应用程序成Java调查问卷
Ispirer Toolkit 10 从 COBOL 到 Java
下载
Ispirer转换解决方案 从 COBOL 到 Java
服务
工具
COBOL程序结构
IDENTIFICATION DIVISION.
PROGRAM- ID. DemoId.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
FIRST- PARAGRAPH.
DISPLAY "First DEMO" .
共有四个部:
IDENTIFICATION DIVISION :这就是您要输入程序名。
ENVIRONMENT DIVISION :这就是您要定义程序所需要的文件。
DATA DIVISION :这就是您要声明变量、记录、 文件等。
PROCEDURE DIVISION :这就是您要写程序。上面的示例里一切都在同一个段落。段落是一系列语句按标签被称为。段落结尾没有特定的标记。
转换特征
将COBOL应用的数据库迁移到Oracle/MySQL/PostgreSQL/等数据库。
将COBOL程序转为Java类。
package CobolApplication;
public class DemoId
{
static void main(String[] args)
{
System.out.println("First DEMO");
}
}
转换标识符名为驼峰命名法(CamelCase)。
将WORKING-STORAGE部与声明变量转为类变量。
COBOL:
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.
Java:
private String MyString1;
private String MyString2;
private int MyNumber = 1;
01 MY_DATA_RECORD.
03 MY_NAME PIC X(20).
03 MY_ADDRESS PIC X(40).
03 MY_ID PIC 9(2).
COBOL:
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语句转为Java赋值语句
MOVE 5 TO MY_NUMBER.
到:
MyNumber = 5;
将COBOL组(段落或语句组)转为Java方法。使用着PERFORM语句就可以调用SECTION。PERFORM转换为Java方法的调用。
DISPLAY-INFORMATION.
DISPLAY DISPLAY 'My Number = ' MY_NUMBER.
到:
private void DisplayInformation()
{
System.out.println("My Number = " + MyNumber);
}
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))
{
System.out.println("Still between 100 and 1000");
}
将屏幕输出(DISPLAY语句)转为“System.out.println” 方法。
将EXEC SQL/ END-EXEC语句(select, insert, update, delete, CURSOR语句)转为基于内嵌入SQL自动生成的数据库SQL程序的Java调用。
EXEC SQL
DECLARE GET_EMPLOYEE CURSOR FOR
SELECT NAME,
ADDRESS,
PHONE
FROM EMPLOYEE
WHERE EMPID =:MY_ID
END-EXEC.
EXEC SQL
OPEN GET_EMPLOYEE
END-EXEC.
EXEC SQL
FETCH GET_EMPLOYEE
INTO :CST-NAME,
:CST-ADDRESS,
:CST-PHONE
END-EXEC
IF CST-NAME > SPACES
DISPLAY 'NAME = ' CST-NAME
DISPLAY 'ADDRESS = ' CST-ADDRESS
DISPLAY 'PHONE = ' CST-PHONE
ELSE
DISPLAY 'EMPLOYEE NOT FOUND'
END-IF.
EXEC SQL CLOSE GET_EMPLOYEE END-EXEC.
到:
create or replace
PROCEDURE getEmployee_Cursor_Proc1
(in_my_id IN EMPLOYEE.EMPID%TYPE,
out_cts_name OUT EMPLOYEE.NAME%TYPE,
out_cst_address OUT EMPLOYEE.ADDRESS%TYPE,
out_cst_phone OUT EMPLOYEE.PHONE%TYPE
)
AS
BEGIN
SELECT NAME, ADDRESS, PHONE
INTO out_cts_name, out_cst_address, out_cst_phone
FROM EMPLOYEE
WHERE EMPID = in_my_id;
END;
try{
Connection con = DBConnection.getConnection();
CallableStatement stmt = con.prepareCall
("{call getEmployee_Cursor_Proc1(?,?,?,?)}");
stmt.setInt(1, MyId);
stmt.registerOutParameter(2, java.sql.Types.VARCHAR);
stmt.registerOutParameter(3, java.sql.Types.VARCHAR);
stmt.registerOutParameter(4, java.sql.Types.VARCHAR);
stmt.execute();
String CstName = stmt.getString(2);
String CstAddress = stmt.getString(3);
String CstPhone = stmt.getString(4);
if(CstName!=null){
System.out.println("NAME="+CstName+",
ADDRESS="+CstAddress+",PHONE="+CstPhone);
}else{
System.out.println("EMPLOYEE NOT FOUND");
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
stmt.close();
con.close();
input.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
您还可以通过联系我们页面 与我们联系。