给T100新人的第一课:搞懂axm、cxm这些文件夹和aimi100作业编号,到底在说啥?
T100开发入门从文件夹结构到作业编号的深度解析当你第一次登录T100系统服务器时面对满屏的缩写和编号是否感到一头雾水axm和cxm有什么区别aimi100这个作业编号又代表什么本文将带你系统梳理T100的基础架构用生活化的比喻解释这些专业术语让你快速掌握T100开发的语言体系。1. 初识T100登录后的第一印象登录T100服务器后你会看到两个最常用的目录cd $TOP # 进入正式区顶层目录/topprd cd $ERP # 直接跳转到erp目录/topprd/erpT100系统通常分为四个工作区区域用途描述类比说明正式区上线前的开发和模拟测试相当于生产车间测试区上线后的二次开发和功能测试相当于实验工作室标准区产品出货的干净环境相当于产品展示厅验证区补丁验证相当于质检实验室在erp目录下你会看到各种以字母开头的模组文件夹其中最常见的是a开头的标准模组如axm、apm、asf等c开头的客制模组如cxm、cpm、csf等提示可以把标准模组想象成精装房的固定配置而客制模组则是根据业主需求定制的部分。2. 模组命名原则标准与客制的分水岭T100的模组命名遵循严格的规范不同类型的模组有不同的前缀标准模组 客制模组 功能说明 aao cao 订单管理 axm cxm 生产管理 apm cpm 采购管理这种命名方式带来三个明显优势快速识别模组类型一眼就能区分标准功能和定制开发避免命名冲突标准与客制代码互不干扰便于权限管理可以针对不同类型模组设置不同访问权限实际开发中常见的文件夹结构示例erp/ ├── axm/ # 标准生产管理模组 │ ├── 4gl/ # 源程序代码 │ ├── 4fd/ # 画面设计文件 │ └── sch/ # 数据表定义 └── cxm/ # 客制生产管理模组 ├── 4gl/ ├── 4fd/ └── sch/3. 作业编号解密aimi100背后的密码T100中的作业编号看似随机实则蕴含丰富信息。以aimi100为例a i m i 1 0 0 │ │ │ │ └─┴─ 流水号 │ │ │ └─── 作业类型(I类) │ │ └───── 模块名第三个字母 │ └─────── 模块名第二个字母 └───────── 模块名第一个字母常见的作业类型标识符i基本资料维护类q查询类r报表类p处理类在azzi900作业中注册新程序时必须严格遵循这个命名规则。我曾见过一个开发团队因为忽略了这个规则导致整个测试环境的程序调用出现混乱花了三天时间才排查出问题。4. 表格与字段的命名艺术T100中表格和字段的命名同样自成体系。以订单表为例标准表格命名xmaa_t # 订单主表 xmaa001 # 订单编号字段 xmaaud001 # 弹性字段(产品预留)客制表格命名xmaauc_t # 完全客制表 xmaaua001 # 标准表扩展字段字段命名中的特殊后缀含义后缀含义使用场景ud标准表的弹性字段产品预留扩展ua标准表扩展字段二次开发新增字段uc完全客制表字段全新开发的表在adzi140表格设计器中操作时这些命名规则会被严格校验。记得去年指导一位新人时他因为试图在标准表中直接添加非ud字段导致整个设计流程卡住后来才发现必须通过弹性字段或客制表来实现需求变更。5. 程序开发实战技巧掌握了命名规则后让我们看几个实际开发中的例子执行程序的两种方式r.r aimi100 # 在任何目录下直接运行 r.dg aimi100 # 必须在模组/4gl目录下执行常见的函数命名规范function aimi100_insert() function aimi100_delete() function aimi100_query()变量命名前缀规范g_全局变量Globall_局部变量Localp_参数变量Parameters_画面数组变量Screen在开发一个库存查询功能时我曾遇到变量作用域混乱的问题。后来严格遵循这个前缀规范后代码的可读性和维护性大幅提升。特别是当程序超过3000行时这种规范的价值更加凸显。6. 必知必会的关键作业T100中有一些作业是开发者必须熟悉的这里列举几个最常用的azzi900程序基本数据设定新程序必须在此注册azzi901子程序及组件设定azzi800使用者账号设定adzi140表格设计器快捷键r.t快速进入azzq171函数说明查询特别提醒azzi920系统信息维护作业要谨慎操作。有次团队成员误改了其中的参数导致整个测试环境的报表输出格式异常影响了当天的版本发布进度。