TIPTOPGP5X客制规范手册(Ver.5.02)TIPTOPGP客制规范-2-易拓研发部目录1.TIPTOPGP客制文档更改规范……………...…..……………….31.1、新增Table的规则…………………………………………....31.2、现有Table中新增字段的规则……………………….………..41.3、Table中新增或更改Index的规则…………………….………51.4、Table中新增或更改Constraint的规则……………..…………51.5、现有PackageTable中更改字段的DataType及长度…..…….61.6、现有PackageTable中更改字段的用途……………..…...….…62.TIPTOPGP客制程式更改规范...…………………….…..……….72.1、系统安装时即已设置的环境变量说明…………..….………....72.2、『.profile』中需更改……………………………..…….………..82.3、客制与更改程序规则…………………………..………………92.4、客制程式步骤………………………………..…………………172.5、客制与更改程序示范………………………..…………………261、TIPTOPGP客制文档【TableSchema】更改规范前言为了让产品因客户特殊需求功能,而必须个案调整TIPTOP应用程序,或TableSchema的同时,也保有产品版本的完整性及未来升级的便利性,在此将对于客制化的方式及环境,给予正确且完整的建议。1.1.新增Table1.保留ga开头的文档编号给TIPTOPGP以上的版本运用【Ex:gaa_file、gab_file…】。2.因个案新增的文档建议其命名方式为:tc_???_file,用于区别package所使用的文档【调整tc_???_file】。格式:tc_ima_file其中,1、2码固定为『tc』,4~11码为文件名称。如:ima_file。3.字段命名方式为tc_???sss:z???代表该字段依TIPTOP标准命名原则,亦即文件名称的前三码。zsss为流水号。z例如:要在tc_ima_file【料件基本资料档】录入字段,可以将该字段命名为『tc_ima010』,其它依此类推。格式:tc_ima010其中,1、2码固定为『tc』,4~6码为文件名称的前三码,如ima;7~9码010为流水号,流水号可以为两码。4.必须通过『文档架构修整记录维护作业【p_zta】』录入以便留下记录。TIPTOPGP客制规范-3-易拓研发部1.2.现有Table中新增字段1.字段命名原则为:『ta_???sss』z其中,『ta』代表个案新增的字段。z???代表该字段依TIPTOP标准命名原则定订,即文件名称的前三码。zsss为流水号。z例如:要在ima_file【料件基本资料档】新增一字段,可以将该字段命名为:『ta_ima010』,依此类推。格式:ta_ima010其中1、2码固定为『ta』;4~6码为文件名称的前三码,如ima;7~9码010为流水号,流水号可以为两码。2.必须通过『文档架构修整记录维护作业【p_zta】』录入以便留下记录。TIPTOPGP客制规范-4-易拓研发部1.3.Table中新增或更改Index1.建议Index命名原则为:『tic_???_sss』z其中,『tic』代表个案新增或更改的index。z???代表该Index依TIPTOP标准命名原则,亦即文件名称的前三码。zsss为流水号。格式:tic_ima_001其中1~3码固定为『tic』;5~7码为文件名称的前三码如ima;9~11码001为流水号,流水号可以为两码,但不得为其它文字。2.必须通过『文档架构修整记录维护作业【p_zta】』录入以便留下记录。1.4.Table中新增或更改PrimaryKey1.建议PrimaryKey命名原则为:『tpc_???_pk』z其中,『tpc』代表个案新增或更改的PrimaryKey。z???代表该PrimaryKey依TIPTOP标准命名原则,亦即文件名称的前三码。zpk表示PrimaryKey的固定缩写。格式:tpc_ima_pk其中1~3码固定为『tpc』;5~7码为文件名称的前三码如ima;9~10码固定为『pk』。2.必须通过『文档架构修整记录维护作业【p_zta】』录入以便留下记录。TIPTOPGP客制规范-5-易拓研发部TIPTOPGP客制规范-6-易拓研发部1.5.现有PackageTable中更改字段的DataType及长度1.不允许就现有PackageTable更改字段的DataType2.字段长度也不要更动。若有必要也只能对字段长度放大。1.6.现有PackageTable中更改字段的用途1.不允许更改字段用途。2.不得使用【NoUse】字段。TIPTOPGP客制规范-7-易拓研发部2、TIPTOPGP客制程式更改规范2.1、系统安装时即已设置的环境变量说明A、客制目录:topcust【与tiptop建在同一层】:$CUST:指向客制目录$TOP:指向标准模块目录B、『$CUST』目录下的config以及bin目录:config:目录下录入4ad、4tm、include(客制时请检查是否有遗漏)bin:目录存放环境变量设置文件『cust_sys』,必须通过p_zmd(模块编号维护作业)来维护。注:a.$CUST/config目录下不得放置top.global文档,以免上patch后,因为与package区环境变量不一致时,导致程序link不成功。b.若因为客制必须新增global变量,则可在$CUST/config下新增一cust.global文档,惟内容中所定义之变量名称,不得与$TOP/config/top.global内容之变量名称相同。C、客制区的环境变量设置文件:$TOP/bin/tiptop_sys:标准TIPTOP的环境变量设置文件$CUST/bin/cust_sys:录入客制区各个模块的环境变量如:$COO、$COOi、$CIM、$CIMi、$CSF、$CSFi、$CZZ、$CZZi…注:a.正式区与测试区的目录结构相同,皆有tiptop(标准模块)及topcust(客制区)目录。D、客制区各模块开头名称由a改为c开头:如:cim、cxm...g开头各模块名称,及lib、sub、qry等皆多加一字符『c』:如:cggl、clib、csub、cqry...【注:模块名称限制为3~4码,其目录结构同$TOP下的各模块】E、CR主机客制目录:topprod的实际路径\topcust\模块(cim.cxm)\程序编号\语言别\例如:aimr100的CR客制D:\topprod\topcust\cim\aimr100\0\aimr100_0_icd.rptTIPTOPGP客制规范-8-易拓研发部2.2、『.profile』中需确认【绿色字为说明】…CUST=/u2/topprod/topcust;exportCUST#客制区环境变量CUSTCONFIG=$CUST/config;exportCUSTCONFIG#新增客制区环境变量…CDPATH=.$CUST:$TOP;exportCDPATH#先搜寻$CUSTDBPATH=.$CUST:$TOP;exportDBPATH#先搜寻$CUST….$TOP/bin/tiptop_sys.$CUST/bin/cust_sys#读取客制区环境变量设置文件…cd$TOP#标准目录的FGLLDPATH定义,程序运行42m搜寻路径sys=`ls-da??g??libqrysub2/dev/null`formin$sys{FGLLDPATH=$TOP/$m/42m:$FGLLDPATH}exportFGLLDPATH…cd$CUST#客制目录的FGLLDPATH定义,程序运行42m搜寻路径custsys=`ls-dc??c???2/dev/null`formin$custsys{FGLLDPATH=$CUST/$m/42m:$FGLLDPATH}exportFGLLDPATH…TIPTOPGP客制规范-9-易拓研发部2.3、客制与更改程序规则区分客制区的目的在:z清楚区分哪些程序客制、无客制z清楚知道程序更改的部分、为什么更改、更改的段落、谁更改、何时更改z可快速取得被更改过的程序清单故统一客制区更改规则。A.规则规则如下所述:z标准区程序不更改【包含4gl、4fd】,要客制就是搬到该模块对应的客制路径,所有的调整皆在客制区($CUST)中完成,并留下客制记录。z客制程式时,就算毋需调整画面,也务必将相关4fd档复制至客制区。(以防止patch进行后,客制程式与package画面无法搭配的情况。)z若为完全新增之程序,程序编号以『c』开头,若为现有程序之客制,则仅需复制至客制区更改,但程序名称不变。例如:一般程序cimi999.4glzLIB、SUB以及QRY类子程序,若需要客制程式,则须考虑影响层面是全部程序或部分程序。若此客制的子程序是全部程序都会使用,为了节省开发时程,则比照原有程序更改之原则,将package程序复制至客制目录进行客制,程序名称不变Function名称亦不变。若此客制的子程序仅部分程序会使用,则比照新增程序之原则,在客制区直接新增一子程序。特别注意此客制程式之Function名称不得与package的Function名称相同。z客制动态查询函式维护作业的资料【p_qry】,必须在p_qry的【客制查询程序】字段选项打勾。【动态查询程序名称代码】命名原则与上述子程序客制命名规则相同。若全部程序都会使用则以q_xxx的格式录入,若仅部分程序使用,则命名格式为cq_xxx。z若客制报表,则必须在p_zaa(报表标题定位点维护程序)和p_zaw(CR报表格式设置作业)中各新增一笔客制资料,新增的时候记得将【本组画面资料为客制资料】字段打勾。z报表备注维护作业的资料【p_zab】客制命名原则为Cyy其中yy代表流水编号,最长可为5码。ex.C01z错误信息信息维护作业的资料【p_ze】客制命名原则为cxx-yyy其中cxx代表模块编号,yyy为流水编号ex.cim-001注:若欲再特别区分客户与神州数码的信息资料,建议神州数码软件代工可以使用TSDyyy,服务使用TSCyyy。z各模块之下s开头的程序,通常只让该模块程序所呼叫,例如AAP模块下的s_t110_w.4gl的直接付款功能,而sub下的子程序则可针对一个或某几个子系统,例如s_upimg.4gl为库存中,更新img的子程序。因此,在p_link链接文件维护作业中,不可将各模块s开头的程序资料添加至【链接文档】为sub的单身中;反之亦然。z在p_per以及p_perlang程序中,当已设置客制资料,其它程序运行都会先抓取客制资料,日后若要还原成先抓标准package资料时,一定要先删除客制资料,否则会造成资料异常,呼叫错误Function。zCR的报表样板(Template)命名格式为程序名称_语言别代码_行业别代码.rpt,例如新增一支cimi999的程序,则CR的报表样板命名为cimr999_0_icd.rpt,其中语言别代码0表示繁体中文,行业别代码icd表示ICDesign行业,而std表示一般行业。TIPTOPGP客制规范-10-易拓研发部TIPTOPGP客制规范-11-易拓研发部B.实例兹将上面所述归纳如下:1.原Package4gl/4fd不改,仅字段显示名称要客制调整时a.运行程序p_perlang,针对欲更改的画面代码复制一笔,并将【本组画面资料为客制资料】字段打勾。b.针对复制的资料调整字段显示名称。2.原Package4fd要更改时a.将原package的4fd以及使用到此4fd的4gl复制至客制区目录。b.更改4gl以及4fd檔,并且compile。c.运行r.gf4fd檔名0cd.运行程序p_perlang,维护【字段显示名称】的多语言资料