Informix 4GL에서 Oracle PL/SQL로 마이그레이션
Ispirer 마이그레이션과 근대화 툴킷을 관리 통해 Informix 4GL에서 Oracle PL/SQL로 자동 변환하기 바랍니다. Ispirer MnMTK는 Informix 4GL 에서 Oracle PL/SQL로 모든 복잡한 변환을 되어 가능합니다. Ispirer MnMTK는 고객님의 모든 요구 사하에 대로 쉽게 최족화된 애플리케이션입니다.
Ispirer MnMTK 2015의 주요 장점
- 고품질의 기술 지원 Ispire Systems의 기술 팀은 다양한 수준의 마이그레이션 프로젝트에서 엄청난 경험을 가지고 있습니다.
- 고객 지향적 접근 방식 및 신속한 고객화 맞춤 버전이 고객님의 비즈니스 요구 사항을 완벽하게 충족할 수 있도록 Ispirer MnMTK를 개인화합니다. 고객님께 맞춤 및 최적화 변환은 영업일 2일 내에 수행합니다.
- 사전 판매 전시 결정을 내리기 전에 평가 과정에서 변환을 입증합니다.
- 유연한 가격 정책 다양한 옵션을 제공 할 수 있으며, 그 중에서 고객님께 딱 맞는 옵션을 찾을 수 있습니다
- 최적화된 변환 변환 후에는 Ispirer의 미들웨어를 사용할 필요없이 지능적인 코드를 얻을 수 있습니다.
평가 과정
평가는 마이그레이션의 노력과 비용을 추정하는데 도움을 줍니다. 더 자세한 평가의 공정을 위해 다름 링크를 참조하시기 바랍니다.
Ispirer 마이그레이션 솔루션
Informix 4GL to Oracle PL/SQL 요청하기
Ispirer 마이그레이션 솔루션
Informix 4GL to Oracle PL/SQL 서비스
툴킷
변환의 특징
- Informix 4GL 함수(*.4gl)를 PL/SQL 함수/프로시져(*.sql)로 변환
Informix 4GL
function sample_func(s_char)
#-------------------#
define
s_char char(100),
i smallint,
j smallint,
r_char char(100)
let r_char = " "
for i = 1 to 100
if (s_char[i,i] = " ") then
continue for
else
let r_char = s_char[i,100]
exit for
end if
end for
return r_char
end function
Oracle PL/SQL:
FUNCTION sample_func(s_char IN CHAR)
---------------------#
return CHAR
as
i NUMBER(5,0) := 0;
j NUMBER(5,0) := 0;
r_char CHAR(100) := ' ';
BEGIN
r_char := SUBSTRB(' ',1,100);
FOR SWR_i IN 1 .. 100
LOOP
i := SWR_i;
if (SUBSTRB(s_char,i,1)) then
continue;
else
r_char := SUBSTRB
(SUBSTRB(s_char,i,101 - i),1,100);
exit;
end if;
END LOOP;
return r_char;
end;
코멘트 변환:
Single line comments
Informix 4GL:
#Comment
Oracle PL/SQL:
--Comment
Multiline comments
Informix 4GL:
{
Comments
}
Oracle PL/SQL:
/*
Comments
*/
데이터 타입 변환
Informix 4GL type |
Oracle PL/SQL data type |
char(length) |
CHAR(length) |
smallint |
NUMBER(5,0) |
integer |
NUMBER(10,0) |
date |
DATE |
decimal(n,m) |
NUMBER(n,m) |
레코드 변환
Record like id.*
Informix 4GL
define c0 record like ctl_f0.*
Oracle PL/SQL:
c0 ctl_f0%rowtype;
레코드 리스트를 기록
Informix 4GL:
define w_just record
b_yy integer,
b_mm integer,
b_dd integer
end record
Usage:
Let wjust.* = c0.*
Oracle PL/SQL:
TYPE SWT_w_just IS record(b_yy NUMBER(10,0),
b_mm NUMBER(10,0),b_dd NUMBER(10,0));
w_just SWT_w_just;
Usage:
wjust := c0;
레코드 리스트를 배열로 기록
Informix 4GL:
define nbw array[4,60] of record
nb_g_kbn char(1),
nb_g_nymd char(7)
end record
Usage:
let nbw[1,i].*=nbw[4,i].*
Oracle PL/SQL:
TYPE SWT_nbw IS record(nb_g_kbn CHAR(1),nb_g_nymd CHAR(7));
TYPE SWT_nbw2 IS VARRAY(60) OF SWT_nbw;
TYPE SWT_nbw3 IS VARRAY(4) OF SWT_nbw2;
nb1w SWT_nbw3;
Usage:
nbw(1)(i) := nbw(4)(i);
내장 함수, 표현식과 술어(predicates) 변환
|
Informix 4GL type |
Oracle PL/SQL data type |
Ascii function |
let a = ascii 223 |
a:= chr(223); |
Clipped function |
let a = b clipped |
a:= RTRIM(b); |
Date function |
let a = date(b) |
a:= to date(b); |
Day function |
let a = day(b) |
a:= EXTRACT(day from b); |
Mdy function |
let a = mdy(b,c,d) |
a := TO_DATE(TO_CHAR(b) || '-' || TO_CHAR(c) || '-' || TO_CHAR(d),'mm-dd-yy'); |
Month function |
let a = month(b) |
a := EXTRACT(month from b); |
Upshift function |
let a = upshift(b) |
SET a = UPPER(b) |
Using function |
let a = b using "######&" |
a := to_char(b,'9999990'); |
Year function |
let a = year(b) |
a := EXTRACT(year from b); |
Concat expression |
let a = b, "cd",d |
a := b || "cd" || d; |
Mod expression |
let a = b mod 2 |
a := mod(b, 2); |
Substring expression |
let a = b[2,2] |
a := substr(b,2,1); |
True/False expression |
let a = true
let a = false |
a := 1;
a := 0; |
Matches predicate |
if (n not matches "[0123456789]") then |
if (not regexp_like(n,'[0123456789]')) then |
True predicate |
while(true) |
while(1 = 1) |
비즈니스 로직 구문을 변환
For example,
For range loop
Informix 4GL:
for i = 1 to 10...
...
End for
Oracle PL/SQL:
FOR i IN 1..10
LOOP
...
END LOOP;
Case statement
Informix 4GL:
case a
when 1
...
when 2
...
otherwise
...
...
end case
Oracle PL/SQL:
case a
when 1
THEN
...
when 2
THEN
...
ELSE
...
...
end case
Declare cursor
Informix 4GL:
declare cur_n0 cursor for
select n0_ch from nkin_a
where (n0_kau_no = s_kau_no)
and (n0_cd = s_cd)
Oracle PL/SQL:
cursor cur_n0 IS select n0_ch from nkin_a
where (n0_kau_no = s_kau_no)
and (n0_cd = s_cd);
추가로 문의 사항이 있으시면 연락주시기 바랍니다.
|