ERP 二次开发流程
前提:熟悉基础的Linux命令+4GL基础语法+SQL语法,你可以看看本手册里面对应目录的相关资料
一、p_zta增加或修改表(如果不用改表,这步可以跳过)
修改表要数据库DBA的权限,如果你的账号没有这个权限可以在Linux服务器上用root执行一下脚步
usermod -a -g dba Linux用户名(ex:为liyihui这个账号添加数据库dba组的权限 usermod -a -g dba liyihui)
(注意: 是小g 不是大G,大G是标准组,会覆盖之前用户所在的组,而不是添加组了)
1、登入p_zta
2、新增或修改表
注意:你至少需要新增或修改ds库 和 程序业务使用的数据库,ds库是程序编译时参照的库(比如 LIKE ima_file.tc_ima01)
①.如果是新建表,先 建立p_zta资料后,然后 点击;如果是修改表就不用做这步骤了
②.然后点击,根据是新增表还是修改表选择对应的选项操作 //非必须操作
③.更新ds.sch,Linux服务器上执行命令 r.s2 ds //非必须操作,p_zta最后会自动r.s2一下我的技巧:如果多个营运中心都需要建立同一张表,我是这么做的
①.ds帐套在p_zta按上面的流程建立表
②.其他帐套在PL/SQL执行SQL:CREATE TABLE 表 AS SELECT * FROM ds.表
③.复制出zta_file及ztb_file该表的信息(将所属者改为其他帐套,每个帐套一份)
④.再到p_zta里面,修改各个帐套的表的索引就OK了
二、如果是将 a标准程序 修改为 c客制程序,这里先做;如果是新增程序直接跳过本步骤
为什么要先插入这一步:这样r.gf 客制程序 2 c后自动新增的p_perlang和p_per就不用维护什么资料了
1、p_perlang复制a标准程序的画面档资料为c客制程序的画面档资料
p_perlang先查询出标准程序的资料 -> 再按c(拷贝) -> 写入客制程序的代码 + 勾选"客制"栏位
ex:先查询asft620的资料,然后 复制(按c) 将asft620客制为csft620
2、p_per同理
三、新增或修改4fd画面档及4gl程序源码档
1、Linux服务器上下载ds.sch (如果做的4fd不用参照表就不用下载了,比如一些报表)
Linux服务器上执行 sz $TOP/schema/ds.sch
2、打开Genero Studio软件,开始绘制4fd画面档
①.建立Genero Studio的工程项目(注意是 .4pw 的工程项目工程文件哟)
点击Ctrl + S 先保存项目文件,这是个人经常性按Ctrl+S保存文件的习惯^_^
②.导入前面下载的 ds.sch 文件到工程文件中(否则等下做4fd画面档时 会出现找不到表的情
③.将导入的 ds.sch 文件保存到工程文件中的Databases目录下面
④.新建或修改4fd画面档
对于新建4fd画面档时,我一般都是先摆好所有的控件,然后选择对应同一个表的所有控件(Ctrl可多选),再一起修改对应的表做画面档对于单身栏位,在单身列中间插入列时,该列在单身对应的SR变量里面一直摆在最后面,而不是对应的位置,需要手动调整一下(选中上下拉就可以了):
⑤.rz -y 上传4fd档到服务器上对应的ERP模块4fd路径下面(Ex:$CSF/4fd),编译且预览画面档
r.f2 4fd画面档 (Ex:r.f2 csft620)
r.gf 4fd画面档(Ex:r.gf csft620 2 c)(2:是语言别,表示中文简体;c:表示客制,如果是标准模块则换成p)
⑥.新建或修改4gl源码档,写4gl代码说明编辑器都可以,但个人还是喜欢用Genero Studio,因为有关键字着色、语法预警等功能
⑦.rz -y 上传4gl源码档到服务器上对应的ERP模块4gl路径下面(Ex:$CSF/4gl),编译4gl(暂不链接)
r.c2 源码档(Ex:r.c2 csft620)
⑧.p_link查询出原标准程序的链接档,然后按C(复制)出客制程序的链接档,修改对应的项为客制目录下面的文件就可以了,再新增p_zz里面的资料,注意p_zz里面的运行指令及模组都要改成客制目录
⑨.回到服务器,链接程序
r.l2 源码档(Ex:r.l2 csft620)
⑩.回到p_zz,点击进入p_base_act程序后,一点要点击一下单身,然后退出,选择重新生成4ad档,才能在程序里面正确显示对应的ACTION,如果不是tiptop账号,你需要$TOP/config/4ad整个目录文件的权限才可以成功生成新的程序的4ad文档
四、根据需要,p_zm挂载程序到ERP目录里面及开通权限等........
p_zm执行时,如果不是tiptop账号,你需要$TOP/config/4sm目录及文件的权限才可以成功生成menu.4sm目录文件