progress+培训

上传人:第*** 文档编号:31318362 上传时间:2018-02-06 格式:DOC 页数:15 大小:268KB
返回 下载 相关 举报
progress+培训_第1页
第1页 / 共15页
progress+培训_第2页
第2页 / 共15页
progress+培训_第3页
第3页 / 共15页
progress+培训_第4页
第4页 / 共15页
progress+培训_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《progress+培训》由会员分享,可在线阅读,更多相关《progress+培训(15页珍藏版)》请在金锄头文库上搜索。

1、PROGRESS 培训文档PROGRESS 程序开发培训文档PROGRESS 培训文档目录1 PROGRESS 概述及学习 31.1 学习 PROGRESS 的必要 31.2 学习要点 32 PROGRESS 数据字典的使用 43 PROGRESS 常用命令 73.1 数据类型(参考 APPENDIX B) 73.2 定义命令 73.3 输出显示命令 73.4 数据记录操作命令 83.5 其他命令 83.6 判断、循环 84 PROGESS 常用函数(参考 APPENDIX A) 94.1 转换函数 94.2 截取函数 104.3 运算函数 104.4 记录状态函数 104.5 逻辑函数 11

2、4.6 mfg/pro 的函数 115 开发惯例 116 PROGRESS 程序模式 117 PROGRESS 其他常用模式 138 例子 13PROGRESS 培训文档1 PROGRESS 概述及学习PROGRESS 是大型数据库系统, 4GL 语言,目前的版本是 V9.0,有很高的安全性,满足企业 ERP 系统数据安全管理,系统特点是易于管理,语法简洁,方便程序开发,在国内应用较少,因为它被 MFG/PRO 和 SYMIX 等 ERP 系统用作其主流数据库和程序支持,在国内有一定的市场范围,PROGRESS 的程序员不多。1.1 学习 PROGRESS 的必要 QAD 公司的 MFG/PR

3、O 产品使用 PROGRESS,了解 PROGRESS,便于实施和客户化开发,更好的使用系统。 从安全的角度讲,需要对 PROGRESS 数据库的数据导入、导出及数据备份有详细了解。 利用 PROGRESS 易于开发的特点,针对 PROGRESS 用户,使用 PROGRESS开发系统模块,对 MFG/PRO 是很好的补充和扩展。1.2 学习要点 了解 PROGRESS 数据字典的使用 熟悉常用函数及命令 熟悉维护、处理、查询报表的格式 了解 MFG/PRO 的基本表关系 熟悉一些文件输入、输出等其他操作 读例子学习PROGRESS 培训文档2 PROGRESS 数据字典的使用数据字典建立表建立

4、字段PROGRESS 培训文档建立索引DUMP/LOAD 功能PROGRESS 培训文档PROGRESS 培训文档3 PROGRESS 常用命令3.1 数据类型( 参考 APPENDIX B) char decimal(deci) format “9.99” integer(int) format “9” logical(log) date format “9999/99/99”3.2 定义命令 define var part1 as char format “x(8)” init 1.-变量定义 define (new) shared var part1 as char format “x(

5、8)” init 1.-变量定义 define var part1 like pt_part.-类似变量定义 define var qty as decimal extent 10.-数组定义,初始化 qty = 0 Define buffer part_m for pt_mstr.-BUFFER 定义3.3 输出显示命令 disp part label 零件号 descry label 描述. put part at 1. Skip(n) Message “加入新记录” Message 系统控制文件必须维护 VIEW-AS ALERT-BOX INFORMATION(warn/error)

6、BUTTONS OK title 提示.PROGRESS 培训文档3.4 数据记录操作命令 Create Delete set Update Prompt-for Assign release Find break by part by type desc where3.5 其他命令 Undo,retry. Validate(part begins 1,”零件号应以 1 开头”) begins : if var1 begins a then . 以什么打头 leave next 100 modulo 3 = 1:取余数 + - * / = = : 加、减、乘、除、等于、不等于。 。 。3.6

7、判断、循环 if-then-else 判断if var1 var2 then var1 = 100 .else var2 = 100.If var1 = var2 then do:If var1 20 then do:F1 = 10.F2 = 20.End.End.Else do:end. DO 循环PROGRESS 培训文档Do I = 1 to 10:A = b + c.B = a / c.End. Repeat 循环Repeat:A = a + 10.If a = 100 then leave.End. For each 循环For each pr01m where pr01m_036

8、= a1 and pr01m_036 ,工程代码不许为空) with frame a editing :if frame-field = machine_wkctr then do:mfnp.i machine_mstr machine_wkctr machine_wkctr machine_code machine_code machine_code end.Find first machine where .End.PROGRESS 培训文档7 PROGRESS 其他常用模式8 例子/*/*xxmachmt01.p 机器号维护 */*CREATED BY GRAND 2000/05/15

9、*/*/def var del-yn as logical.mfdtitle.i &scoped-define pp_frame_name a. formRECT-FRAME AT ROW 1.1 COLUMN 1.25RECT-FRAME-LABEL AT ROW 1.1 COLUMN 3 NO-LABEL VIEW-AS TEXT SIZE-PIXELS 1 BY 1skip(0.3) machine_wkctr colon 10machine_code colon 10skip(1)machine_name colon 10machine_engi colon 10machine_num

10、 colon 10skip(2)with frame a side-labels no-box three-d width 80.DEFINE VARIABLE F-a-title AS CHARACTER.RECT-FRAME-LABEL:SCREEN-VALUE in frame a = F-a-title.RECT-FRAME-LABEL:HIDDEN in frame a = yes.RECT-FRAME:HEIGHT-PIXELS in frame a =FRAME a:HEIGHT-PIXELS - RECT-FRAME:Y in frame a - 2.RECT-FRAME:WI

11、DTH-CHARS IN FRAME a = FRAME a:WIDTH-CHARS - .5. /*GUI*/view frame a.mainloop:repeat:prompt-for machine_wkctr validate(can-find(wc_mstr where wc_wkctr = input machine_wkctr), 工作中心不存在)machine_code validate(input machine_code ,工程代码不许为空) with frame a editing :PROGRESS 培训文档/* FIND Next / Prev Record */i

12、f frame-field = machine_wkctr then do:mfnp.i machine_mstr machine_wkctr machine_wkctr machine_code machine_code machine_code if recno ? then do:disp machine_wkctr machine_code machine_name machine_engi machine_num with frame a.end.end.if frame-field = machine_code then do:mfnp.i machine_mstr machine

13、_code machine_code machine_wkctr machine_wkctr machine_code if recno ? then do:disp machine_wkctr machine_code machine_name machine_engi machine_num with frame a.end.end.end. /* end of prompt-for machine_wkctr machine_code */* ADD / DELET / MODIFY */find first machine_mstr where machine_wkctr = inpu

14、t machine_wkctr and machine_code = input machine_code no-error .if avail machine_mstr then do:mfmsg.i 10 1 /* Modify exsiting record */end.else do:mfmsg.i 1 1 /* Added new record */create machine_mstr.machine_wkctr = input machine_wkctr.machine_code = input machine_code.machine_num = 1.end.disp mach

15、ine_wkctr machine_code machine_name machine_engi machine_num with frame a.prompt-for machine_name machine_engi validate(can-find(work_mstr where work_code = input machine_engi),工程代码不存在)machine_num validate(input machine_num 0 ,持台数至少为1)go-on (CTRL-D) with frame a.PROGRESS 培训文档if lastkey = keycode(CTRL-D) then do:del-yn = no.mfmsg01.i 11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号