欢迎来到天天文库
浏览记录
ID:39958714
大小:177.01 KB
页数:19页
时间:2019-07-16
《PROGRESS语言在ERP中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PROGRESS语言在ERP中的应用01-5-22上午11:02:00PROGRESS语言PROGRESS语言是一种非可视化的编程语言,符合4GL规范,具有高级语言的优点,可以进行条件选择(IF、WHERE)、嵌套循环(FOR)、计算(如求和、求平均)等操作,还可以直接进行打印、显示(PUT、DISPLAY),并且不区分大小写。PROGRESS源程序一般由4部分组成:全局变量定义、图形变量定义(一般是用户指定的查询选择条件)、输出数据的格式和主程序(如何利用数据库中的字段生成用户需要的正确数据)。全局变量的定义全局变量用DEFINEVARIABLE关键字定义。格式如下:DE
2、FINEVARIABLEW1LIKE(数据格式INTEGER,CHARACTER……)DEFINEVARIALBEW2ASVARIABLE2使用AS可以直接引用已经定义好的数据格式。比如我们要把某个变量定义成和表中的字段类型一致时,可直接定义如下:DEFINEVARIALBE1AS表中定义的字段这样我们就不用再到后台数据库中去查询该字段的数据格式,提高了编程速度。如果这个变量在调用过程中也要用到,则分别定义如下://在主过程中DEFINESHAREDVARIABLEW1LIKE(数据格式INTEGER,CHARACTER……)//在调用过程中DEFINENEWSHAREDV
3、ARIABLEW1LIKE(数据格式INTEGER,CHARACTER……)变量的主要数据类型如下表所示:数据类型缺省格式示例字符型(Character)X(8)Dongnan日期型(Data)99/99/9903/02/99布尔型(Logical)Yes/NoYes浮点型(Decimal)->>,>>9.9912.00整型(Integer)->,>>>,>>.912图形变量的定义图型变量的定义主要是把已经定义好的变量在界面上显示出来。/*账户余额查询报表中部分源程序*/FORM/*显示一个FORM*//*定义一个相当于容器的框*/RECT-FRAMEATROW1COLUM
4、N1.25RECT-FRAME-LABELATROW1COLUMN3NO-LABELVIEW-ASTEXTSIZE-PIXELS1BY1SKIP(.1)/*GUI*//*把变量entity的选择条件显示出来*/entitycolon25label‘会计单位’entity1colon50label“至”cnamecolon25label‘摘要’acccolon25label‘账户’acc1colon50label“至”subcolon25label‘分账户’sub1colon50label“至”ctrcolon25label‘成本中心’ctr1colon50label“至”b
5、egdtcolon25label‘生效日期’enddtcolon50label“至”subflagcolon25label‘汇总分账户’ccflagcolon25label‘汇总成本中心’rpt_currcolon25label‘货币’withframeaside-labelsattr-spacewidth80NO-BOXTHREE-D/*GUI*/cnamecolon25label‘摘要’第一行在窗口中的显示如下:摘要方框中是供用户输入的选择条件。报表格式的定义报表格式的定义非常简单,只要用at和to标出相对位置即可:FORM/*GUI*/header“期初借方余额”to
6、65“期初贷方余额”to85“期间活动金额”to92“借方活动金额”to109“贷方活动金额”to128“期末借方余额”to148“期末贷方余额”to164skip“AccountDescription”at1“账户摘要”at1“---------------”at1“---------------”to85“--------------”to134“--------------”to164withSTREAM-IO/*GUI*/framephead1page-topwidth186.at和to表示数据在framephead1上的相对位置。不同之处在于,at后边的数据表示从
7、该点开始,而to后边的数据表示到该点结束。特别要注意的是,在PROGRESS中,只能画横线,不能画竖线。数据处理对于数据的处理,本文主要介绍如何读取数据,以及在编程时需要注意的地方。我们以账户余额查询报表为例。当在数据库的表中查找数据时,使用下述语句:FOREACH(表)WHERE(条件)//对表中数据进行处理//对符合条件的每个数据进行处理END只访问表中指定的一个数据:FINDFIRSTORLAST(表)WHERE(条件)。//对表中数据进行处理END。查找条件之间用OR或者AND连接。在PROGRESS中,有
此文档下载收益归作者所有