📄 setup.4gl
字号:
END WHILE
RETURN 0
END FUNCTION
##############################################################
#/--@METHOD
#@DESC 补丁安装处理函数 ---数据结构
#@RETURN
#############################################################
FUNCTION patchdb_do(iv_projectversion)
DEFINE iv_projectversion CHAR(6)
DEFINE lv_projectversion CHAR(6)
DEFINE lv_result SMALLINT
DEFINE lv_col_count SMALLINT,
lv_tab_count SMALLINT,
lv_tab_name CHAR(18),
lv_err_msg CHAR(200),
lv_prpinsdb CHAR(40),
lv_prpreins CHAR(40),
lv_prpstatdb CHAR(40),
lv_uwdb CHAR(40),
lv_wfdb CHAR(40),
lv_visadb CHAR(40),
lv_constrname CHAR(40),
lv_sql_text CHAR(200),
lv_sql_text1 CHAR(200),
lv_count SMALLINT,
lv_answer CHAR(1)
LET lv_result = 0
LET lv_col_count = 0
LET lv_tab_count = 0
LET lv_count = 0
INITIALIZE lv_projectversion,lv_err_msg TO NULL
INITIALIZE lv_tab_name,lv_prpinsdb,lv_prpreins,lv_uwdb,lv_wfdb,lv_visadb,
lv_constrname,lv_sql_text,lv_sql_text1,lv_answer TO NULL
LET lv_prpinsdb = fgl_getenv("_PRPINSDB")
LET lv_prpreins = fgl_getenv("_PRPREINSDB")
LET lv_prpstatdb = fgl_getenv("_PRPSTATDB")
LET lv_uwdb = fgl_getenv("_UWDB")
LET lv_wfdb = fgl_getenv("_WORKFLOWDB")
LET lv_visadb = fgl_getenv("_VISADB")
WHENEVER ERROR CONTINUE
DATABASE lv_prpinsdb
IF SQLCA.SQLCODE != 0 THEN
PROMPT "打开_PRPINSDB数据库失败,按任意键退出!"
FOR lv_answer
RETURN lv_projectversion,1
END IF
WHENEVER ERROR CONTINUE
DATABASE lv_prpreins
IF SQLCA.SQLCODE != 0 THEN
PROMPT "打开_PRPREINS数据库失败,按任意键退出!"
FOR lv_answer
RETURN lv_projectversion,1
END IF
WHENEVER ERROR CONTINUE
DATABASE lv_uwdb
IF SQLCA.SQLCODE != 0 THEN
PROMPT "打开_UWDB数据库失败,按任意键退出!"
FOR lv_answer
RETURN lv_projectversion,1
END IF
WHENEVER ERROR CONTINUE
DATABASE lv_wfdb
IF SQLCA.SQLCODE != 0 THEN
PROMPT "打开_WORKFLOWDB数据库失败,按任意键退出!"
FOR lv_answer
RETURN lv_projectversion,1
END IF
WHENEVER ERROR CONTINUE
DATABASE lv_visadb
IF SQLCA.SQLCODE != 0 THEN
PROMPT "打开_VISA数据库失败,按任意键退出!"
FOR lv_answer
RETURN lv_projectversion,1
END IF
#--开始更新
WHENEVER ERROR CONTINUE
CASE iv_projectversion
WHEN "v4.0.0"
LET lv_projectversion = "v4.0.1"
WHEN "v4.0.1"
#--3 双核库结构改变
DATABASE lv_uwdb
#--uwdb-uwmaterial FilePath 由CHAR(50)改为CHAR(200)
ALTER TABLE UwMaterial MODIFY(FilePath CHAR(200));
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "UwMaterial表增加filepath字段失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
CLOSE DATABASE
DATABASE lv_wfdb
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "wfcondition"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE wfcondition
add (comcode char(10) before validstatus)
END IF
CLOSE DATABASE
#--1 法分补丁库结构变更
# 209,piccall:piccall209,ff_patch4.0_sco目录
DATABASE lv_prpreins
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinscmain"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinscmain ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinscmain1"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinscmain1 ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinspmain"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinspmain ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinspmain1"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinspmain1 ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinslnopaid"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinslnopaid ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinslnopaid1"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinslnopaid1 ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinslpaid"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinslpaid ADD (comcode char(8))
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "reinslpaid1"
AND a.tabid = b.tabid
AND b.colname = "comcode"
IF lv_col_count = 0 THEN
ALTER TABLE reinslpaid1 ADD (comcode char(8))
END IF
CLOSE DATABASE
DATABASE lv_prpinsdb
UPDATE reinscmain
SET comcode = (select prpcmain.comcode
from prpcmain
where prpcmain.policyno=reinscmain.policyno)
WHERE policyno IN ( select policyno from prpcmain
where comcode is not null)
AND comcode IS NULL;
UPDATE reinscmain1 SET comcode = reinscmain1.makecomcode
WHERE comcode IS NULL;
update reinspmain
set comcode = (select prppmain.comcode
from prppmain
where prppmain.endorseno = reinspmain.endorseno )
where endorseno in ( select endorseno from prppmain
where comcode is not null);
update reinspmain1 set comcode = reinspmain1.makecomcode
WHERE comcode IS NULL;
update reinslnopaid
set comcode = (select prplclaim.comcode
from prplclaim
where prplclaim.claimno = reinslnopaid.claimno)
where claimno in ( select claimno from prplclaim
where comcode is not null);
update reinslnopaid1 set comcode = reinslnopaid1.makecomcode
WHERE comcode IS NULL;
update reinslpaid
set comcode = (select prplclaim.comcode
from prplclaim
where prplclaim.claimno = reinslpaid.claimno)
where claimno in ( select claimno from prplclaim
where comcode is not null);
update reinslpaid1 set comcode = reinslpaid1.makecomcode
WHERE comcode IS NULL;
CLOSE DATABASE
DATABASE lv_prpreins
ALTER TABLE reinscmain MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinscmain表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinscmain1 MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinscmain1表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinspmain MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinspmain表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinspmain1 MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinspmain1表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinslnopaid MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinlnopaid表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinslnopaid1 MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinslnopaid1表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinslpaid MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinslpaid表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
ALTER TABLE reinslpaid1 MODIFY (comcode char(8) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "reinslpaid1表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
CLOSE DATABASE
DATABASE lv_prpinsdb
#--3.01
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "prpcopencoverbal"
AND a.tabid = b.tabid
and b.colname = "duemoney"
IF lv_col_count = 1 THEN
RUN "sh $INSTALL_PATH/install/patch/patch4.0/chtab1.sh"
END IF
#--3.1 prpccargodetail
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "prpccargodetail"
AND a.tabid = b.tabid
and b.colname = "policytype"
IF lv_col_count = 0 THEN
ALTER TABLE prpccargodetail ADD
(PolicyType CHAR(2) BEFORE conveyance);
END IF
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "prpccargodetail"
AND a.tabid = b.tabid
and b.colname = "remark"
IF lv_col_count = 0 THEN
ALTER TABLE prpccargodetail ADD
(Remark VARCHAR(40) BEFORE Flag);
END IF
ALTER TABLE prpccargodetail MODIFY(SerialNo INTEGER NOT NULL);
#--3.2 prp*insuredext
Alter table prptinsuredext MODIFY(displayname VARCHAR(60));
Alter table prpcinsuredext MODIFY(displayname VARCHAR(60));
Alter table prppinsuredext MODIFY(displayname VARCHAR(60));
#--3.3 prpphead
Alter table prpphead MODIFY(Flag CHAR(10));
#--PrpLclaim
ALTER TABLE PrpLclaim MODIFY (Lflag CHAR(2) NOT NULL);
IF SQLCA.SQLCODE != 0 THEN
DISPLAY "PrpLclaim表改变字段类型失败,错误号:",SQLCA.SQLCODE
RETURN lv_projectversion,1
END IF
#--3.4 prpcinsured
LET lv_col_count = 0
SELECT COUNT(*) INTO lv_col_count
FROM systables a,syscolumns b
WHERE a.tabname = "prpcinsured"
AND a.tabid = b.tabid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -