T100 系统架构
1.4.1 数据库架构
T100 采用单一数据库结构
1.4.2 安装区域
T100 安装时会画分成四块工作区域,分别是标准区、测试区、正式区与验证区。这四个区域,除程序执行部份有区分外,在数据库中亦为各自切开:instance【在informix 中称为on-line】。
标准区:提供一组出货标准供参考之用。日常若有客制作业时勿须变更此区,仅在进行版本更新时,由此区开始进行更新作业。以保持于预设安装值一致。
测试区:主要是提供给用户练习数据输入,或是有新程序汇入系统的磨合测试区,本区的资料将会定期由正式区覆盖﹝clone﹞,以保持测试的逼真度。
正式区:一般用户的作业区。本区程序不可任意修改,以维护数据的安全性。程序要汇入本区前,必须在测试区域完成测试,并经相关使用者的认可后才可以执行过单、汇入的工作。
验证区:提供补丁包﹝Patch Package﹞更新验证使用。一般状况下不开放开发或登入使用。T100 标准目录,主要在置放标准程序。此部份的程序不可修改。若有修改,则会在更新版本时遭到覆盖而无法使用。
若有需要针对不同的商业流程进行作业的修改时,请务必于客制模块目录下执行修改。客制化的程序需依照客制流程规范来执行,以维持程序执行的流畅。
1.4.3 目录分配
系统在配置时,均以 $TOP 做为最上层目录,在 $TOP 挂上各种系统所需的工具、模块等目录,以期做有效率的运作及管理。基本系统架构呈现如下图所示:
工作目录部分
- utl:置放相关工具及应用组件。
apse/apslog:先进排程系统引擎路径与相关纪录文件。file:相关文件存放路径﹝如果需要存在Windows Base,则需要挂载于此目录下﹞。res:系统相关图片及联机帮助存放路径。log:ERP 相关操作log 存放路径。tmp:存放数据库备份及其他暂存数据。
程序目录部份 erp/aim 等:ERP 各模块目录,其目录结构会于后续详述。
erp cfg:置放系统程序执行时所需的各式设定数据,其下目录结构将于下节详述。com/lib:置放系统『标准公用函式(如:cl_xxx)』目录。com/sub:置放系统『标准公用副函式(如:s_xxx)』目录。com/qry:置放系统『标准查询函式(如:q_xxx)』目录。
com/inc:存放程序内前端处理区块内所连结的程序代码,
即放置程序内使用&include 指令包含的程序代码档案。
- 若有需要,可另外新增 top_xxxx.inc 的全局变量档,但变量名称不可与 top_global.inc 重复
com/cfg 目录配置
本目录下是置放程序执行时所需参照到的设定部份。包含工具栏(TOOLBAR)设定、萤幕显示样式(Window Style)及共享的功能定义(Action Default)等数据,均存放于此。以下分别叙述每个子目录的结构方式及用途。
top_global.inc:全系统中都会使用到的公用变量定义(如g_user:记录现行用户代码)。
4ad:存放每支程序Action 代码与显示说明转换的数据(分系统别、语言别存放)。
4tm:存放每支程序的TopMenu 数据(分系统别存放)。
4tb:存放各类程序的Tool Bar 设定数据。
4st:存放屏幕显示的Style 设定数据。
4sm:存放系统 Start Menu(分语言别存放)。
模块下目录配置
模块目录下是实际置放相关数据之处。包含程序原码(4gl)、画面原码(4fd)、数据表结构(sch)、及编译结果(42m、42r、42f)等,均存放于此。
各模块下目录结构大致相同(部份特殊用途模块除外)。以下分别叙述每个子目录的结构方式及用途。
4gl:程序原码置放目录,置于其下的程序命名均须依命名原则定名。
42m:程序原码经编译后的结果置放处。各程序单独存在,未经链接前的程序不一定可以独立执行。
42r:编译连结完成后的执行檔置放处。由于目前链接采动态联结模式,所以此目录下仅存有链接数据,而于实际执行时会前往42m 目录读取实际程序。
4fd/per :画面檔/透过gsform 工具将4fd 档案转换成的文字画面设计文件﹝备份用﹞。
42f:编译完成的画面文件数据。sch:由数据库导出的数据结构文件。
1.4.4 环境变量
T100 系统中使用许多的环境变量,其中可以大略区分为:DB 环境变量、Genero 环境变量、与T100 环境变量。
其中关于数据库的部份又必须视安装数据库种类不同而有不同的设定。以下分就不同种类的环境变量加以说明:
数据库环境变量【.profile】(括号内为标示适用数据库种类)
变量名称 | 变量功用 | |
ORACLE_HOME | 【ORACLE】指向存放ORACLE 系统的目录 | |
ORACLE_SID | 【ORACLE】ORACLE 数据库的名称 | |
NLS_LANG | 【ORACLE】正常存取数据的语系设定 | |
DBPATH | 【均有】程序执行所使用的画面搜寻根目录路径 | |
DBDATE | 【均有】指定日期显示的格式 | |
DBDELIMITER | 【均有】指定数据在上/下载时的字段分隔码 | |
Genero 需用环境变量 | ||
变量名称 | 变量功用 | |
FGLDIR | 设定编译程序存放的路径 | |
FGLSERVER | 本次对应客户端IP 位置﹝GDC 执行路径,可接上『埠编号』﹞ | |
FGLDBPATH | 存放数据库数据表结构的路径 | |
FGLRESOURCEPATH | 执行过程中需要的42s 多语言档案存放路径 | |
FGLIMAGEPATH | 执行过程中系统默认抓取图片档案路径 | |
FGLLDPATH | 程序链结 (link) 以及程序执行时,42m 档案的搜寻路径 | |
FGLPROFILE | 存放画面文件相关的配置文件路径 | |
LANG UNIX | 系统与Genero 系统运行语系 | |
LC_CTYPE | 系统提示错误时,应显示的错误讯息语系﹝可和LANG 设定不同﹞ | |
DBPRINT | 要使用Local Printer List 功能必须设定此环境变量。 | |
T100 操作部分需用环境变量 | ||
变量名称 | 变量功用 | |
$TOP | 设定安装T100 的最上层路径 | |
$ERP/$COM/$FILE… | 第一层目录均设置对应的环境变量,以方便操作 | |
$AXX/$LIB/$SUB… | 各模块均设置对应环境变量,以方便操作 | |
$AXXi | 各ERP 模块的42r 路径均设置对应环境变量,以方便操作 | ||
$TEMPDIR | 指向报表产出的存放路径 | ||
$FGLASDIR | 设定Web Server 路径 | ||
$FGLASIP | 设定要带出Web Server 数据时需叫用的主机信息 | ||
$FGLDEBUGE | 9:开启执行过程中的所有SQL讯息 | ||
0:关闭讯息 | |||
$T100DEBUG | 9:开启执行工具信息 | ||
0:关闭讯息 | |||
$TOPENT | 目前执行的营运企业编号 | ||
T100 报表部分需用环境变量 | |||
变量名称 | 变量功用 | ||
GRIP | Genero Report 报表主机设定位置 | ||
PATH4RP | 报表主机上的GR 样板文件路径﹝设置于AP 主机上﹞ | ||
MNT4RP | AP 主机联机至报表主机上的GR 样板档文件夹(PATH4RP)路径 | ||
XTRAGRIDIP | 查询报表的站台网址 | ||
WINGREDIR | 报表主机安装GRE | 的目录 | |
WINGREPORT | GRE 使用的port | 号 | |
1.4.5 系统工具
T100 系统中提供一些系统工具,让用户在自行开发程序时能有标准的执行依循。一般来说系统工具概分为执行
程序稿(shell script)、及应用程序。以下依照开发程序会用到的顺序,分项介绍:程序画面编写、执行工具
SHELL Script | 功能说明 |
r.c | 将4gl 程序编译为42m |
r.cs | 编译单支程序,42m 产生在当下目录。 |
r.l | 读取程序链接数据并将42m 程序链接至42r |
【说明:r.l2 lib (或sub qry)此时与下列r.gx 不同,】 | |
【 此处是读取链接数据来包装为 42x 】 | |
r.r | 执行42r 程序 |
r.rd | 执行作业后,若SQL错误则会留下LOG档 |
r.d | 呼叫Debugger(图形模式板)执行程序,T自撰写SHELL,DEBUG 作业编号 |
r.dg | 呼叫Debugger(图形模式板)执行程序,FGL原厂自带的,DBUG 程式编号 |
r.f | 将per / 4fd 画面档编译成42f |
r.p | 预览编译后的42f 档案 |
rebuild | 系统整批重新编译工具 |
資料庫工具
SHELL Script | 功能说明 |
r.s | 制作db SCHEMA 文件 |
load | 将文本文件依格式读入db |
unload | 将db 中特定数据以纯文本档案形式写入指定档案 |
Rebuild 简易模式
Rebuild 进阶模式