📄 versiondea.4gl
字号:
#@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 + -