已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PROGRESS培训文档PROGRESS程序开发培训文档 目录1PROGRESS概述及学习31.1学习PROGRESS的必要31.2学习要点32PROGRESS数据字典的使用43PROGRESS常用命令73.1数据类型(参考APPENDIX B)73.2定义命令73.3输出显示命令73.4数据记录操作命令83.5其他命令83.6判断、循环84PROGESS常用函数(参考APPENDIX A)94.1转换函数94.2截取函数104.3运算函数104.4记录状态函数104.5逻辑函数114.6mfg/pro的函数115开发惯例116PROGRESS程序模式117PROGRESS其他常用模式138例子131 PROGRESS概述及学习PROGRESS是大型数据库系统,4GL语言,目前的版本是V9.0,有很高的安全性,满足企业ERP系统数据安全管理,系统特点是易于管理,语法简洁,方便程序开发,在国内应用较少,因为它被MFG/PRO和SYMIX 等ERP系统用作其主流数据库和程序支持,在国内有一定的市场范围,PROGRESS的程序员不多。1.1 学习PROGRESS的必要 QAD公司的MFG/PRO产品使用PROGRESS,了解PROGRESS,便于实施和客户化开发,更好的使用系统。 从安全的角度讲,需要对PROGRESS数据库的数据导入、导出及数据备份有详细了解。 利用PROGRESS易于开发的特点,针对PROGRESS用户,使用PROGRESS开发系统模块,对MFG/PRO是很好的补充和扩展。1.2 学习要点 了解PROGRESS数据字典的使用 熟悉常用函数及命令 熟悉维护、处理、查询报表的格式 了解MFG/PRO的基本表关系 熟悉一些文件输入、输出等其他操作 读例子学习2 PROGRESS数据字典的使用数据字典建立表建立字段建立索引DUMP/LOAD功能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(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) BUTTONS OK title 提示.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 判断、循环 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循环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 = a1 and pr01m_036 = a3:If pr01m_002 begins 1 then next.Find first dpt_m where pr01m_016 = dpt_no no-lock no-error.If avail dpt_m then v_name = dpt_name.Else v_name = “”.Disp pr01m_002 pr01m_003 . End.4 PROGESS常用函数(参考APPENDIX A)函数功能的查找可以找PROGRESS书或在/DLC/PROHELP/LGRFENG.HLP4.1 转换函数 string(100.02):将数字/日期转换成字符 date(month,day,year):转换成日期 date(02/02/10):转换成日期 year 取日期年 month 取日期月 day 取日期日 today 今天日期 asc 转换成asc函数asc(“a”) length 长度函数length(“sdfaa”)4.2 截取函数 substr(string,3,4) trim(string):去掉空格 index1 = lookup(string1,string2)4.3 运算函数 truncate(100.26,1) = 100.20:某位以后的数字清零 integer(100.23) = 100:四舍五入取整 accum 合计函数FOR EACH ld_det BREAK BY ld_part: ACCUM ld_qty_oh(TOTAL BY ld_part). DISP ld_part ld_qty_oh ACCUM TOTAL BY ld_part ld_qty_oh .END. maximum 最大值函数DISP MINIIMUM(aaa,bbb,kkkk,dd). minimum 最小值函数DISP MINIIMUM(aaa,bbb,kkkk,dd). count 记录函数Returns an integer that is the total number of selected records in the file or files you are using across break groups.FOR EACH ld_det BREAK BY ld_part: ACCUMULATE ld_part(COUNT BY ld_part). DISP ld_part ACCUMULATE COUNT BY ld_part ld_part .END. Round 取整函数Round(int,2) Random 随机函数Randam(int1,int2)4.4 记录状态函数 first-of 第一条记录first-of(字段名) last-of 最后一条记录last-of(字段名) available 可以得到记录available pt_mstr can-find 可以找到记录 locked 记录锁 recid 文件记录4.5 逻辑函数 and 与 not 非 or 或者4.6 mfg/pro的函数mfdtitle.i :菜单变量定义mfselprt.i printer 132:打印选择定义mfrtrail.i mfnp.i machine_mstr machine_wkctr machine_wkctr machine_code machine_code machine_code 5 开发惯例 文件类型(.p,.i,.r,.w) 文件名(xx) 程序标识(作者、日期、修改目的) 编译程序的两种方法 文件命名规则(mt,rp,iq,ctl)6 PROGRESS程序模式变量定义Def var 菜单变量定义mfdtitle.iFORM定义&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 1 skip(0.3) machine_wkctr colon 10 machine_code colon 10 skip(0.4) with frame a side-labels no-box three-d width 80./*程序主体*/Mainloop:Repeat: View frame mpt-for machine_wkctr validate(can-find(wc_mstr where wc_wkctr = input machine_wkctr), 工作中心不存在)machine_code validate(input machine_code ,工程代码不许为空) 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.7 PROGRESS其他常用模式8 例子/*/*xxmachmt01.p 机器号维护 */*CREATED BY GRAND 2000/05/15 */*/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 1 skip(0.3) machine_wkctr colon 10 machine_code colon 10 skip(1) machine_name colon 10 machine_engi colon 10 machine_num colon 10 skip(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:WIDTH-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 : /* FIND Next / Prev Record */ if 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_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 = input 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. ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋装修押金协议书
- 房屋赠与夫妻协议书
- 房屋购买租赁协议书
- 房屋通气协议书范本
- 手术术前免责协议书
- 手机怎样编辑协议书
- 打井委托施工协议书
- 打印舞蹈老师协议书
- 打磨合同协议书范本
- 托管厨房外包协议书
- 手术室巡回护士的工作流程与配合
- 2025年下半年国元农业保险股份有限公司安徽分公司社会招聘12名笔试考试备考题库及答案解析
- 2025年中国电子烟行业发展研究报告
- 2025年电厂水处理值班员职业技能鉴定题库及答案(中级工)
- 涂装代工外包合同范本
- 板房拆除回收协议书
- 物流中包装的课件
- 物业设备设施培训课件
- 卤味店员工合同范本
- 第19课《大雁归来》课件+2025-2026学年统编版语文七年级上册
- 2025江西省金融资产管理股份有限公司下属子公司社会招聘3人(第二次)笔试历年典型考点题库附带答案详解试卷3套
评论
0/150
提交评论