ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:19.18KB ,
资源ID:12119986      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12119986.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AS400RPG入门.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AS400RPG入门.docx

1、AS400RPG入门一:RPG介绍RPG程序的特点:1程序的编写对于每一个位置都有明确的定义,所以程序的编写必须在指定的位置开始。通过使用ILE工具可以进行一些方便的输入。2 RPG程序的设计针对每一部分都有严格的要求,有相应的规格说明,他们包括a) 配置规格说明(ControlSpecifications):主要规定了程序的命名,日期格式等信息。b) 文件描述说明(FileDescriptionSpecifications):对程序使用到的文件的说明c) 定义说明(DefinitionSpecifications):主要对程序使用的数据进行说明。d) 输入说明(InputSpecificat

2、ions):主要对文件输入数据进行说明。e) 计算说明(CalculationSpecifications):主要对数据计算和计算顺序的说明。f) 输出说明(OutputSpecifications):主要针对数据的输出记录和字段的说明。g) 子程序说明:包括有三种,对子程序的各种进行进行了定义说明。3 指示器(Indicators)通常是一个字节,被设置为0或者1,他主要作为程序操作的结果或者进行操作的条件。好像程序的逻辑开关,决定着程序的流程。指示器必须在定义规范中进行定义。RPGVI也有一些系统的指示器,他们一般是两个字符的变量,如LR等。指示器可以在程序的任何地方使用,也可以在程序中修

3、改他的值。4 操作代码相当与汇编语言的命令一样,有RPG程序提供一套完整的操作代码,比如读一条数据使用READ,RPG程序对操作代码进行了分类,比如字符串操作符,数组操作符等。5 定义描述文件a) 文件服务是程序和IO设备的连接。系统里的每一个文件都有相应的描述文件,对文件的特性和数据的组织形式进行描述。如果在程序中要使用IO操作,必须要指定一个描述文件,对IO的设备进行描述。对于文件的类型,系统支持以下几种:1. 数据库文件(databasefiles):对数据进行持久存储。2. 设备文件(Devicefiles):容许访问的扩展设备,包括显示文件,打印文件,磁盘文件等。3. 一般文件(sa

4、vefiles):保存在硬盘上的文件4. 远程文件(DDMfiles):保存在远程系统上的文件。b) 每一个IO设备都对应有一个描述文件,在程序中如果要使用到IO设备,就要指定相应的文件。这主要根据操作代码来决定,有的操作代码是设备依赖的,必须指定特定的设备才可以使用,而有些操作代码是和设备独立的,如WRITE等。产用的设备类型有:RPGDeviceTypeiSeriesFileTypeDISKdatabase,save,DDMfilesPRINTERprinterfilesWORKSTNdisplay,ICFfilesSEQtape,diskette,save,printer,databas

5、eSPECIALN/Ac) 描述文件的类型:1、 一般程序描述文件(program-describedfile):在输入输出描述的文件中会做相应的处理。2、 扩展描述文件(externallydescribedfile):主要是多个应用程序可以共享数据a) 通过针对描述文件的不同配置,RPG程序实现了程序和数据的分离,这样可以针对不同的保存数据的设备和形式,来对描述文件进行配置,这样就很容易的实现的程序的灵活性。在设备进行升级以后,程序依然可以使用。二、通过ILE建立RPG程序:a) ILE(IntergratedLanguageEnvironment)的介绍ILE是AS400中提供的一套增强

6、编程的工具包,他针对不同的编程语言,都有相应的环境支持,ILERPG,ILEC,ILECOBOL,ILECL等。b) ILE的优势i. ILE本身提供了许多程序模块,供程序员调用ii. 提供编译的环境,可以对代码进行调试iii. 提供优化的调用性能iv. 可以集成多种语言v. 对代码进行优化vi. 而且提供老版本的代码转换到新版本的代码,主要是针对RPG程序和CL程序。c) 使用ILE建立一个应用程序的例子vii. 建立一个库,取名PRTLIBCRTLIBLIB(PRTLIB)TEXT(SAMPLEILEAPPLICATION)viii. 将PRTLIB设置为当前库CHGCURLIBCURLI

7、B(PRTLIB)ix. 建立一个源码文件在PRTLIB中CRTSRCPFFILE(SOURCE)RCDLEN(112)TEXT(SAMPLEILEAppliaction)x. 编辑文件,输入文件内容,分配源文件类型是CLP,描述信息是OPM,WRKMBRPDMFILE(PRTLIB/SOURCE)xi. 按F3键,退出后,建立命令,系统将会产生CRTCLPGM命令。三、SEU工具的使用SEU(Sourceentryutility)源码输入工具。如图:这个界面的输入分为两部分:上面的SEU:在之后,可以输入SEU编辑的命令,包括查找等命令,都是辅助编辑使用,可以在输入代码的时候,随时输入命令。

8、代码输入在Beginningofdata和Endofdata之间输入代码,如果要插入一行,必须在行首位置输入I,系统会自动增加一行,同时提示出代码行号。在此界面按F1,有具体的帮助信息。四:源码示例00.10*PRTPGMR-Printprogram-OPM00.20*00.30*QADSPOBJistheoutfilefromDSPOBJD-OverrideoccursinCL00.40FQADSPOBJIFEDISK00.50FQPRINTOF132OFPRINTER00.60*00.70*Parameterlist00.80C*ENTRYPLISTParmlist00.90CPARMLI

9、B10Library01.00CEXCPTHDGPrtheading01.10*01.20*Readarecord01.30*QLIDOBJDistheformatnameoftheQADSPOBJfile01.40CREADQLIDOBJD20Read01.50*ContinuereadinguntilEOF01.60C*IN20DOWEQ0NotEOF01.70*01.80*UseasubroutinetoconvertthedatefromMMDDYYtoYYMMDD01.90CMOVEODUDATMMDDYY6MMDDYYfmt02.00CEXSRCVTDATConvertdate02

10、.10CMOVEYYMMDDLSTUSD60Lastuseddt02.20CEXCPTDETAILPrintdetail02.30COFEXCPTHDGPrtheading02.40CREADQLIDOBJD20Read02.50CENDDOLoopBack02.60*Endtheprogram02.70CSETONLRSetLR02.80*02.90CCVTDATBEGSR03.00*ConvertdatefromMMDDYYtoYYMMDDformat03.10CMOVEMMDDYYWORK22MoveYY03.20CMOVELWORK2YYMMDD6MoveYY03.30CMOVELMM

11、DDYYWORK44MoveMMDD03.40CMOVEWORK4YYMMDDMoveMMDD03.50CENDSR03.60*03.70OQPRINTE206HDG03.80O25Objects03.90OinLibrary-04.00OLIB04.10OE2HDG04.20O6Object04.30O18Objtype04.40O30Attribute04.50O42Lastused04.60OE1DETAIL04.70OODOBNM1004.80OODOBTP1904.90OODOBAT3305.00OLSTUSDY41对于源码的解释如下:由于还没有很清楚,所以暂不翻译00.40The

12、externally describeddatabasefileisnamed QADSPOBJ.ThisisthenameofthefileprovidedbythesystemthatisusedwhenanoutfileiscreatedbytheDSPOBJDcommand.ThesystemessentiallycopiestheformatofthemodelfiletotheoutfilenamedonDSPOBJD.TheRPGprogramdescribesthefileinQSYSbecauseitwantstousetheformatthatexistsinthefile

13、.AnOVRDBFcommandintheCLprogramcausestheDSPOBJDPfileinQTEMPtobereadinsteadofthefilethatiscompiledintotheprogram.Becausebothfilesusethesameformat,thecompiledRPGprogramknowswhatthelayoutoftheformatis.00.50TheQPRINTfileisdescribedasafixed-formatfile.SincenoOVRPRTFcommandwasspecifiedpriortotheopenoperati

14、onofQPRINT,thesystemprovidesaccesstothefirstQPRINTfilefoundonthelibrarylist.ThisisprobablytheQPRINTfilesuppliedbyIBMintheQGPLlibrary.Thisfilecausesspooledprintedoutputtooccur.00.80ThePLISTandPARMoperationcodesprovidethemeanstopassinthevariablelibrarynamefromtheCLprogram.Thislibrarynameisprintedonthe

15、headingline.01.00TheEXCPTstatementprintstheheadinglineasoutput.01.40TheprogramreadsarecordusingtheQLIDOBJDformat.ThisisthenameoftheformatusedintheQADSPOBJDoutfile.01.60Ifendoffileisdetected,theprogramsetstheLRindicatoronandreturns.01.80Asubroutineisusedtoconvertthedate-last-usedfield(whichexistsinth

16、eoutfileinaMMDDYYformat)toaYYMMDDformat.Therearemanysolutionstotheproblemofreformattingadatefield.Inthisexample,thesubroutinemethodisusedbecauseinalaterchapterwechangefromanRPGsubroutinetoasubprogram.01.90TheprogrammovestheODUDATfield(datelastused)toacommonfield(MMDDYY)andthencallsthesubroutine.This

17、typeofcodingcreatesageneral-purposesubroutinethatcanconvertanyMMDDYYdateformat.Whenthesubroutinereturns,theYYMMDDfieldismovedtothefieldnamedLSTUSD,whichisadecimalfield,sothateditingcanoccur.02.20Adetaillineisprinted.02.30Ifprinteroverflowoccurs,anEXCPToperationisusedtoprinttheheadingonthenextpage.02

18、.40Theprogramloopsbacktoreadanotherrecord.03.10ThesubroutineconvertsthedatetothecorrectformatbyusingMOVEandMOVELoperations.Therearemanyotherwaystoalterthedateformat,butthismethodallowsthesamecodetomovetoasubprogramwitheaseinalaterchapter.03.70Theheadingoutputincludesthelibrarynamethatwaspassedintotheprogram.04.60Thedetaillineprintsseveralfields.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1