T100 命名规则及操作说明
2.1 一般模组架构及命名原则
2.1.1 模组分类定义
模组下关注的主要项目:
1、 程式运行需要的基本资料
2、 跨企业基本原则设置
3、 一般批次
- AZZ 模组为管控系统基本资料模组
- 基本资料项目若需要跨企业存在的,则必须放入本模组
- AZZ 开出的是 synonym table
- 跨企业一致性的需求(大部分为系统层级的设定)
- 与作业底层相关的设定
- 若为企业内的基本资料,则属于 AOO 模组
- AOO 为实体 TABLE
- 基本资料:000-099
- 系统分类码:600-699
- 企业设定:500-599
- 使用者:800-849
- 职能角色:850-899
- 程式/作业:900-949
- 排程:950-979
- 参数:980-999
2.1.2 标准模组架构图
- 指 aim,apm,aoo 等 ERP 标准模块
- 系统目录 ($TOP) 下以模块别作为目录区分
- 模块下以扩展名 (型态) 不同作目录之区分
2.1.3 标准模组编号命名原则
建立新模组:模块代号维护作业(azzi700)
定义:
- 模块编号须为三码英文组成
(包含 ERP 的模块 / 共享 COM 的模块等)
- 目前 ERP 模块($ERP)
『a ~ e』开头的模块代码
- COM 模块前缀避开 a-e 后其余未规范,目前($COM) 有
『lib、lng、sub、qry、wss』
﹝共享客制模块编号为前方增加一码 C﹞
- 建立模块:模块代号维护作业(azzi070)
范例:
- 『a』为标准模块
– Example:agl、apm、axr 、azz
- 『c』为标准客制模块
– Example:cgl、cpm、cxr 、czz
- 『b』为行业模块 (注解)
– Example:bph
- 『d』为行业客制模块
– Example:dph
- 『e』为纯客制模块
– Example:enu
行业编号定义:
- 行业编号为二码英文组成
- 行业可建置自己的专用目录一个或多个,也可以不建置﹝目录编号不一定要与行业编号相同﹞
- 行业编号是系统级,未设定时,属于标准行业﹝sd﹞
- 建立行业:行业编号维护作业(azzi050)
目前共享模块 ($COM) 代码如下:
系统代码 | 中文说明 | 英文名称 | 备注 |
lib | 共享程序 | Common Library | |
lng | 语言数据与提速文件子程序 | Lingual sub function | |
sub | 一般子程序 | Common Sub function | |
qry | 查询子程序 | Common Query Function | |
wss | 整合与web service 程序 | Web Service Subsystem | |
2.1.4 标准模组下目录命名原则
1、程式相关
- 4gl :程序原码置放目录
- 42m:程序原码经编译后的结果置放处
– 各程序单独存在,未经链接前的程序不一定可独立执行。
- 42r :编译连结完成后的执行档置放处
– 链接采动态联结,此目录下仅存链接数据,于执行时会往 42m 目录读取实际程序。
2、画面相关
- 4fd : Form Designer 使用的画面档
- 42f :编译完成的画面文件数据
- 4ad: Genero 支援的 ActionDefault 配置文件
- 42s:多语言翻译编译文件
3、其他
- dzx:程序产生的相关档案
- sch:由数据库导出的数据结构文件
- rdd:报表结构文件
- 4rp:报表样板文件
- str:多语言翻译原始文件 (透过 azzi902 产生)
2.1.5 程式命名原则
1、主程序编号
程序一般以三码英文及四码数字(共七码)组成。
程序名称的前三码为模块代码,第四码为程序类别,第五码至第七码为作业代码。格式:SSSQ999_MM
说明:
SSS 为模块代码,均以小写字母表示
Q 为程序类别,其意义如下:
『i』基本数据维护作业、『m』主文件数据维护作业、『t』事务处理、『s』参数设定、『p』批处理、『q』查询作业、『r』报表作业※
999 为程序三码数字流水编号
_MM 为行业别专用程序代码若主程序名称后端有加上『_ic』,则表示该作业默认为IC 行业别﹝IC Design﹞专用作
业,不一定可适用于其他行业。若未加入行业别代码,则表示可以为各行业别通用。例如:『_ic』表示IC 设计业,『_sc』表示鞋、服饰制造业『_ph』表示制药业。
※主文件数据会依照使用时间增长而有增加,基本数据文件则不一定会成长。
范例:
aimi100 为料件基本数据维护作业。aim 为系统名称,i 为维护作业,100 为该作业的代号。命名原则 2-3 cimi001 为客制料件数据维护作业。cim 为客制系统名称,i 为维护作业,100 为该作业的代号。
bphi100_ph 为食品添加物登记证维护作业。bph 为行业专用模块名称,i 为维护作业,100
为该作业的代号,ph 为行业代号
2、子程序檔名
若主程序需要另外撰写函式,则会增加子程序,名称前七码会与主程序一致,并再加上『_』
(底线)、型态及两码流水号,以资区别。一般用途子程序 格式:SSSQ999_88
行业专用子程序 格式:SSSQ999_MM_88
Genero Report 子程序 格式:SSSQ999_g88
Xtra Grid 子程序 格式:SSSQ999_x88
说明:
SSSQ999 为主程序代码
88 为两码数字流水编号,若为报表用子程序,则依照类型,特别增加g 或x _MM 为行业别专用程序代码
范例:
aimi100_01 为aimi100 的子程序 cimi100_01 为cimi100 的子程序
3、 子画面檔名
程序开发过程中需要一个以上的画面时,可以额外制作子画面。格式:SSSQ999_s88 及SSSQ999_88_s88
说明:
SSSQ999 为主程序代码
SSSQ999_88 为子程序代码 s88 s 为固定用法,88 为两码数字流水编号
范例:
aimi100_s01 为aimi100 的子画面 aimi100_01_s01 为aimi100_01 的子画面
ERP T100
架构与维护作业开发手册 2-4
6、 报表相关文件名
报表主程序主要处理画面的字段控制,命名请参考『2.2.1 主程序编号』。
报表组件主要处理报表的逻辑与运算,分为凭证与查询报表两种类型。一支报表主程序依应用需求可呼叫多支不同逻辑的报表组件。
标准格式 行业专用格式凭证报表 SSSQ999_g88 SSSQ999_MM_g88
查询报表 SSSQ999_x88 SSSQ999_MM_x88
说明:
SSSQ999 为报表主程序代码 g 代表凭证报表,x 代表查询报表
88 为两码数字流水编号
_MM 为行业别专用程序代码报表结构文件(.rdd):凭证报表独有。命名与报表组件同,例如:axmr500_g01
报表样板文件(.4rp) :凭证报表独有。一支报表组件允许应用多份报表样板,命名与报表组件相同,若有多样版需求时,再加上两码数字流水号识别。子报表样板则为主样板加上’_subrep’及流水号,用以识别主报表 (单一样板) 格式:SSSQ999_g88
主报表 (多样板) 格式:SSSQ999_g88_77
子报表 格式:SSSQ999_g88_subrep66
说明:
SSSQ999_g88 为报表组件文件名,88 为两码数字流水编号若有多样版时,后方新增两码数字流水号(即_77),以资区别
若有子样板时,后方再新增 _subrep 及两码数字流水号(即_subrep66),以资区别范例:
主程序 报表组件 报表样板(4rp)
标准报表 axmr500 axmr500_g01 axmr500_g01 axmr500_g01_subrep01
标准报表(多个报表组件)
axmr500 axmr500_g02 axmr500_g02 axmr500_g02_subrep01
标准报表(多个报表样板)
axmr500 axmr500_g01 axmr500_g01_02 axmr500_g01_02_subrep01
行业别报表 axmr500_ph bxmr500_ph_g01 (报表组件无引用) bxmr500_ph_g01 bxmr500_ph_g01_subrep01
客制标准报表 axmr500 axmr500_g01 axmr500_g01 axmr500_g01_subrep01
新增客制报表 cxmr501 cxmr501_g01 cxmr501_g01 cxmr501_g01_subrep01 8、 Web Service 主程序文件名
提供其他整合系统呼叫的外部Web service 主程序。存在于$COM/WSS 模块内。格式:wssp999
说明: wssp 为固定用法,标示为web service 主程序
999 为程序三码数字流水编号格式:cwssp999
说明: cwssp 为固定用法,标示为web service 客制主程序
999 为程序三码数字流水编号
9、 Web Service 子程序檔名
提供Web service 主程序专用的相关子程序。存在于$COM/WSS 模块内。不提供给一般ERP 程
式进行连结呼叫。格式:wssp999_88
说明: wssp999 为主程序文件名
88 为二码数字流水编号格式:cwssp999_88
说明: cwssp999 为客制主程序文件名
88 为二码数字流水编号
10、 共享参数档名(inc 檔)
当全局变量需要跨程序(4gl code)应用时,除可以透过程序内的GLOBALS 区块建议,也可以设定共享参数档。此类一般用途共享参数档必须透过azzi908 作业进行维护。
一般用途共享参数档 格式:SSSQ999_88.inc (存放于4gl 目录下)
说明:
SSSQ999 为主程序代码
88 为两码数字流水编号若有大量跨模块需求时,则可以将共享参数置放于系统 $ERP/cfg 目录下,并以设定连结方式建立于$COM/cfg 目录
跨模块共享参数文件 格式:top_XXXXXX.inc
说明:
XXXXXX 为功能说明
11、 附檔名
附檔名分为:4gl 原始程序部份、画面、报表,及其他资源文件等类别。意义如下:
4gl 原始程序部份
4gl 原始程序 inc 多个程序共享的参数档案
42m 原始程序编译后的目标程序
42r 连结后可执行的目标程序画面档案
4fd Form Designer 使用的画面檔 per 透过gsform 工具将4fd 档案转换成的画面对照檔
42f 编译完成的画面文件数据报表档案 rdd 报表结构文件
4rp 报表样板文件命名原则 2-9
资源文件
str 多语言翻译原始文件 (透过azzi902 产生) 42s 多语言翻译编译文件
sch 档案参考内容
4tm/4ad/4tb Genero 支援的TopMenu/ActionDefault/ToolBar 配置文件
4pw Genero Studio 专案配置文件__
2.1.6 函数(Function)命名原则
函数(Function)为程序中,具有独立性质,而能提供特殊功能的部份组成。格式:xxxxxxx_yyyy
说明:xxxxxxx_ 为程序文件名的7 码表示 yyyy 为该函数的功能完整叙述
范例:azzi100_insert 为 azzi100 作业的新增函数
作业中通常有下列函式 | ||
| _insert( ) | 数据新增处理 |
| _delete() | 数据取消处理 |
| _show( ) | 将数据呈现于画面 |
| _fetch( ) | 处理从数据库中取得数据 |
| _modify( ) | 数据修改处理 |
_input ( ) | 数据输入处理 | |
| _query() | 数据查询处理 |
| _set_entry( ) | 处理字段的动态开启 |
-
- _set_no_entry( ) 处理字段的动态关闭(须含判断式)
- 范例:函式名称为 aimi100_insert( )
- 『aimi100』作业名称
- 『_insert』功能名称
- 同一主作业下不可使用相同的函式名称
须特别注意:在同一个主程序名称下,不可使用相同的函式名称,以避免程序于链接或在运行时间发生不可预期的错误。
2.1.7 变量命名原则
- 全局变量 (Global Variable) 或模块变量 (Module Variable)
- 『 g_ 』 开头命名,后方跟上功能用途
- 局部变量 (Local Variable)
- 『 l_ 』 开头命名,后方跟上功能用途
- 传递用的变数 (Passive Variable)
- 『 p_ 』 开头命名,后方跟上功能用途
以上变量定义用于 4gl
- 屏幕数组变量 (Screen Array Variable)
以 『 s_ 』 开头命名
定义:s_detailN 或 s_detailN_info 或 s_browser
其中 N 为流水号注意:当异动时,可能会影响产生的程序代码。
屏幕数组变量定义用于 4fd
2.1.8 客制作业命名原则
- 客制原来就有的作业:保持原来的作业名称 ﹝客制签出﹞
- 新增加入的客制作业:请遵循命名原则
- 例:
- aimi100 需要客制 将此作业客制签出
- 客户需新增一支作业 依规定命名,如 cimt345
2.2 共用模组架构及命名原则
2.2.1 共用模组架构图
- 仅指 lib,sub,qry 等系统模块
- lib :标准公用函式
-
- :cl_xxx
-
- sub:标准公用副函式
- :s_xxx
- qry :标准查询函式
-
- :q_xxx
-
- 打包为 42x 檔,放入 42m 中
2.2.2 标准共用模组程式编号命名原则
• lib 程序编号须为 『 cl_ 』+『主要函式功用』
- sub 程序编号须为 『 s_ 』 +『主要函式功用』或
- s_ 』 +『第一支调用主程序编号』
- qry 程序编号须为 『 q_ 』 +『此函式查询的主要字段编号』
- 程序编号必需清楚易辨,可用『_ 』链接字符串
- qry 目录下置放『查询子程序』
• lib 函式编号如 :cl_err( ) 显示错误讯息
cl_get_table_name( ) 取得表格名称
- sub 函式编号如:
s_azzi902_upd_gzaa002( ) 用在 azzi902 的更新 s_chkinvoice( ) 检查发票数据用子程序
- qry 函式编号如 :q_imaaxxx( )
q_gzzaxxx( )
其中 imaaxxx、gzzaxxx 为字段编号
- qry 若遇到同一字段需要数支目的不同的查询子程序,
可在后方加上流水号以资识别。
如:q_imaa001_1、q_imaa001_2 等,
都是以查询 imaa001 字段的数据为主的查询用子程序
4、 library 檔名
共享程序为在T100 中用于系统处理的函式,例如询问开窗、画面组件处理等。格式:cl_xxxxxxx
说明:
cl_表示该程序为共享程序(Common Library) xxxxxxx 最少1 个字符,最多允许17 个字符【因为各维护作业输入限制】。必须以有代表意义的方式命名,可加上『_』(底线)以资区隔。
举例:cl_err 显示错误讯息 cl_about 显示程序信息格式:ccl_xxxxxxx
说明:ccl_表示该程序为客制共享程序(Common Library) xxxxxxx 最少1 个字符,最多允许17 个字符
举例:ccl_trim 表示为去掉前后空白功能客制共享程序
5、 应用组件文件名
特别商业规则,有通用性质的,可以特别拉出作为『应用组件』。应用组件可以依照功能区分,也可以依照首要调用程序进行命名格式:s_xxxxxxx
或为:s_SSSQ999_xxxxx
说明:s_表示为该程序为应用组件 xxxxxxx 为功能说明
举例:s_transaction 表示为交易检查
格式:cs_xxxxxxx
或为:cs_SSSQ999_xxxxx
说明:cs_表示为该程序为客制应用组件 xxxxxxx 为功能说明
举例:cs_date 表示为处理日期相关命名原则 2-5
7、 其他组件文件名开窗查询组件格式:q_xxxxxxx
说明:q_表示该程序为查询类(Query)子程序
xxxxxxx 最多18 个字符,最少1 个字符。须以有代表意义的方式命名,多半以欲查询的档案(table name)名称命名【参考附注】。若该文件名已使用,则可于后方加上流水号,辨识前后顺序的不同。
范例:q_imaa001 为料件代号数据查询 q_ooea001 为组织(门店)编号查询格式:cq_xxxxxxx
说明:cq_表示该程序为查询类(Query)客制子程序 xxxxxxx 最多17 个字符,最少1 个字符。
格式:q_ xxxxxxx _mm
说明: xxxxxx 最多15 个字符,最少1 个字符。
mm 表示为行业别代码命名原则 2-7
范例:q_ooea001_ph 为制药业组织(门店)编号查询【附注】:命名时须注意不可与『动态查询子程序』名称冲突,若名称上有所冲突,则后续登
录数据或进行系统管理时,都会有不可预期的困难与错误情形发生。
2.2.3 客制共用模组及命名
1、 客制原有共享函式命名原则
- 将原有共享程序客制签出
- 函式程序名称及内含的函式名称,不需修改,维持原名
- 检查『模块设定作业 (azzi070)』,是否已修改原来登录的资料,将替换到 CLIB、CSUB 或 CQRY 模块下
- 修改过的共享模块必须重新制作 42x;
有用到的程序要重新 link
2、客制共享程序命名原则
- 在 azzi901 注册新客制共享程序
- 新程序编号及内含的函式编号,不可与标准共享模块编号相同如:$CLIB 下,程序编号为『 ccl_』+『 函式功用』
$CSUB 下,程序编号为『 cs_』+『 函式功用』 $CQRY 下,程序编号为『 cq_』+『 查询字段』
『二码模块编号』+『二码英文流水号』
+『二码行业别代码』
+『_t(固定用法)』
例如:imaaic_t 【ic】为 ICD 行业编号
﹝参照 azzi050 行业编号﹞
转载请注明:赫非域 » T100 命名规则及操作说明