用友软件股份有限公司研发过程 U9 脚本和元数据提交规范 文件编号:U9 版 本 号 :1.0 修改状态:0 编 写 人 :张恒 审 核 人 : 批 准 人 : 批准时间:2008-07 适用对象 该规范适用于脚本开发人员。 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 张恒 2008-06-30 相关文档 约定 脚本是 u9 系统的一个重要组成部分.u9 的脚本分为几类: 预置数据脚本, 程序脚本, 元数据脚本。所有的脚本统一提交到 Data 试图 SystemData\StdSqlScript 目录下.目录结构按模块划分如图所示: AP //模块 ——PreSet //预置数据脚本 ————App //应用级预置数据脚本 ————Ent //企业级预置数据脚本 ————Org //组织级预置数据脚本 ——Prog //程序脚本 脚本按模块组织的目的是用于支持 U9 按模块,组织安装部署,随客户需求安装部署 U9 的应用。 1. 预置数据脚本,他又分为企业级,组织级和应用级。 1.1 企业级 企业级指所有企业共享数据,与组织无关,如参数;命名规范:数字(先后顺序) _模块_字母(业务含义),如 01_MODocType.sql。脚本必须保证数据一致性和唯一性。可重复执行。 1.2 组织级 组织级数据指数据与组织相关,创建组织时会自动执行脚本来创建组织级预置数据,如税等;命名规范:数字(先后顺序)_模块_字母(业务含义)。脚本必须保证数据一致性和唯一性。可重复执行。必须在脚本设置组织变量。 declare @startSN bigint exec [dbo].[AllocSerials] 10000,@startSN output -- BOM 下发参数 SET @startSN = @startSN + 1; INSERT [CBO_AttributeController] ( [ID] , [CreatedOn] , [CreatedBy] , [ModifiedOn] , [ModifiedBy] , [SysVersion] , [ControlAttribute] , [IsCanBeModified] , [UpFloat] , [DownFloat] , [ControlObj] , [ControlEntityType] , [RelativeMainEntityType] , [Org] , [IsPropertyType] ) VALUES ( @startSN , getdate() , 'Admin' , getdate() , 'Admin' , 4 , 'ItemMaster' , 0 , .000000000 , .000000000 , 23 , 'UFIDA.U9.CBO.MFG.BOM.BOMMaster' , 'UFIDA.U9.CBO.SCM.Item.ItemMaster' , @OrgID , 0 ) 1.3 应用模块级 应用级指应用启用需要执行的脚本,如单据类型。命名规范:数字(先后顺序) _模块_字母(业务含义)。脚本必须保证数据一致性和唯一性。可重复执行。 declare @SNIndex bigint exec [dbo].[AllocSerials] @AllocCount = 10000, @StartSN = @SNIndex output --应付单类型 Delete AP_APDocType_Trl where ID in (Select ID from AP_APDocType where Org=@OrgID and Code Between '01' and '10') Delete AP_APDocType where Org=@OrgID and Code Between '01' and '10' Set @SNIndex=@SNIndex + 1 insert into AP_APDocType (ID,CreatedOn,CreatedBy,ModifiedOn,ModifiedBy,ConfirmType,WorkFlowCode,IsRAMADoc,IsAMADoc,IsRMADoc,DocHeaderSequenceStyle,DocHeaderSequence,PrintStyle,MaxAmountOfPrint,IsCopyPrinted,PrintTemplate,BusinessType,Code,ShortName,Effective_IsEffective,Effective_EffectiveDate,Effective_DisableDate,Org,IsCreatedByPush,InvoiceRelDMDocType,InvoiceRelCMDocType,IsCreditBill,IsDefaultType,PayTerm,IsCalcFee,IsCalcTax,ApplyRule,AutoAdjustCeiling,IsUpdateSuppBalance,IsTaxPrice,APStatementDirect,ARStatementDirect) VALUES(@SNIndex,GetDate(),'EA',GetDate(),'EA','1','C0159E50-04A9-4FEF-B96F-58F000E784D6','0','0','0','0','3004001','0','0','0','','186','01','','1','1900-01-01 00:00:00.000','9999-12-31 00:00:00.000',@OrgID,'1',@SNIndex + 2,@SNIndex + 1,'1','1',null,'1','1','0','0.0000','1','1','0','0') Insert Into AP_APDocType_Trl (ID,SysMLFlag,[Na...