鼎捷 T100 学习过程中的记录,防止忘记!
如有补充,请评论留言!

安装

T100 系统安装分为浏览器安装和客户端安装。

浏览器安装

在浏览器中输入 T100 服务 IP,点击浏览器底部安装 activeX 控件即可。

如果底部未出现安装则可能已安装或者浏览器禁止,需要联系相关人员检查。

客户端安装

找到对应系统位数(x86,x64)的安装文件安装 T100 相关环境,运行启动文件。

浏览器安装存在闪退问题建议客户端安装

注意事项

  1. 浏览器只能使用 IE 内核。
  2. 浏览器需要取消弹窗拦截,浏览器设置中可关闭。
  3. 添加兼容性视图。
  4. 客户端安装 T100 后打开运行文件需要注意端口。
  5. 如若打不开可以打开运行文件属性界面,在目标路径中添加-aD 即可。
  6. 打不开建议尝试调节 T100 在浏览器的安全设置。

IE 浏览器问题

IE 问题汇总

IE 浏览器,报表闪退打不开

  1. 清除浏览器缓存
  2. 添加兼容性视图
  3. 降低保护等级
  4. 关闭杀毒软件
  5. 添加信任站点
  6. activeX 开启
  7. 重置浏览器设置
  8. 360 主页修复
  9. 等等…..

IE9 一下的浏览器不可以使用,请升级!

使用 Ctrl+Alt+Del 重启电脑

安装问题

注意电脑的系统位数来安装相应的客户端环境

djc 配置

图片监修中

系统架构

  1. $TOP 为文件最上层

  2. com/lib 标准公用函数存放目录

  3. com/sub 标准公用子函数存放目录

  4. com/qry 开窗

  5. 4gl 程序源码

  6. 4fd 画面档

  7. 42f 画面档编译后的文件

  8. [A]XX 标准模块 [C]XX 客制模块

  9. asft300 asf 模块 t 作业类别 i 基本数据 m 主档 t 事务处理 s 参数设定 p 批处理 r 报表

系统架构图

系统配置时,均以$TOP作为最上层目录,在$TOP 挂上各种系统所需的工具、模块等目录,用做有效率的运作及管理。基本框架如图:

工作目录

图片监修中

com/cfg 目录配置

本目录下是置放程序执行时所需参照的设定部分。包含工具栏(Tollbar)设定、屏幕显示样式(Window Style)设定及共享功能定义(Action Default)等数据。

图片监修中

模块下目录配置

模块目录下是实际置放相关数据,包含程序源码(4gl)、画面源码(4fd)、数据表结构(sch)及编译结果(42m、42r、42f)等。

命名原则

模块命名

模块以三个英文字来命名。(包含 ERP 的模块/共享 COM 的模块等)

第一码为标准标识符:
『A』:标准 ERP 模块
第二到三码以系统英文缩写为主,若遇到已使用的代码,则后建者第二码以『X』字符或另以相关缩写取代。

格式:AXX
说明:XX 为 ERP 模块的英文缩写代码

程序命名

  1. 主程序编号

程序一般以四码英文及三码数字(共七码)组成。

程序名称的前三码为模块代码,第四码为程序类别,第五码至第七码为作业代码。

格式:SSSQ999

说明:SSS 为模块代码,均以小写字母表示

Q 为程序类别,其意义如下:

  • i:基本数据维护作业 m:主文件数据维护作业 t:事务处理
  • s:参数设定 p:批处理 q:查询作业 r:报表作业

999 为程序三码数字流水编号

  1. 子程序档名

若主程序需要另外撰写函式,则会增加子程序,名称前七码会与主程序一致,并再加上『_』(底线)、型态及两码流水号。

  • 一般用途子程序 格式:SSSQ999_88

  • Genero Report 子程序 格式:SSSQ999_g88

  • Xtra Grid 子程序 格式:SSSQ999_x88

说明:

  • SSSQ999 为主程序代码

  • 88 为两码数字流水编号,若为报表用子程序,则依照类型,特别增加 g 或 x

  1. 子画面档名

程序开发过程中需要一个以上的画面时,可以额外制作子画面。

格式:SSSQ999_s88

说明:

  • SSSQ999 为主程序代码

  • s88 s 为固定用法,88 为两码数字流水编号

  1. library 档名

共享程序为在 T100 中用于系统处理的函式,例如询问开窗、画面组件处理等。

格式:cl_xxxxxxx

说明:cl_表示该程序为共享程序(Common Library)

xxxxxxx 最少 1 个字符,最多允许 17 个字符【因为各维护作业输入限制】。必须以有代表意义的方式命名,可加上『_』(底线)以资区隔。

  1. 应用组件文件名

特别商业规则,有通用性质的,可以特别拉出作为『应用组件』。应用组件可以依照功能区分,也可以依照首要调用程序进行命名

格式:s_xxxxxxx

或为:s_ SSSQ999_xxxxx

说明:

  1. 报表结构文件名(rdd 文件)

与主程序/子程序相同名称

  1. 报表样板文件名(4rp 档)

一份报表组件可允许应用多份报表样板,故命名与报表组件相同,若有多样版需求时,再加上两码数字流水号识别。子报表样板则为主要样板后方再增加_subrep 及流水号用以识别。

  • 主报表 (单一样板) 格式:SSSQ999_g88

  • 主报表 (多样板) 格式:SSSQ999_g88_77

  • 子报表 格式:SSSQ999_g88_subrep66

  • 范例: 主报表 axmr402_g01.4rp (单一样板)

  • 主报表 axmr403_g01_02.4rp (多样板)

  • 子报表 axmr402_g01_subrep01.4rp

说明:

  • SSSQ999_g88 为报表组件文件名

  • 若有多样版时,后方新增两码数字流水号,以资区别

  • 若有子样板时,后方再新增 _subrep 及两码数字流水号,以资区别

  1. 其他组件文件名

开窗查询组件

格式:q_xxxxxxx

说明:q_表示该程序为查询类(Query)子程序

xxxxxxx 最多 18 个字符,最少 1 个字符。须以有代表意义的方式命名,多半以欲查询的档案(table name)名称命名。

若该文件名已使用,则可于后方加上流水号,辨识前后顺序的不同。

范例:q_ima 为料件数据查询

q_gef 销售系统单据性质查询

注:命名时须注意不可与『动态查询子程序』名称冲突,若名称上有所冲突,则后续登录数据或进行系统管理时,都会有不可预期的困难与错误情形发生。

  1. 共享参数档名(inc 档)

当全局变量需要跨程序(4gl code)应用时,除可以透过程序内的 GLOBALS 区块建议,也可以设定共享参数档。若有大量跨模块需求时,则可以将共享参数置放于系统 $ERP/cfg 目录下,并以设定链接方式建立于$COM/cfg 目录

一般用途共享参数档 格式:SSSQ999_88.inc (存放于 4gl 目录下)

跨模块共享参数文件 格式:top_XXXXXX.inc

说明:

  • SSSQ999 为主程序代码

  • 88 为两码数字流水编号

  • XXXXXX 为功能说明

  1. 附档名

附档名分为:4gl 原始程序部份、画面、报表,及其他资源文件等类别。意义如下:

4gl 原始程序部份

  • 4gl 原始程序

  • inc 多个程序共享的参数档案

  • 42m 原始程序编译后的目标程序

  • 42r 连结后可执行的目标程序

画面档案

  • 4fd Form Designer 使用的画面档

  • per 透过 gsform 工具将 4fd 档案转换成的画面对照档

  • 42f 编译完成的画面文件数据

下载规格&下载程序

菜单栏点击规格 or 程序

设计器重点

  1. 数据表关联

  2. 附属表格-多语言表

  3. 字段设定 azzi090

  4. r.r azzi(模组) 开启指令

  5. r.t 数据表

  6. 数值栏位长度大于 20

  7. 外键值需要一一对应

  8. azzi900(注册程序) - azzi910(关联作业号)

  9. 基础注册数据 2 区汇 1 区

adzi888 :

新建程序时需要搬的内容:

azzi900 对应主键是作业编号:citt001

azzi910 对应主键是作业编号:citt001

azzi902 对应主键是作业编号:citt001

不必须,有才搬:

开窗 对应开窗识别码 q*/cq*

检验码同 v*/cv*

错误信息:azzi920 对应主键为:错误信息编号:cxm-00001

程序及画面(子程序 子画面 元件等均通过设计器) 2 区汇 1 区:

在设计器中,通过常用工具,导出及汇入

表格:

在表格设计器中 r.t(adzi140) 工具中 导出及汇入

  1. 注释规则

#C20201013-gyc marks/adds

.
.

#C20201013-gyc marks/adde

整行 #20201013-gyc marks/add

个别 #20201013-gyc add 内容

远程工具

LINUX 远程工具:xshell,putty,SecureCRT …

上传工具

FlashFXP SFTP 22 FTP 21 Telent 23 …

Linux 常用指令

  1. rz 上传

  2. sz 下载

  3. df -h / df -Th 查看磁盘/分区结构

  4. Linux 关机指令 showdown

  5. su - xxx 用户切换

  6. crontab -l 查看定时任务

  7. cat /etc/redhat-release 系统内核版本

  8. free -m/-g 查看大小

  9. top 查看系统运行情况

  10. ps -ef 显示全部进程 ps -ef | grep oracle 过滤 ps -ef | grep smon oracle 后台监控进程

  11. kill -9 进程号 杀死进程

  12. find 查找文件目录

  13. which 文件搜索指令

  14. grep 在文件中过滤

  15. ls -la/-lsa 查看详细信息

  16. pwd 查看当前目录

  17. mkdir 创建目录 rmdir 删除空目录 mkdir -p acd/1/2/3 递归新建 rm -rf 递归删除

  18. ln -s xx.txt xx.txt 软连接

  19. touch 创建一个空文件

  20. cp -r 递归(目录) -i 交互操作 -f 强制操作

  21. scp -r 目录 远程主机:远程目录

  22. mv 重命名或者移动

  23. rm 删除

  24. cat 显示文件内容 more 分页查看 less 分屏显示

  25. tar (gzip gunzip)

tar cvf xx 文件

tar zvcvf xx.tar.gz –双重压缩

zip unzip

bzip bunzip

  1. du 查看目录占用空间

du -sh 文件

  1. root UID=0

  2. id 查看 UID

  3. chmod -R 770 文件 ,权限修改 chown -R root:root 文件 -R 为递归操作

  4. user add 新增用户

  5. at 一次性任务 crontab 定时任务

  6. 环境变量 /home 目录 .profile/.bash_profle

  7. ./脚本 执行脚本

  8. env 查看环境变量

oracle 数据库

基础介绍

  1. ARCn 归档进程(默认不打开)

  2. DBwin 写进程

  3. 控制文件 CONTROL.ctl 日志文件 redo.log .dbf 数据文件

  4. sqlplus / as sysdba

  5. shutdown immediate 关闭 | start up 开启

  6. show parameter name 查看数据库信息

  7. export ORACLE_SID=topprd 指定数据库区

数据同步

  1. adzp555 跨区数据同步 r.r adzp555 g

系统启动

  1. start nomount | alert database mount | alert database open 启动顺序

表空间

  1. create tablespace DSDATA datafile ‘/u2/oradata/topprd/dsdata1.dbf’ size 100M; 常见表空间

  2. alter tablespace DSDATA add datafile ‘/u2/oradata/topprd/dsdata2.dbf’ size 100M; 新增文件

  3. alter database datafile ‘’/u2/oradata/topprd/dsdata1.dbf’ resize 200M; 直接变更大小

  4. create tablespace DSDATA datafile ‘/u2/oradata/topprd/dsdata1.dbf’ size 100M autoextend on maxsize 100M; 自动拓展。

  5. desc 表名 查看表结构

用户管理

  1. 创建用户 create user ds1 identified by ds1 default tablespace testspace temporary tablespace temp

  2. 修改密码 alter user xxx identified by xxx

  3. 查询所有用户 select username from dba_users;

  4. grop user xx 删除用户

  5. grant (create session) to xx 赋予权限 可以赋予权限组 grant dba to xx

文档处理

  1. tail -100f xx 动态查看文件最后 100 行

其他

  1. conn 账号/密码 连接数据库

  2. select count(*) from tabs

  3. archive log list 是否归档

  4. show parameter recover 查看参数

  5. alert system xxx xxx xxx 设置参数

  6. startup mount ; alert database archivelog; alert database open;

  7. imp system/manager file=bible_db log=dible_db full=y ignore=y

注意

  1. startup nomount 选项:(读初始化参数文件,启动实例)

startup nomount 选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构被启动;但它们不被附加或与数据库的磁盘结构进行通信。当实例处于这个状态时,数据库是不可使用的。
通常启动到这里可以做 create database , create or recreate control file 或者是 mount standby database 等动作,修改 parameter 也是可以的。

startup mount 选项:(打开控制文件)

startup nount 选项执行 STARTUP NOMOUNT 选项的所有工作,但另外附加数据库结构并与这些结构进行交互。这时 Oracle 从它用来查找和附加到主要数据库结构的控制文件中获得信息。当处于这个模式时,可以执行一些管理型任务,比如恢复。
读取 control file
通常启动到这里的目的有
recover dtabase ; backup database ; rename db files ,change archivelog mode 等

startup open

如果 STARTUP 命令行上没有指定任何模式,STARTUP OPEN 选项就是默认的启动模式。STARTUP OPEN 选项执行 STARTUP NOMOUNT 和 STARTUP MOUNT 选项的所有步骤。这个选项把数据库变成对所有用户都时可用的。
open datafile ,online redo log

介绍表模式对象

介绍用户模拟下可以访问的模式对象

  1. select * from all_objects

  2. select object_type,count(*) from user_objects group by object_type;

  3. select object_type,count(*) from all_objects group by object_type;

  4. select distinct owner from all_objects

研究模式中的数据类型

  1. desc 表名 –sqlplus 查看表结构

  2. PL/SQL 中查看表结构

表的创建与管理

创建表

create table tab02 ( id NUMBER(10) not null, name VARCHAR2(10) not null, age NUMBER(3) not null )

重命名表

rename tab02 to tab03;

alter table tab03 modify age NUMBER(10);

alter table tab03 rename column gj to country;

select * from tab select table_name from tabs;

select * from user_tabl

表的复制

create table tab04 as select * from tab03;

select * from tab04;

create table tab05 as select * from tab03 where id<=2;

select * from tab05;

表的截断

truncate table tab05;

delete from tab05;

表的删除

drop table tab05;

删除表定义

drop table table_name cascade constraints;–相关的视图,约束,等相关所有的关系 对象。

drop table table_name purge;–释放资源,不经过回收站。

delete 与 truncate 的区别

  1. delete 是 DML,执行 delete 操作时,每次从表中删除一行,并且同时将该行的的删除操作记录 在 redo 和 undo 表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要 手动提交(commit)操作才能生效,可以通过 rollback 撤消操作。

  2. delete 可根据条件删除表中满足条件的数据,如果不指定 where 子句,那么删除表中所有记 录。

  3. delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不变。

  4. truncate 是 DDL,会隐式提交,所以,不能回滚,不会触发触发器。

  5. truncate 会删除表中所有记录,并且将重新设置高水线和所有的索引,缺省情况下将空间释放 到 minextents 个 extent,除非使用 reuse storage,不会记录日志,所以执行速度很快,但不能 通过 rollback 撤消操作

  6. 对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不 带 where 子句的 delete 语句。

  7. truncatetable 不能用于参与了索引视图的表。

临时表

会话级临时表

–会话结束 自动清空数据

create global temporary table table_name (col1 type1, col2 type2 …
)
on commit preserve rows;

事务级临时表

–事务结束(commit,rollback) ,清除数据。

create global temporary table table_name (col1 type1, col2 type2 … )

on commit delete rows;

索引

  1. 逻辑分类: 单列或多列 唯一索引和非唯一索引

  2. 函数索引 Doman 物理分类: B-TREE(B 树索引) Bitmap(位图索引)

  3. B*Tree 索引适合大量的增删改(OLPT) DML 语句: Create index indexname on tablename(columnname[columnname…])

  4. Bitmap 索引 位图索引主要用于决策支持系统或静态数据,不支持行级锁定 Bitmap 索引适合做决策支持系统(数据仓库 OLAP),做 update 的代价非常高 DML 语句: Create BITMAP index indexname on tablename(columnname[columnname…])

  5. 单列索引:创建在单列上的索引 复合/组合索引 : 建立在多个列上的索引 where a=1 and b=2 如果索引建立在多个列上,只有它的第一个列被 where 子句引用时,优化器才会使用该索 引

函数索引 例

  1. lower:大百写字符转化成小写的函数

  2. upper:小写字符转化成大写的函数容

1
2
3
4
5
6
7
8
9
10
11
12
13
create table tab001(id number,name varchar2(20));

insert into tab001 values(1,'LIUYANG');

insert into tab001 values(2,'liuyang');

commit;

set autotrace on select * from tab001 where upper(name)= 'LIUYANG';

create index idx_tab001_name on tab001(upper(name));

select * from tab001 where upper(name)= 'LIUYANG';

五种约束

… 更多内容请看 PPT

视图

视图的创建语法

1
2
3
4
5
6
7
8
9
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name

[(alias[, alias]...)]

AS subquery

[WITH CHECK OPTION [CONSTRAINT constraint]]

[WITH READ ONLY]
  1. OR REPLACE :若所创建的试图已经存在,ORACLE 自动重建该视图;

  2. FORCE :不管基表是否存在 ORACLE 都会自动创建该视图;

  3. NOFORCE :只有基表都存在 ORACLE 才会创建该视图: alias :为视图产生的列定义的别名;

  4. subquery :一条完整的 SELECT 语句,可以在该语句中定义别名;

  5. WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;

  6. WITH READ ONLY :该视图上不能进行任何 DML 操作。

  7. – O read only on a view : object

  8. – V Check OPTION on a view : object

例子

1
create view yg_v as select hire_date,job_id,salary,department_id from yg;

只看部门里的人员工资,看不到具体哪个人多少工资,避免敏感性数据的出现

删除视图

drop view yg_v; –删除视图不影响基表的数据,但是基于此视图的其他视图也会无效

存储过程

创建存储过程

1
2
3
4
5
6
7
8
9
10
11
CREATE [OR REPLACE] PROCEDURE procedure_name

[(parameter1[model] datatype1, parameter2 [model] datatype2..)]

IS[AS]

BEGIN

PL/SQL;

END [procedure_name];

程序过程

  1. r.c 程序编译 r.f 画面编译 r.d/r.dg debug 模式

  2. 4gl -> .42m 编译后的程序文件

  3. 4fd -> .42f 编译后的画面档

  4. .42r r.l 程序链接 -all

语法

  1. l本地参数 p传递参数 g_全局参数

  2. DEFINE l_imaa001 LIKE imaa_t.imaa001 定义蚕食

  3. type_t num5 类型表

  4. recode 定义数据集合

  5. INITIALIZE cr._ TO NULL 清空变量 再赋值 INITIALIZE cr._ LIKE customer.*

  6. DISPLAY 显示

  7. 上传:rz -y

    编译:r.cs ****.4gl (如 r.cs litty.4gl)

    运行:fglrun **** (如 fglrun litty)

  8. 常用全局变量

g_enterprise 企业编号
g_site 据点

g_today 当前日期

g_dlang 语言别:简体/繁体

g_user 用户

g_dept 用户对应部门
  1. SLEEP 5 睡眠 5 秒

  2. IF THEN ELSE END IF (IF 模板)

  3. INPUT Module 变数 FROM Form 字段 OR INPUT BY NAME Module 变数 输入

  4. 程序模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  INPUT variable-list FROM field-list

BEFORE INPUT 输入之前

BEFORE FIELD field-list 进入栏位之前

AFTER FIELD field-list 离开栏位之后

ON CHANGE field-list 栏位数值变更

ON IDLE idle-seconds 定时退出时间

ON ACTION action-name 出发动作

AFTER INPUT 完成输入

END INPUT
  1. MENU 模板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MENU [title]

ATTRIBUTE ( control-attributes )

BEFORE MENU

ON ACTION action-name

COMMAND option [comment]

[HELP help-number ]

COMMAND KEY ( key-name )

option [comment]

[HELP help-number ]

ON IDLE idle-seconds

END MENU

单双档

s_aooi_200

  1. arti305_imckunit_ref() 查看 imckunit 字段说明

  2. arti305_input(“a”) input 函数

  3. azzi920 错误信息

  4. 系统分类码需要程序里加

  5. comment 鼠标提示

  6. 删除设计 adzp063

Q 类和 P 类作业

  1. cl_err_collect_init cl_err_collect_show 错误收集

  2. cl_ask_confirm() 执行完询问

报表

  1. GR 元件生成报表样板只能点一次

  2. azzi090

  3. 子程序:程序和画面

  4. (报表)元件:程序加样板

  5. azzi988