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

📄 versiondea.4gl

📁 开发工具 Informix-4gl
💻 4GL
📖 第 1 页 / 共 2 页
字号:
#@DESC    创建版本信息表 
#@RETURN  
##############################################################

FUNCTION vertab_create(iv_Productid)
#--/@PARAMETER
DEFINE iv_Productid  CHAR(10)
#-/
DEFINE lv_dbname     CHAR(18)
   
    LET lv_dbname=fgl_getenv(iv_Productid)

    DISPLAY "正在建立版本信息表"
    SLEEP 2
    DATABASE lv_dbname
    create table PrpVersion
    (
      ProjectName          CHAR(60) NOT NULL,
      ProjectVersion       CHAR(30) NOT NULL,
      ProductID            CHAR(30),
      Times                SMALLINT,
      UserName             CHAR(40),
      Company              CHAR(40),
      UpdateDate           DATE,
      PrimaryVersion       CHAR(30),
      Flag1                CHAR(30),
      Flag2                CHAR(30),
      Flag3                CHAR(30),
      Flag4                CHAR(30),
      Flag5                CHAR(30)
    ) 
    ALTER TABLE prpversion 
        ADD CONSTRAINT UNIQUE (ProjectVersion,ProductID,Times)
    DISPLAY "版本信息表建立完成"

END FUNCTION

##############################################################
#/--@METHOD
#@DESC  向prpversion表插入数据 
#RETURN SQLCA.SQLCODE 
##############################################################
FUNCTION prpversion_insert(ir_prpversion)
#--/@PARAMETER
DEFINE  ir_prpversion RECORD
       ProjectName      Char(60)  ,##项目名称
       ProjectVersion   Char(30)  ,##版本号
       ProductID        Char(30)  ,##产品序号
       Times            SMALLINT  ,##变更次数
       UserName         Char(40)  ,##客户名称
       Company          CHAR(40)  ,##单位名称
       UpdateDate       DATE  ,    ##更新日
       PrimaryVersion   CHAR(30) , #上一次更新的版本信息
       Flag1            CHAR(30) , ##[1]有效标志
       Flag2            CHAR(30) , ##[2]有效标志
       Flag3            CHAR(30) , ##[3]有效标志
       Flag4            CHAR(30) , ##[4]有效标志
       Flag5            CHAR(30)
    END RECORD
#-/
DEFINE lv_dbname      Char(18)

    LET lv_dbname=fgl_getenv(ir_prpversion.ProductId)
    DATABASE lv_dbname
    DISPLAY "向版本信息表中写信息"
    WHENEVER ERROR CONTINUE
    INSERT INTO PrpVersion VALUES(ir_prpversion.*)
    RETURN SQLCA.SQLCODE
    WHENEVER ERROR STOP

END FUNCTION

##############################################################
#/--@METHOD
#@DESC    获取版本信息 
#@RETURN  SQLCA.SQLCODE 
##############################################################

FUNCTION prpversion_getinfo(iv_projectversion,iv_Productid,iv_times)
#--/@PARAMETER
DEFINE iv_times            SMALLINT  ,     ##变更次数
       iv_productid        Char(30)  ,     ##产品序号
       iv_projectversion   Char(30)       ##版本号
#-/
DEFINE  lr_prpversion RECORD
       ProjectName      Char(60)  ,##项目名称
       ProjectVersion   Char(30)  ,##版本号
       ProductID        Char(30)  ,##产品序号
       Times            SMALLINT  ,##变更次数
       UserName         Char(40)  ,##客户名称
       Company          CHAR(40)  ,##单位名称
       UpdateDate       DATE  ,    ##更新日
       PrimaryVersion   CHAR(30) , #上一次更新的版本信息
       Flag1            CHAR(30) , ##[1]有效标志
       Flag2            CHAR(30) , ##[2]有效标志
       Flag3            CHAR(30) , ##[3]有效标志
       Flag4            CHAR(30) , ##[4]有效标志
       Flag5            CHAR(30)

END RECORD

DEFINE lv_dbname        CHAR(18)
    

    INITIALIZE lr_prpversion.* TO NULL

    LET lv_dbname=fgl_getenv(iv_Productid)

    DATABASE lv_dbname

    WHENEVER ERROR CONTINUE

    SELECT * INTO lr_prpversion.*
    FROM prpversion
    WHERE projectversion=iv_projectversion
    AND   productid=iv_productid
    AND   times=iv_times

    RETURN SQLCA.SQLCODE,lr_prpversion.*
    WHENEVER ERROR STOP

END FUNCTION

##############################################################
#/--@METHOD
#@DESC    删除版本信息 
#@RETURN  SQLCA.SQLCODE 
##############################################################
FUNCTION prpversion_delete(iv_projectversion,iv_Productid,iv_times)
#--/@PARAMETER
DEFINE iv_times            SMALLINT  ,     ##变更次数
       iv_productid        Char(30)  ,     ##产品序号
       iv_projectversion   Char(30)        ##版本号
#-/
DEFINE lv_dbname           CHAR(18)
DEFINE  lr_prpversion RECORD
       ProjectName      Char(60)  ,##项目名称
       ProjectVersion   Char(30)  ,##版本号
       ProductID        Char(30)  ,##产品序号
       Times            SMALLINT  ,##变更次数
       UserName         Char(40)  ,##客户名称
       Company          CHAR(40)  ,##单位名称
       UpdateDate       DATE,      ##更新日
       PrimaryVersion   CHAR(30) , ##上一次更新的版本信息
       Flag1            CHAR(30) , ##[1]有效标志
       Flag2            CHAR(30) , ##[2]有效标志
       Flag3            CHAR(30) , ##[3]有效标志
       Flag4            CHAR(30) , ##[4]有效标志
       Flag5            CHAR(30)

END RECORD
    
    LET lv_dbname=fgl_getenv(iv_Productid)
    WHENEVER ERROR CONTINUE

    DATABASE lv_dbname

    DELETE FROM prpversion
    WHERE projectversion=iv_projectversion
        AND productid=iv_productid
        AND times=iv_times

    WHENEVER ERROR STOP

    RETURN SQLCA.SQLCODE


END FUNCTION

##############################################################
#/--@METHOD
#@DESC    获取版本信息 
#@RETURN  SQLCA.SQLCODE 
##############################################################
FUNCTION prpversion_getusrinfo(iv_Productid,iv_flag)
#--/@PARAMETER
DEFINE iv_productid        Char(30)  ,     ##产品序号
       iv_flag             Char(1)
#-/
DEFINE lv_dbname           Char(18)
DEFINE  lr_prpversion RECORD
       ProjectName      Char(60)  ,##项目名称
       ProjectVersion   Char(30)  ,##版本号
       ProductID        Char(30)  ,##产品序号
       Times            SMALLINT  ,##变更次数
       UserName         Char(40)  ,##客户名称
       Company          CHAR(40)  ,##单位名称
       UpdateDate       DATE  ,    ##更新日
       PrimaryVersion   CHAR(30) , #上一次更新的版本信息
       Flag1            CHAR(30) , ##[1]有效标志
       Flag2            CHAR(30) , ##[2]有效标志
       Flag3            CHAR(30) , ##[3]有效标志
       Flag4            CHAR(30) , ##[4]有效标志
       Flag5            CHAR(30)
END RECORD
    
    INITIALIZE lr_prpversion.* TO NULL

    LET lv_dbname=fgl_getenv(iv_Productid)
    DATABASE lv_dbname
    WHENEVER ERROR CONTINUE

    SELECT * INTO lr_prpversion.*
    FROM prpversion
    WHERE productid=iv_productid
    AND   flag5[1]=iv_flag

-----------------------------------------------------------------
--    IF SQLCA.SQLCODE=100 THEN
--        LET lr_prpversion.ProjectName="PICC P&C新一代业务处理系统"
--        LET lr_prpversion.ProjectVersion="v1.5.0"
--        LET lr_prpversion.ProductID=iv_productid
--        LET lr_prpversion.Times=1
--        LET lr_prpversion.UpdateDate=TODAY
--#       LET lr_prpversion.PrimaryVersion=
--        LET lr_prpversion.Flag5[1]="1"
--    END IF
-----------------------------------------------------------------

    RETURN SQLCA.SQLCODE,lr_prpversion.*

    WHENEVER ERROR STOP

END FUNCTION
----------------------------------------------------------------------
##2002-12-04

##############################################################
#/--@METHOD
#@DESC    获取本次安装版本信息 
#@RETURN  SQLCA.SQLCODE,ir_prpversion 
##############################################################
FUNCTION prpversion_getnowinfo(iv_productid)
#--/@PARAMETER
DEFINE iv_productid        Char(30)  ##产品序号
#--/

DEFINE lr_prpversion RECORD
        ProjectName      Char(60),  ##项目名称
        ProjectVersion   Char(30),  ##版本号
        ProductID        Char(30),  ##产品序号
        Times            SMALLINT,  ##变更次数
        UserName         Char(40),  ##客户名称
        Company          CHAR(40),  ##单位名称
        UpdateDate       DATE ,     ##更新日
        PrimaryVersion   CHAR(30),  ##上一次更新的版本信息
        Flag1            CHAR(30),  ##[1]有效标志
        Flag2            CHAR(30),  ##[2]有效标志
        Flag3            CHAR(30),  ##[3]有效标志
        Flag4            CHAR(30),  ##[4]有效标志
        Flag5            CHAR(30)
    END RECORD
DEFINE lv_result       SMALLINT,
       lv_dbname       CHAR(18)

    LET lv_result=0
    INITIALIZE lr_prpversion.*,lv_dbname TO NULL

    LET lv_dbname=fgl_getenv(iv_Productid)

    WHENEVER ERROR CONTINUE

    DATABASE lv_dbname
    
    SELECT * INTO lr_prpversion.* 
    FROM prpversion 
    WHERE ProductID= iv_productid
        AND projectversion="v4.5.0"
        AND flag5[1]="1" 

##LET ir_prpversion.times=ir_prpversion.times+1
   
    CASE SQLCA.SQLCODE
        WHEN 0
            LET lr_prpversion.times = lr_prpversion.times + 1
            LET lr_prpversion.updateDate= TODAY    ##更新日
        WHEN 100
            LET lr_prpversion.ProjectName="PICC P&C新一代业务处理系统"
            LET lr_prpversion.ProjectVersion="v4.5.0"
            LET lr_prpversion.ProductID=iv_productid
            LET lr_prpversion.Times=1
            LET lr_prpversion.UpdateDate=TODAY
        OTHERWISE  
            ERROR "获取本次版本安装信息失败!"
            LET lv_result = 1
    END CASE


   # LET la_prpversion.ProductID=iv_productid

    RETURN lv_result,lr_prpversion.*

END FUNCTION

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -