05_T100 单档程序开发(员工资料)

单双档程序的 (全新) 开发流程

首先要通过 r.t (adzi140) 建立表

  1. azzi900 建立 程序代号
    程序代号是唯一的。
  2. azzi910 建立 作业代号
    一个程序代号可以被多个作业使用。
  3. 通过设计器 - 规格(签出规格)
    规格相当于画面。
  4. 通过设计器 - 程序(签出程序)
  5. adzp168 通过画面产生器产生画面
  6. 通过设计器 - 规格(下载规格)
  7. r.q 开窗,r.v 校验带值(根据需求设定)
  8. 通过设计器 - 程序(下载程序)
  9. 通过设计器 - 档案(开启规格档案)- 修改程序 - 上传程序
  10. 通过设计器 - 程序(下载程序)- 上传程序
    (先上传程序,没有报错再来修改对应逻辑)
  11. 通过 azzi850 给程序授权
  12. r.r 执行程序
  13. azzi880 将程序挂到 menu
  14. 单身限制最大500笔,可以通过程序修改
  15. s_desc为公共函数,可以下载查看
  16. immauud008:带有ud的为标准表预留字段,可以修改字段名称的“自定义自段(文本)”使用
  17. excel导入导出参考axct302的axct302_s02_ims_excel、SUB/s_aint911下的Function为s_aint911_excel

1、azzi900 建立 程序编号

ctrl + i 或点击【录入信息】,然后输入 [程序编号] 和 [程序名称],尽量采用旗帜录入生成多语言。

2、azzi910 建立 作业编号

同样 ctrl + i 或点击【录入信息】,输入 [作业编号](一般与程序编号相同即可)

3、adzi140 数据表设计器介绍

执行r.r adzi140助记码r.t 都可以打开数据表设计器

1)选中基础资料档向右拖动即可添加相应字段

2)选中流水号往右拖动增加字段

3)添加字段名称和属性,字段搜索可按编号搜索:C*、N*、D*,字段简称搜索:*号工*编号*,长度搜索:20

4)设置主键、执行异动提交到数据库(异动过后表左边的!感叹号将消失)

5)adzi150 字段规格设计:ButtonEdit为开窗,ComboBox为下拉选择

6)azzi600 新建系统分类码

7)、为性别设置系统分类码、设置年龄最少值

8)、r.q 新增部门开窗:部门维护aooi125,对应表:ooeg | ooefl

-- 对应开窗SQL(:LANG当前语言,:ENT当前企业编号)
-- wc是查询和编辑都会组进去的条件,inwc里面的则是只在编辑的时候才组进去
SELECT DISTINCT <field>ooeg001,ooefl004</field>
  FROM <table>ooeg_t LEFT JOIN ooefl_t ON ooegent=ooeflent AND ooeg001=ooefl001 AND ooefl002=:LANG</table>
  WHERE <wc>ooegent=:ENT</wc><inwc></inwc>
  ORDER BY ooeg001

9)、r.v 新增部门校验带值,错误信息维护在:azzi920(信息编号,前3位为模组编号,后5位流水号:coo-12345)

SELECT <count>COUNT(*) </count>
  FROM <table>ooeg_t</table>
  WHERE <wc>ooegent =:ENT AND ooeg001 = 'arg1'</wc>

10)adzi150字段规格设计设置部门开窗及检验带值

11)、状态码设置

12)、设置完表格再签入,新建表格默认会签出状态,只有签出状态才能修改表格

4、T100设计器签出规格程序

5、adzp168画面产生

6、T100设计器下载规格(4fd)和程序(4gl),修改并上传,上传完之后再签入规格和程序(签入状态无法修改),这样下次签出版本号就会自动加1

如果没有数据,【进阶功能】-【更新基础数据】、【重新产生基础数据】
注:只有在【上传】了规格文件以后,才会生成程序,才能够下载。

7、adzp063设计数据删除工具,常用3、4、6

8、azzi880设置menu菜单

9、 azzi850 给程序授权

azzi800 可以查询账号

利用权限的账号给程序授权。
在这里插入图片描述

10、测试区程序转生产区

在这里插入图片描述

1)、测试区r.t 表格设计数据导出

2)、切换到生产区,r.t->工具->表格设计数据导入

3)、T100设计器(测试站台)->常用工具->导出设计数据->查询程序编号->导出

4)、T00设计器->进阶功能->站台管理->常用工具->汇入设计数据

会自动备份覆盖前的版本,最好下载到本地保存备份

5)、测试区adzi888程序注册数据导出:添加要导出的清单->整单操作->导出(清单+数据)

客制后可以通过azzi902(程序画面多语言维护)修改画面对应编号的文本(通常下载规格修改),azzi902优先级高于T100设计器的画面文本

6)、测试区adzi888:整单操作->导出栏下载

7)、切换正式区,adzi888:整单操作->导出栏上传

8)、切换正式区,adzi888:整单操作->程序注册数据导入

 

正式区配置不可修改程序以及开启开发需求单

cd $TOP
cd ../etc
vi chenv 
TOPCHKOUT=Y --(Y为可签出开发,N无权签出,正式区设置之后,只能通过测试区搬到正式区)
TOPALM=N --(Y启用开发需求单adzi800,N不启用)

DBA专用 下较为重要的选项是前3个。

  • 当新增表、修改字段后,设计器下显示的没有更新时,将这3个选项都点一下。
    在这里插入图片描述

工具 下较为重要的选项是前2个。

  • 可以用与测试区正式区之间,表的相互导入导出。
    在这里插入图片描述

签入 / 签出
签出 相当于把表解锁,此时你才能修改表
签入 相当于把表提交上去,此时表会被锁定,无法修改。

r.t 建表

在这里插入图片描述

 

设计器 - 档案 - 开启档案,直接上传程序(修改程序)

将刚下载的程序直接【上传】一下确保设计器默认生成的没有问题,再开始修改。

年龄限制功能开发
在这里插入图片描述

--采用!为偷懒的办法,最终输出的为extend内容
IF cl_null(g_xmdc_d[l_i].xmdc006) THEN
	INITIALIZE g_errparam TO NULL 
	LET g_errparam.extend = "项次",g_xmdc_d[l_i].xmdcseq,"单位为空不可审核,请检查!"
	LET g_errparam.code   = "!"
	LET g_errparam.popup = TRUE 
	CALL cl_err()
END IF

错误代码维护:azzi920
在这里插入图片描述

修改完后再次【上传】

Debugger

r.d 作业编号 或者 T100设计器->程序->程序除错
Toggle打断点,ctrll+d 设置 watch 监控变量后(直接设置变量值:set variable oosg003='test'),点击【Run】开始调试
Find找查:按F3往下查找
To Cursor:直接运行到光标所在位置
Step Into:进入函数体内
Step Out:跳出函数体
Step Over 一步步看

找出问题,修改程序后,重新编译、链接、执行
cd 进入对应目录
编译 r.c cooi666
链接 r.l cooi666
执行 r.r cooi666

程序源码分析

编辑时开窗写在 xxxx_input 中,状态为 i
查询时开窗写在 xxxx_construct 中,状态为 c

xxxx_insert 中有预设值可以写,没有的话基本不用动什么
xxxx_construtc 中除了开窗,其他基本不用改什么


程序按钮对应函数:下面列举几个,其余全部可以通过 DEBUG 去调试找到。

  • 在这里插入图片描述
    xxxx_ui_dialog() 中的 ON ACTION insert
    在这里插入图片描述

  • 在这里插入图片描述
    xxxx_ui_dialog()中的 ON ACTION query
    在这里插入图片描述

  • 在这里插入图片描述
    xxxx_ui_dialog() 中的 ON ACTION mainhidden
    在这里插入图片描述

  • 在这里插入图片描述
    xxxx_ui_dialog() 中的 ON ACTION worksheethidden
    在这里插入图片描述

单双档程序的(复制标准)开发流程

在这里插入图片描述

报表程序开发流程

在这里插入图片描述

 
posted @ 2022-05-21 22:34  滔天蟹  阅读(901)  评论(0编辑  收藏  举报