Progress+培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PROGRESS培训文档PROGRESS程序开发培训文档PROGRESS培训文档目录1PROGRESS概述及学习31.1学习PROGRESS的必要31.2学习要点32PROGRESS数据字典的使用43PROGRESS常用命令73.1数据类型(参考APPENDIXB)73.2定义命令73.3输出显示命令73.4数据记录操作命令83.5其他命令83.6判断、循环84PROGESS常用函数(参考APPENDIXA)94.1转换函数94.2截取函数104.3运算函数104.4记录状态函数104.5逻辑函数114.6mfg/pro的函数115开发惯例116PROGRESS程序模式117PROGRESS其他常用模式138例子13PROGRESS培训文档1PROGRESS概述及学习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的基本表关系熟悉一些文件输入、输出等其他操作读例子学习PROGRESS培训文档2PROGRESS数据字典的使用数据字典建立表建立字段PROGRESS培训文档建立索引DUMP/LOAD功能PROGRESS培训文档PROGRESS培训文档3PROGRESS常用命令3.1数据类型(参考APPENDIXB)chardecimal(deci)format“9.99”integer(int)format“9”logical(log)dateformat“9999/99/99”3.2定义命令definevarpart1ascharformat“x(8)”init‘1’.-----------------变量定义define(new)sharedvarpart1ascharformat“x(8)”init‘1’.-----------------变量定义definevarpart1likept_part.----------------类似变量定义definevarqtyasdecimalextent10.--------数组定义,初始化qty=0Definebufferpart_mforpt_mstr.------------BUFFER定义3.3输出显示命令disppartlabel‘零件号’descrylabel‘描述’.putpartat1.Skip(n)Message“加入新记录”Message系统控制文件必须维护VIEW-ASALERT-BOXINFORMATION(warn/error)BUTTONSOKtitle提示.PROGRESS培训文档3.4数据记录操作命令CreateDeletesetUpdatePrompt-forAssignreleaseFindbreakbypartbytypedescwhere3.5其他命令Undo,retry.Validate(partbegins’1’,”零件号应以1开头”)begins:ifvar1begins‘a’then….以什么打头leavenext100modulo3=1:取余数+-*/===:加、减、乘、除、等于、不等于。。。3.6判断、循环if-then-else判断ifvar1var2thenvar1=100.elsevar2=100.Ifvar1=var2thendo:Ifvar120thendo:F1=10.F2=20.End.End.Elsedo:……end.DO循环PROGRESS培训文档DoI=1to10:A=b+c.B=a/c.End.Repeat循环Repeat:A=a+10.Ifa=100thenleave.End.Foreach循环Foreachpr01mwherepr01m_036=‘a1’andpr01m_036=‘a3’:Ifpr01m_002begins‘1’thennext.Findfirstdpt_mwherepr01m_016=dpt_nono-lockno-error.Ifavaildpt_mthenv_name=dpt_name.Elsev_name=“”.Disppr01m_002pr01m_003.End.4PROGESS常用函数(参考APPENDIXA)函数功能的查找可以找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”)PROGRESS培训文档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合计函数FOREACHld_detBREAKBYld_part:ACCUMld_qty_oh(TOTALBYld_part).DISPld_partld_qty_ohACCUMTOTALBYld_partld_qty_oh.END.maximum最大值函数DISPMINIIMUM(aaa,bbb,kkkk,dd).minimum最小值函数DISPMINIIMUM(aaa,bbb,kkkk,dd).count记录函数Returnsanintegerthatisthetotalnumberofselectedrecordsinthefileorfilesyouareusingacrossbreakgroups.FOREACHld_detBREAKBYld_part:ACCUMULATEld_part(COUNTBYld_part).DISPld_partACCUMULATECOUNTBYld_partld_part.END.Round取整函数Round(int,2)Random随机函数Randam(int1,int2)4.4记录状态函数first-of第一条记录first-of(字段名)last-of最后一条记录last-of(字段名)available可以得到记录availablept_mstrPROGRESS培训文档can-find可以找到记录locked记录锁recid文件记录4.5逻辑函数and与not非or或者4.6mfg/pro的函数{mfdtitle.i}:菜单变量定义{mfselprt.iprinter132}:打印选择定义{mfrtrail.i}{mfnp.imachine_mstrmachine_wkctrmachine_wkctrmachine_codemachine_codemachine_code}5开发惯例文件类型(.p,.i,.r,.w)文件名(xx)程序标识(作者、日期、修改目的)编译程序的两种方法文件命名规则(mt,rp,iq,ctl)6PROGRESS程序模式变量定义Defvar菜单变量定义{mfdtitle.i}FORM定义&scoped-definepp_frame_namea.formPROGRESS培训文档RECT-FRAMEATROW1.1COLUMN1.25RECT-FRAME-LABELATROW1.1COLUMN3NO-LABELVIEW-ASTEXTSIZE-PIXELS1BY1skip(0.3)machine_wkctrcolon10machine_codecolon10skip(0.4)withframeaside-labelsno-boxthree-dwidth80./*程序主体*/Mainloop:Repeat:Viewframea.prompt-formachine_wkctrvalidate(can-find(wc_mstrwherewc_wkctr=inputmachine_wkctr),工作中心不存在)machine_codevalidate(inputmachine_code,工程代码不许为空)withframeaediting:ifframe-field=machine_wkctrthendo:{mfnp.imachine_mstrmachine_wkctrmachine_wkctrmachine_codemachine_codemachine_code}end.Findfirstmachinewhere…..End.PROGRESS培训文档7PROGRESS其他常用模式8例子/***************************************//*xxmachmt01.p机器号维护*//*CREATEDBYGRAND2000/05/15*//***************************************/defvardel-ynaslogical.{mfdtitle.i}&scoped-definepp_frame_namea.formRECT-FRAMEATROW1.1COLUMN1.25RECT-FRAME-LABELATROW1.1COLUMN3NO-LABELVIEW-ASTEXTSIZE-PIXELS1BY1skip(0.3)machine_wkctrcolon10machine_codecolon10skip(1)machine_namecolon10machine_engicolon10machine_numcolon10skip(2)withframeaside-labelsno-boxthree-dwidth80.DEFINEVARIABLEF-a-titleASCHARACTER.RECT-FRAME-LABEL:SCREEN-VALUEinframea=F-a-title.RECT-FRAME-LABEL:HIDDENinframea=yes.RECT-FRAME:HEIGHT-PIXELSinframea=FRAMEa:HEIGHT-PIXELS-RECT-FRAME:Yinframea-2.RECT-FRAME:WIDTH-CHARSINFRAMEa=FRAMEa:WIDTH-CHARS-.5./*GUI*/viewframea.mainloop:repeat:prompt-formachine_wkctrvalidate(can-find(wc_mstrwherewc_wkctr=inputmachine_wkctr),工作中心不存在)machine_codevalidate(inputmachine_code,工程代码不许为空)withframeaediting:PROGRESS培训文档/*FINDNext/PrevRecord*/ifframe-field=machine_wkctrthendo:{mfnp.i

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功