⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setup.4gl

📁 开发工具 Informix-4gl
💻 4GL
📖 第 1 页 / 共 5 页
字号:
     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 + -