IBM_AS400_RPG学习手册
AS400培训-RPG
AS/400培训资料于勇IPACS北京在RPGLE中的文件定义_________________________________________________ 3 在RPGLE中有关文件操作的操作码_______________________________________ 5 只输出子文件定义_______________________________________________________ 8 实现输出类型子文件_____________________________________________________ 9 输出类型子文件有定位处理______________________________________________ 12 实现有定位处理输出类型子文件__________________________________________ 13 处理类型子文件有定位处理______________________________________________ 17 实现处理类型子文件有定位处理__________________________________________ 20 处理类型子文件有定位处理和光标处理____________________________________ 26 实现有定位处理、光标处理子文件________________________________________ 29 处理类型子文件有定位、光标、信息子文件处理____________________________ 35 实现有定位、光标、信息子文件的处理类型子文件__________________________ 38 处理类型单页子文件定义________________________________________________ 45 实现处理类型单页子文件________________________________________________ 49 打印文件定义__________________________________________________________ 59 实现打印文件__________________________________________________________ 61在RPGLE中的文件定义**************************************************************** * Copyright 北京宇博电子科技有限公司 1998 * **************************************************************** * * * Program Id - FileDfn * * Program Type - RPGLE * * Purpose - 用于讲解在RPGLE中的文件定义 * * 不可编译 * * Date Generated - 1998-07-22 * * Author - 于勇 * * * *****************************************************************ilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++ *..1....+....2....+....3....+....4....+....5....+....6....+. (7)* -------------------------------------------------------------- * 顺序和直接存取只用于输入操作 ( Read , Chain )* -------------------------------------------------------------- FCustomer IF E K DISK* -------------------------------------------------------------- * 仅使用Write来增加记录* -------------------------------------------------------------- FCustomer O E K DISK* -------------------------------------------------------------- * 顺序和直接存取用于输入( Read , Chain ) , Update , Delete* 不包含Write操作* -------------------------------------------------------------- FCustomer UF E K DISK* -------------------------------------------------------------- * 顺序和直接存取用于输入( Read , Chain ) , Update , Delete* 包含Write操作* -------------------------------------------------------------- FCustomer UF A E K DISK* -------------------------------------------------------------- * 显示文件定义说明* -------------------------------------------------------------- FCustomerD CF E Workstn* -------------------------------------------------------------- * 打印文件定义说明* -------------------------------------------------------------- FCustomerP O E Printer在RPGLE中有关文件操作的操作码***************************************************************** Copyright 北京宇博电子科技有限公司 1998 ****************************************************************** ** Program Id - FileOpr ** Program Type - RPGLE ** Purpose - 用于讲解在RPGLE中的文件操作码 ** 不可编译 ** Date Generated - 1998-07-22 ** Author - 于勇 ** ******************************************************************物理文件定义FCustomer UF A E K Disk*显示文件定义FCustomerd CF E Workstn*参照外部文件的数据结构定义D Customer_DsE Ds Extname( Customer )D Dspf_DsE Ds Extname( Customer )D Prefix(XS:2)*关键字列表定义C Csklist KlistC Kfld Csid*读下一条记录*IN90 = *OFF表示读到记录C Read Customerr 99*读上一条记录*IN90 = *OFF表示读到记录C ReadP Customerr 99*最小值定位C *Loval SetLl Customerr*最大值定位C *Hival SetGT Customerr*定位指示符含义C Csklist Setll Customerr 979899* *In97 No Record Found* *In98 Error Occurred* *in99 Exact Match for Search Argument Found*读下一条等于关键字的记录C Csklist Reade Customerr 99*读上一条等于关键字的记录C Readpe Customerr 99*用指定关键字读一条记录并且不锁定读到记录*IN88 = *OFF读到C Csklist Chain(N) Customerr 97*修改记录C Update Customerr*删除记录C Delete Customerr*增加记录C Write CUSTOMERR*记录解锁C UNLOCK CUSTOMERR*条件语句C If Not *In97*赋值语句C EVAL FLD2=FLD1C MOVE FLD1 FLD2C ELSEC MOVE FLD2 FLD1C EndIf*条件选择语句C SELECTC WHEN FLD1=FLD2C OTHERC ENDSL*循环语句C Dow Not *In97C EndDoC Dow Not *In03*显示屏幕并从屏幕中读取内容C ExFmt Dsp01C EndDo*程序结束C Move *ON *InLr只输出子文件定义A*%%TS SD 19980811 141319 YUYONG REL-V3R7M0 5716-PW1 A*%%EC A DSPSIZ(24 80 *DS3) A R SFL01 SFL A*%%TS SD 19980807 103111 YUYONG REL-V3R7M0 5716-PW1 A CSID R O 9 10REFFLD(CUSTOMERR/CSID *LIBL/CUSTOM- A ER) A CSNAME R O 9 23REFFLD(CUSTOMERR/CSNAME *LIBL/CUST- A OMER) A R CTL01 SFLCTL(SFL01) A*%%TS SD 19980811 141319 YUYONG REL-V3R7M0 5716-PW1 A SFLSIZ(0100) A SFLPAG(0010) A CA03(03) A OVERLAY A 30 SFLDSP A 31 SFLDSPCTL A 33 SFLCLR A 34 SFLEND(*MORE) A 1 3'CS0101D' A 1 31'查询用子文件' A DSPATR(HI) A 1 72DATE A EDTCDE(Y) A 2 72TIME A 8 9'客户号' A DSPATR(HI) A 8 31'客户名称' A DSPATR(HI) A R FUN01 A*%%TS SD 19980811 141319 YUYONG REL-V3R7M0 5716-PW1 A 22 3'F3 =退出' A COLOR(BLU)实现输出类型子文件**************************************************************** * Copyright 北京宇博电子科技有限公司 1998 * **************************************************************** * * * Program ID - CS0101R * * Program Type - RPGLE * * Purpose - 建立一个输出类型的子文件 * * Date Generated - 1998-08-06 * * Author - 于勇 * * * **************************************************************** *数据文件定义FCustomer IF E K Disk *显示文件定义FCs0101D CF E WorkStn Sfile( Sfl01 : RecNbr )*子文件用相对记录号定义D RecNbr S 4 0 Inz( *Zero ) *子文件最大记录数D RecLmt S 4 0 Inz( 9999 )*============================* * 主程序 * *============================* *子文件清除C ExSr SflClrSr *子文件记录装入C ExSr SflLodSrC Dow Not *In03 F3*子文件显示C Exsr SflDspSr C EndDo C Move *On *InLr*----------------------------* * 子文件初始化 * *----------------------------*C SflClrSr BegSrC Eval *In30 = *Off SflDspC Eval *In31 = *Off SflCtlDspC Eval *In33 = *On SflClr*写字文件控制记录C Write Ctl01 C Eval *In33 = *Off C Eval *In34 = *Off SflEnd*恢复子文件初值C Reset RecNbr C EndSr*----------------------------* * 子文件数据装入 * *----------------------------* C SflLodSr BegSrC *Loval SetLL CustomerR C Read CustomerR 99 C Dow Not *In99 And C RecNbr <= RecLmt *生成子文件相对记录号C Eval RecNbr = RecNbr + 1 *写子文件记录C Write Sfl01 C Read CustomerR 99 C EndDo *子文件不为空C If RecNbr > *Zero C Move *On *In30 SflDspC Endif *读文件结束C If *In99 C Move *On *In34 SflEndC Endif C EndSr*----------------------------* * 子文件显示 * *----------------------------* C SfldspSr BegSrC Eval *In31 = *On SflCtlDspC Write Fun01 C Exfmt Ctl01 C Eval *In31 = *Off SflCtlDspC EndSr输出类型子文件有定位处理A*%%TS SD 19980811 135301 YUYONG REL-V3R7M0 5716-PW1 A*%%EC A DSPSIZ(24 80 *DS3) A R SFL01 SFL A*%%TS SD 19980807 103529 YUYONG REL-V3R7M0 5716-PW1 A CSID R O 9 10REFFLD(CUSTOMERR/CSID *LIBL/CUSTOM- A ER) A CSNAME R O 9 23REFFLD(CUSTOMERR/CSNAME *LIBL/CUST- A OMER) A R CTL01 SFLCTL(SFL01) A*%%TS SD 19980811 135301 YUYONG REL-V3R7M0 5716-PW1 A SFLSIZ(0100) A SFLPAG(0010) A CA03(03) A OVERLAY A 30 SFLDSP A 31 SFLDSPCTL A 33 SFLCLR A 34 SFLEND(*MORE) A RECRRN 4S 0H SFLRCDNBR A 1 3'CS0102D' A 1 31'有定位子文件' A 1 72DATE A EDTCDE(Y) A 2 72TIME A 4 60'客户号定位:' A POSCSID 5A I 4 75 A 8 9'客户号' A 8 32'客户名称' A R FUN01 A*%%TS SD 19980805 161157 YUYONG REL-V3R7M0 5716-PW1 A 22 3'F3 =退出'实现有定位处理输出类型子文件**************************************************************** * Copyright 北京宇博电子科技有限公司 1998 * **************************************************************** * * * Program ID - CS0102R * * Program Type - RPGLE * * Purpose - 建立一个输出类型的子文件 * * 有定位 * * Date Generated - 1998-08-06 * * Author - 于勇 * * * **************************************************************** *数据文件定义FCustomer UF E K Disk *显示文件定义FCs0102D CF E WorkStn Sfile( Sfl01 : RecNbr )D CsKeyAry S 5 Dim( 9999 ) D Ascend *数组下标定义D X S 4 0 Inz( 1 )D CsKeyDs DS D Csid 5D PosDs DS D PosCsid 5 Inz( *Blank )*子文件用相对记录号定义D RecNbr S 4 0 Inz( *Zero ) D LstRecNbr S 4 0 Inz( *Zero )*子文件最大记录数D RecLmt S 4 0 Inz( 9999 )*============================* * 主程序 * *============================**子文件清除*子文件记录装入C ExSr SflLodSrC Dow Not *In03 *子文件定位C Exsr SflPosSr*子文件显示C Exsr SflDspSr C EndDoC Move *On *InLr *----------------------------* * 子文件初始化 * *----------------------------* C SflClrSr BegSrC Eval *In30 = *Off SflDspC Eval *In31 = *Off SflCtlDspC Eval *In33 = *On SflClr*写字文件控制记录C Write Ctl01 C Eval *In33 = *Off SflClr*恢复子文件初值C Reset RecNbrC EndSr *----------------------------- * 子文件数据装入 * *----------------------------- C SflLodSr BegSrC *Loval SetLL CustomerR C Read CustomerR 99 C Dow Not *In99 And C RecNbr <= RecLmt *生成子文件相对记录号C Eval RecNbr = RecNbr + 1 *将关键字赋值给数组C Eval CsKeyAry( RecNbr ) = CsKeyDs *写子文件记录C Write Sfl01C EndDo*子文件不为空C If RecNbr > *Zero C Eval LstRecNbr = RecNbr C Move *On *In30 C Endif*读文件结束C If *In99 C Move *On *In34 C EndifC EndSr *----------------------------* * 子文件定位 * *----------------------------* C SflPosSr BegSrC If PosDs <> *BlankC ReSet X C PosDS LookUP CsKeyAry( X ) 97 99 C If *In97 Or *in99 C Eval RecRrn = X C Else C Eval RecRrn = LstRecNbr C EndIfC Else C Eval RecRrn = 1 C EndIfC EndSr *----------------------------* * 子文件显示 * *----------------------------* C SfldspSr BegSrC Eval *In31 = *On C Write Fun01 C Exfmt Ctl01 C Eval *In31 = *OffC EndSr处理类型子文件有定位处理A*%%TS SD 19980811 141059 YUYONG REL-V3R7M0 5716-PW1 A*%%EC A DSPSIZ(24 80 *DS3) A R SFL01 SFL A*%%TS SD 19980811 135222 YUYONG REL-V3R7M0 5716-PW1 A SCADDRESS 30A H A OPT 1Y 0B 9 5EDTCDE(2) A SCCSID R O 9 10REFFLD(CUSTOMERR/CSID *LIBL/CUSTOM- A ER) A SCCSNAME R O 9 23REFFLD(CUSTOMERR/CSNAME *LIBL/CUST- A OMER) A R CTL01 SFLCTL(SFL01) A*%%TS SD 19980811 141059 YUYONG REL-V3R7M0 5716-PW1 A SFLSIZ(0100) A SFLPAG(0010) A CA03(03) A CA06(06) A OVERLAY A 30 SFLDSP A 31 SFLDSPCTL A 33 SFLCLR A 34 SFLEND(*MORE) A RECRRN 4S 0H SFLRCDNBR(CURSOR) A 1 3'CS0103D' A 1 29'有选项处理定位子文件' A DSPATR(HI) A 1 72DATE A EDTCDE(Y) A 2 72TIME A 4 2'请键入选项,按执行键继续。
AS400_RPG入门
一:RPG介绍RPG程序的特点:1.程序的编写对于每一个位置都有明确的定义,所以程序的编写必须在指定的位置开始。
通过使用ILE工具可以进行一些方便的输入。
2. RPG程序的设计针对每一部分都有严格的要求,有相应的规格说明,他们包括a) 配置规格说明(Control Specifications):主要规定了程序的命名,日期格式等信息。
b) 文件描述说明(File Description Specifications):对程序使用到的文件的说明c) 定义说明(Definition Specifications):主要对程序使用的数据进行说明。
d) 输入说明(Input Specifications):主要对文件输入数据进行说明。
e) 计算说明(Calculation Specifications):主要对数据计算和计算顺序的说明。
f) 输出说明(Output Specifications):主要针对数据的输出记录和字段的说明。
g) 子程序说明:包括有三种,对子程序的各种进行进行了定义说明。
3.指示器(Indicators)通常是一个字节,被设置为‘0’或者‘1’,他主要作为程序操作的结果或者进行操作的条件。
好像程序的逻辑开关,决定着程序的流程。
指示器必须在定义规范中进行定义。
RPG VI也有一些系统的指示器,他们一般是两个字符的变量,如LR等。
指示器可以在程序的任何地方使用,也可以在程序中修改他的值。
4.操作代码相当与汇编语言的命令一样,有RPG程序提供一套完整的操作代码,比如读一条数据使用READ ,RPG程序对操作代码进行了分类,比如字符串操作符,数组操作符等。
5.定义描述文件a) 文件服务是程序和IO设备的连接。
系统里的每一个文件都有相应的描述文件,对文件的特性和数据的组织形式进行描述。
如果在程序中要使用IO操作,必须要指定一个描述文件,对IO的设备进行描述。
对于文件的类型,系统支持以下几种:1. 数据库文件(database files):对数据进行持久存储。
AS400培训培训手册
/QNFS
SUN公司的网络文件系统。
/QNETWARE Novell Netware文件系统。
/QLANSrv LAN Server文件系统。
最新课件
23
Question?
最新课件
24
四、工作管理
作业 WRKACTJOB 子系统 WRKSBS 内存池 WRKSHRPOOL / CHGSHRPOOL 队列 WRKJOBQ 作业描述 DSPJOBD 用户描述 WRKUSRPRF / DSPUSRPRF 系统值 WRKSYSVAL / DSPSYSVAL 进程、任务、作业及线程 作业的启动
作业描述(*JOBD,Job Description)
作业队列(JOBQ)、输出队列(OUTQ)、打印机、排队优先级的最 高限定值、作业的库列表、作业行踪纪录的等级、作业的运行优 先级、使用的内存池以及时间片的长度等。
用户描述(*USRPRF,User Profile)
作业描述、输出对列、打印设备、当前库、最高排队优先级、交 互作业初始化的执行程序和初始菜单等。
5
POWER 处理器发展规划
2001-4 POWER4 / 4+
2004-7 POWER5 / 5+
2007-9 POWER6 / 6+
Future POWER7
180 nm
130 nm
1.5+ GHz 1.5+ GHz
1+ GHCzore 1+ GCHorze
Core
Core
Shared L2
SDhisatrribeudtedL2Switch
其它状态:11-显示SRC代码,21-进入DST模式 …
最新课件
AS400 操作指南
AS/400 系统操作员指南广州通亿计算机科技有限公司2002年第二版目标了解 AS/400 基本结构 ---- ---- 硬件及操作系统组成掌握 AS/400 操作方法 ---- ---- 命令,菜单及在线帮助掌握 AS/400 基本维护方法1,了解 AS/400 故障类型2,掌握 SST 使用方法,检查系统状态3,会查找手册,了解问题性质4,了解手动开机步骤,并会操作目录第一章, AS/400 系统概述第二章, AS/400 基本操作第三章,手动开机介绍第四章, AS/400 故障分析介绍第五章,常有参考手册说明第一章 AS/400 系统概述一,IBM i系列简介未来发展Domino 专用处理器性能Domino 专用处理器工作范围二,基本概念完整的系统,集成了关系型数据库和网络功能等特性。
特点:1,易于使用2,系统无缝的成长和提高3,针对商业环境而做的侧重于输入--输出方面的优化设计系统层次化架构:图1 - AS/400 系统体系结构MI(机器接口)的功能:图2 – MI 功能面向对象的技术:提高系统和其数据的整体完整性用户无须考虑对象所要占用的空间,系统会自动分配提高系统的灵活性,代码再使用,编程的效率和降低出错率单层次的存储概念微处理器的簇形结构SOIO n-chip Copper-wiring 技术热插拔第二章 AS/400 基本操作一,面板操作二,系统启动和停止三,处理及报告系统问题四,常用系统维护方法及命令说明OS/400 命令组成方法缩写惯例:WRK DSP CHGDEV TAP CMN PRT DSK SYS PWR LOG CMD STS CFGMSG MSGQ OUTQ PRB QHST例如:WRKOUTQDSPMSGWRKSYSSTSDSPLOGOS/400 命令中常用的功能键F1 帮助及说明 ( 针对光标所在位置)F4 列出可能选项 ( 或称:参数),针对光标所在位置F5 刷新F10 显示附加选项PGDN 向下翻页PGUP 向上翻业用户及权限:QSYSOPR --------- 系统定义QSRV --------- 系统定义,为系统维护使用QSECOFR --------- 系统定义,为系统中最高权限重点介绍:1, WRKSYSSTS2, STRSST3,全系统备份4,清洗磁带机方法5,常有维护命令命令说明GO *ALL 出所有系统命令的菜单GO cmddsk 到硬盘命令菜单GO cmdhdw 到硬件命令菜单GO cmdpwr 到电源命令菜单GO cmdsys 到系统命令菜单GO SAVE 到备份菜单GO RESTORE 到恢复菜单GO main 到主菜单anzprb 分析一个新问题chgmsgq qsysopr *break 改变系统操作员信息为中断方式dltprb 删除问题日志中超过30天的记录dspjob 显示一个作业DSPJOBLOG 显示作业日志dsplog qhst 显示历史日志dspsysval 显示系统值endsbs 结束子系统inztap 格式化磁带pwrdwnsys *immed 关系统电源savsys 保存系统signoff 退出用户STRSST 启动系统维护工具vfycmn 显示通讯确认屏幕vfyprt 确认打印机是否正常vfytap 确认磁带机或光盘机状态vfycfg 确认配置 ( 如设备,I/O 处理器或通讯线是开还是关断 ) WRKCFGSTS 显示所有 I/O 处理器的状态wrkdevd 处理所有设备描述wrkoutq 处理输出队列wrkprb 显示问题日志wrkhdwprd 显示硬件产品wrkhdwrsc 显示资源名WRKSYSSTS 显示系统状态第三章手动开机介绍1,系统面板上选择手动方式2,如果系统还没有上电,按面板上的电源开关3,开主控台4,一切正常后,主控台会显示如下画面:IPL or Install the SystemSelect one of the following1. Perform an IPL2. Install the operating system3. Use Dedicated Service Tools ( DST )4. Perform automatic installation of the operating systemSelection__5,键入 “ 1 ,按执行键”6,系统会出现如下画面,需要人为介入:A,Display Messages按 F12 键B, Sign On以 QSECOFR 注册C, Select Products to Work with PTFs按 F12 键D, IPL Options输入系统日期和系统时间E, Display Messages按 F12 键7,出现主菜单后,若要恢复常规状态,采取以下步骤:A,在系统面板上,将手动改为常规方式B,键入命令:pwrdwnsys *immed restart(*yes)第四章 AS/400 故障分析介绍一,故障分析包括:1,故障的确定确定是软件还是硬件故障2,故障的隔离找出故障的原因二,正确的故障分析,需注意以下几点:1,准确的描述故障及其表现特征2,确认它是否为一个新问题还是已发生过3,通过以上步骤,确定所须的正确的信息4,收集信息5,确定要解决故障须联络的人三,通常须收集的信息:1,QHST 中相关时间段的打印输出2,错误日志 ( ERROR LOG )STRSST3,系统硬件配置WRKHDWPRD4,相关时间段的 QSYSOPR 的信息DSPMSG QSYSOPR5,问题发生的日期和时间四,系统故障的外部表征:stops --------- 死机1,Hard2, Incorrect optput --------- 不正确的输出3,Job--------- 作业循环loops--------- 作业等待waits4,Jobloop--------- 系统循环5,Systems6, Systems wait -------- 系统等待7,Messages--------- 信息8,OSproblem --------- 操作系统问题9, VLIC problem --------- 微码问题10,Communication problem --------- 通讯问题11,IPLproblems --------- IPL问题--------- 工作站死锁12,Woekstationlocksstops --------- 死机1,Hard* 系统注意( Attention ) 黄灯亮,并有代码显示在面板上* 工作站键盘不能输入* DST 画面出不来,功能选择项 21 不工作--------- 不正确的输出optput2,Incorrect* 系统继续运行,作业正常结束,但后来发现输出不对* 问题通常可再现* 一些不该发生的事发生了* 一些该发生的事没有发生3,Messages --------- 信息* job log ( 作业日志 )* qsysopr 的 MSGQ ( 信息队列 )* qhst ( 历史记录 )4,Hang --------- 挂起* 系统挂起”特征象 “ 死机,但没有代码显示* 作业挂起WRKACTJOB,作业没有消耗任何系统资源5,Loops --------- 循环* 系统循环> 处理器活动率灯显示 100%> 所有工作都停下来* 作业循环> 处理器活动率灯显示 100%> 系统性能下降> 作业没有在预期的时间内结束> 其他作业继续运行,但速度显得非常慢6,Communicationproblem --------- 通讯问题* 线路( LINE ),控制器( CTL )或设备( DEV ) 不正常problem --------- 性能问题7,Performance* 有关性能的系统命令> WRKSYSSTS> WRKDSKSTS> WRKACTJOB8,Workstationlocks --------- 工作站死锁* 15 次以上在同一台设备以同样的用户帐号注册失败第五章常有参考手册说明《 9406 270 Problem Analysis 》《 AS/400 Service Fuction 》。
AS400-RPG入门
AS400-RPG入门一:RPG介绍RPG程序的特点:1.程序的编写对于每一个位置都有明确的定义,所以程序的编写必须在指定的位置开始。
通过使用ILE工具可以进行一些方便的输入。
2. RPG程序的设计针对每一部分都有严格的要求,有相应的规格说明,他们包括a) 配置规格说明(Control Specifications):主要规定了程序的命名,日期格式等信息。
b) 文件描述说明(File Description Specifications):对程序使用到的文件的说明c) 定义说明(Definition Specifications):主要对程序使用的数据进行说明。
d) 输入说明(Input Specifications):主要对文件输入数据进行说明。
e) 计算说明(Calculation Specifications):主要对数据计算和计算顺序的说明。
f) 输出说明(Output Specifications):主要针对数据的输出记录和字段的说明。
g) 子程序说明:包括有三种,对子程序的各种进行进行了定义说明。
3.指示器(Indicators)通常是一个字节,被设置为‘0’或者‘1’,他主要作为程序操作的结果或者进行操作的条件。
好像程序的逻辑开关,决定着程序的流程。
指示器必须在定义规范中进行定义。
RPG VI也有一些系统的指示器,他们一般是两个字符的变量,如LR等。
指示器可以在程序的任何地方使用,也可以在程序中修改他的值。
4.操作代码相当与汇编语言的命令一样,有RPG程序提供一套完整的操作代码,比如读一条数据使用READ ,RPG程序对操作代码进行了分类,比如字符串操作符,数组操作符等。
5.定义描述文件a) 文件服务是程序和IO设备的连接。
系统里的每一个文件都有相应的描述文件,对文件的特性和数据的组织形式进行描述。
如果在程序中要使用IO操作,必须要指定一个描述文件,对IO的设备进行描述。
对于文件的类型,系统支持以下几种:1. 数据库文件(database files):对数据进行持久存储。
RPG AS400程序员培训手册6
5 CL、CMD其实有关这一章,以及屏幕文件的,在网上已经有很多人写过了,想了想,还是说一下吧。
5.1 CL 程序5.1.1 基本认识简单的理解,CL 程序就是和RPG 相对应的,是控制语言(Control Language)。
类型为CLP、CLLE 的源代码编译出来的程序,都属于CL 程序。
可能还是不够直观,这么说吧,我们在交互式命令行上输入的命令,用程序的方式来执行,这个执行的程序,就是CL 程序。
学过UNIX 的会比较好懂,CL 程序有点类似于SHELL,不过SHELL 是可以直接执行的,而且不用编译;CL 程序需要编译,而且要用CALL 的方式来执行。
不过原理是接近的,都是在程序中直接调用命令行的语句。
所以说,CL 程序其实很好写,只要会输入命令,就可以写CL 程序了。
在编辑CL 程序时,也可以用“命令+ F4”的方式来写,不需要老老实实的整行输入。
CL 程序不像RPGLE 程序,在编写时,可以使用自由格式书写;一行的内容如果太长要,在最末尾处用“+”表示换行举个最简单的例子,比如说新建个名为FHS01CL 的CLP 源程序,代码如下:PGMWRKACTJOBENDPGM编译此程序,然后CALL 之,系统就会执行命令WRKACTJOB,查看当前的活动作业,效果与在交互式命令行下输入WRKACTJOB 是一样的。
当我们输入F12,退出WRKACTJOB 时,系统就会继续向下执行,发现是ENDPGM,表示程序结束了,于是判定执行完毕,退出至交互式画面。
5.1.2 CL 程序的常用语法及命令:一、程序的开始与结束:PGM PARM(&A &B) /* 开始CL 程序*/ENDPGM /* 结束CL 程序*/CL 程序,和RPGLE 程序一样,也可以有程序的入口参数,而且程序的入口参数都是可传递的(也就是输入的参数如果在程序中被修改过,那么原调用的程序中的相应参数也会进行变化。
不过CL 的入口参数只能为字符型,或数字型的单个字段,不能象RPGLE 程序中那么多样化(字段、结构、数组、指针)。
IBM AS400教程(完整版)
AS/400教程完整版第一章AS/400系统概况1.1 AS/400发展历史1.1.1 AS/400发展历史Figure 1-1. AS/400的发展历史为了深入了解一个系统,必须熟悉它发展的历史和背景。
多数的计算机系统是从原有的系统基础上发展起来的。
AS/400的发展历史:◇ 1969年6月发布System/3(Batch machine)◇ 1975年1月发布System/32 (用于小型商务办公环境)◇ 1977年4月发布System/34◇ 1978年10月发布System/38(第一代AS/400,商业上失败,技术上成功)◇ 1983年5月发布System/36(商业上非常成功)◇ 1988年6月发布AS/400 B型号(Application System/400,第二代AS/400)◇ 1994年5月发布AS/400先进系列/服务器(Advanced System/400,第三代AS/400)◇ 1995年6月发布AS/400 Power PC 先进系列/服务器◇ 1997年8月发布AS/400e系列◇ 1999年2月发布AS/400 e 服务器170、7XX◇ 1999年7月发布AS/400e Domino 专用服务器(莲花宝箱)◇ 2000年10月发布iSeries 400,包括270、820、830、840及IBM莲花宝箱(DSD)1.2 iSeries 400的特点1.2.1 iSeries 400的特点Figure 1-2. iSeries400iSeries 400通过紧密集成硬件、软件、中间件和操作系统提供能够满足不同业务需求的高性能、可靠和易于使用特性。
从e系列开始,在电子商务大舞台上开始扮演更为重要的角色。
它可以提供扩展业务确保电子商务优势所需的技术和工具。
它的突出特点有:● 卓越的性能,不断获得各种荣誉和认可,全面实现64位处理,先进的体系结构,最领先的SOI芯片技术;● 卓越的可靠性和可用性,系统可提供99.97%的可用性,使iSeries成为商业关键事务处理的首选服务器平台;● 高度集成的系统环境,使用户不需要太多的系统管理员就能保证其应用平稳地运行;● 严密的安全防范系统,荣获美国联邦政府定义的商业计算机最高安全性级别C2级认证,堪称世界上"最安全"的计算机系统。
AS400培训资料(下)
AS400培训资料(下)AS400应用开发培训高级应用与交易实现前言本阶段的培训,在上一级培训的基础上,讲解业务系统的处理以及交易的实现。
目的是使大家掌握如何在AS400上实现具体的交易,完成本次开发任务。
在讲解业务系统的例子程序和会计记帐核心的过程中我们将穿插讲解AS400中一些编程方式和一些简单工具的使用。
由于篇幅和时间的关系在本教材中对一些简单工具不作具体的介绍,请大家作好记录。
同时为了配合本次培训,我们将下发两本教材,一本是操作码手册,另外一本是本公司原来出的IBM AS400 培训教材第二分册,对这两本教材的内容我们可能不作具体的讲解,主要是给大家在学有余力的情况下进行自学,以及今后进行实际编码时的参考手册。
对于一些非常少见的应用,我们不作讲解,请大家参考下发的教材或使用联机的帮助。
使用F6或其他方式建立的成员在Opt选14编译物理文件参与编译其他类型的目标(Object) SLRRPG(可执行程序 *PGM) 物理文件,逻辑文件,打印文件等参与编译,若RPG程序的F表进行了相应的定义其他需要参与编译的目标第一章 RPG程序使用RLU的方法在上一期的培训中我们简要的介绍了RLU的一些用法,现在我们来学习RLU的一些应用,以及如何在RPG程序中使用RLU生成的打印文件在今后的设计过程中,应业务人员的要求,在报表中对于一些域的属性可能要进行修改。
以下是将光标移到域后出现的域属性内容Work with Field KeywordsField . . . . . . . . : ' 客户 ... Record format . . . . : HEADType options, press Enter.2=Specify 4=RemoveOpt Keyword Opt Keyword Opt KeywordALIAS EDTCDE MSGCONBARCODE EDTWRD PAGNBRBLKFOLD FLTFIXDEC PRTQLTYCDEFNT FLTPCN REFFLDCHRID FNTCHRSET SKIPACHRSIZ FONT SKIPBCOLOR HIGHLIGHT SPACEACPI IGCALTTYP > SPACEBCVTDTA IGCANKCNV TEXTDATE IGCCDEFNT TIME> DFT IGCCHRRTT TRNSPYDLTEDT INDTXT UNDERLINEBottomF3=Exit F5=Refresh F9=Input keyword parameters F10=Specify informationF12=Cancel F16=Remove all keywords选择(opt)2 进行该项的内容说明 4 是取消该项说明在这些选项中经常用到的是:DFT 若前面有”>”则说明该项是常量域,否则是变量域。
RPGAS400程序员培训手册
RPGAS400程序员培训手册ON-ERROR (On-Error)没用过OPEN {(E)} (Open File for Processing) 打开文件Factory 1 Operation Factory 2 Result HI LO EQOPEN 文件名OPEN 后面的目标,务必是在当前程序中已声明的文件名(不是文件的记录格式名),而且在OPEN 操作之后,在程序结束之前之前,务必有对应的CLOSE 操作。
使用OPEN 操作,文件在声明时,务必使用USROPN 关键字(详见D 行说明)。
ORxx (Or) 逻辑推断—或者Factory 1 Operation Factory 2 Result HI LO EQFLD01 IFGT FLD03FLD01 OREQ FLD02等价于IF FLD01>FLD03 OR FLD01=FLD02与IF、IFxx,AND、ANDxx 类似,RPGLE 的写法OR,比RPG 的写法ORxx 要灵活,而且能够用来表达一些复杂的逻辑关系。
有鉴于此,因此通常IF 语句中,我会以OR 为主,基本不用ORxx。
假如在编程序方面,公司/项目组无硬性要求,那我觉得还是少用ORxx 吧,总觉得这种写法的逻辑关系看起来不直接,特别是有很复杂的AND,OR 时。
OTHER (Otherwise Select) 分支语句的推断与分支语句SELECT 一起使用,表示不符合上述所有条件时的操作,如下:Factory 1 Operation Factory 2 Result HI LO EQSELECTWHEN 条件推断1处理语句1WHEN 条件推断2处理语句2OTHER处理语句3ENDSL在这个例子中,当满足条件推断1 时,运行处理语句1,运行结束后跳至ENDSL 处;假如不满足条件推断1,则程序继续向下执行,推断是否满足条件推断2。
当满足条件推断2 时,运行处理语句2,跳至ENDSL;当不满足当不满足条件推断2 时,程序继续向下执下,当读到OTHER 操作码时,无条件运行处理语句3(即当程序当前不满足以上因此条件推断时,则执行OTHER 之后的语句。
IBM AS400培训教程和手册
12
磁带组使用者的名字,这一项一般不用进行修改 Check tape for active files . . . . . . . Y Y=Yes, N=No 这一项与格式化一盘磁带的意义相同,一般使用N,也就是NO的意 思,表示不进行检查
13
第五章 磁带什么时候该丢弃
每盘磁带都有一定的使用寿命,AS/400系统提供了一个磁带文卷寿 命统计的监督程序,通过该程序可以确定某盘磁带是否已到使用寿 命需要更换新磁带。 操作步骤: 1、在命令行输入STRSST命令,进入System Service Tools菜单 2、选择1(Start a Service Tool) 3、在Start a Service Tool 3 Start Tool菜单上选择1(Product activity log ) 1 Product 4、在Product activity log 菜单上选择4(Work with tape/diskette lifetime Statistes) 5、在Select Media Option屏幕上在Removable media参数选择相 应的介质类型
20
第八章 提交作业
(1)在主菜单(Main)中选择3(General system tasks) (2)在General system tasks菜单中选择1(Jobs) (3)在Jobs菜单上键入选项7(Submit a job) (4)按执行键(Enter)出现Submit a job命令提示屏幕,或者键 入命令SBMJOB,并按F4键。 (5)在Command to run 5 Command run输入字段内键入在批作业中你要运行的命 令。如果该作业是一个CL程序,则要键入程序名,如CALL PAYROLL。 (6)如果需要可修改其它字段的缺省值,也可以不修改。
IBM AS400教程(完整版)
AS/400教程完整版第一章AS/400系统概况1.1 AS/400发展历史1.1.1 AS/400发展历史Figure 1-1. AS/400的发展历史为了深入了解一个系统,必须熟悉它发展的历史和背景。
多数的计算机系统是从原有的系统基础上发展起来的。
AS/400的发展历史:◇ 1969年6月发布System/3(Batch machine)◇ 1975年1月发布System/32 (用于小型商务办公环境)◇ 1977年4月发布System/34◇ 1978年10月发布System/38(第一代AS/400,商业上失败,技术上成功)◇ 1983年5月发布System/36(商业上非常成功)◇ 1988年6月发布AS/400 B型号(Application System/400,第二代AS/400)◇ 1994年5月发布AS/400先进系列/服务器(Advanced System/400,第三代AS/400)◇ 1995年6月发布AS/400 Power PC 先进系列/服务器◇ 1997年8月发布AS/400e系列◇ 1999年2月发布AS/400 e 服务器170、7XX◇ 1999年7月发布AS/400e Domino 专用服务器(莲花宝箱)◇ 2000年10月发布iSeries 400,包括270、820、830、840及IBM莲花宝箱(DSD)1.2 iSeries 400的特点1.2.1 iSeries 400的特点Figure 1-2. iSeries400iSeries 400通过紧密集成硬件、软件、中间件和操作系统提供能够满足不同业务需求的高性能、可靠和易于使用特性。
从e系列开始,在电子商务大舞台上开始扮演更为重要的角色。
它可以提供扩展业务确保电子商务优势所需的技术和工具。
它的突出特点有:● 卓越的性能,不断获得各种荣誉和认可,全面实现64位处理,先进的体系结构,最领先的SOI芯片技术;● 卓越的可靠性和可用性,系统可提供99.97%的可用性,使iSeries成为商业关键事务处理的首选服务器平台;● 高度集成的系统环境,使用户不需要太多的系统管理员就能保证其应用平稳地运行;● 严密的安全防范系统,荣获美国联邦政府定义的商业计算机最高安全性级别C2级认证,堪称世界上"最安全"的计算机系统。
AS400手册
AS/400 用户手册IBM 信息系统服务部2002年11月目录AS/400基本操作指南一、手动启动AS/400二、AS/400关机三、系统作业的查看四、查看硬盘状态五、系统日志的查看AS/400基本故障诊断一、一般性故障二、系统故障灯亮AS/400数据备份一、备份对象(Object)或库(Library)二、全系统备份AS/400服务介绍附录一、手动启动AS/4001、选择机器启动模式AS/400启动(IPL)主要有两种方式:手动(Manual)或正常(Normal),这两种方式的选择是通过控制面板来实现的。
对于有电子钥匙的机型,这一过程非常容易,在电子钥匙插入钥匙孔后,连续按方式选择键,模式指示灯会轮流点亮,只要让想选择的模式的指示灯亮就完成了手动/正常模式的转换。
对于没有电子钥匙的机型,模式的转换就需要使用控制面板的02功能,其操作步骤如下:A.正常情况下,控制面板会显示“01 B N”,这表示是正常模式B.按向上的数据显示按键一下,面板会显示“02”C.按执行键后,面板显示“02 B N”D.再按上或下的数据显示按键直到显示“02 B M”为止E.按一下执行键,面板显示“02”F.按向下的数据显示按键让面板显示“01”G.按一下执行键,这时面板会显示“01 B M”,这样就完成了从正常模式向手动模式的转换如果想再从手动模式向正常模式转换,只要在第D步时选择“02 B N”就行了。
2、AS/400手动启动过程AS/400的启动被称为初始程序装载,简称为IPL(Initial Program Load)。
正常模式的IPL很简单,在确认模式选择正确后,只需按一下启动键就行了。
而对于手动模式,在按下启动键到系统可用还需要在主控终端上回答一些问题,具体过程如下:第一个系统等待回答的菜单是IPL or Install the System,显示如下:1. Perform an IPL2. Install the operating system3. Use Dedicated Service Tools (DST)4. Perform automatic installation of the operating system5. Save Licensed Internal Code在确定不用做其它操作后,选择1(Perform an IPL)以启动AS/400登录画面出现后,用有安全保安官权限的用户登录,建议用QSECOFR用户。
IBM_AS400_RPG学习手册
IBM_AS400_RPG学习手册1 简单说明 (3)2 程序代码行的编写 (3)2.1 最简单的RPGLE程序 (3)2.2 举例准备 (3)2.3 简单的程序流程 (4)2.4 常见的程序流程 (5)2.5 F行说明 (5)2.5.1 内容说明 (5)2.5.2 常用例子 (9)2.5.3 补充说明 (10)2.6 D行说明 (10)2.6.1 内容说明 (10)2.6.2 常用例子 (13)2.6.3 补充说明 (14)2.7 入口参数 (14)2.8 C行说明 (16)2.8.1 写在前面 (16)2.8.2 内容说明 (17)2.8.3 ILE操作码分类: (18)2.8.4 ILE操作码 (19)2.8.4.1 A--C (19)2.8.4.2 D--E (27)2.8.4.3 F--N (32)2.8.4.4 O--R (39)2.8.4.5 S--Z (43)3 和程序相关的数据库知识 (49)3.1 LF(逻辑文件) (49)3.1.1 逻辑文件概念 (49)3.1.2 有关编译的问题 ..................................................... 错误!未定义书签。
3.1.3 逻辑文件对效率的影响 (51)3.2 MEMBER (51)3.3 游标 (52)3.3.1 游标的概念 (52)3.3.2 不同操作码对应的游标的处理 (52)3.3.3 “有且仅有”的游标 (53)3.3.4 LOV AL、HIV AL对应的游标操作 (53)3.4 事务处理-- COMMIT (54)3.4.1 概念描述 (54)3.4.2 使用方法 (54)3.4.3 注意事项 (55)3.5 关于锁表的问题LCKW (56)4 DEBUG调试以及常见出错信息 (56)4.1 写在前面 (56)4.2 常规用法 (57)4.2.1 程序编译 (57)4.2.2 执行DEBUG命令 (57)4.2.3 运行程序 (57)4.2.4 在DEBUG模式中进行调试 (58)4.2.5 跟踪被当前程序调用的程序 (58)4.2.6 一定要退出DEBUG模式 (59)4.2.7 补充 (59)4.3 跟踪批处理程序( From qingzhou) (60)4.4 常见的出错信息 (60)4.4.1 编译程序时的出错信息 (60)4.4.2 运行时的出错信息 (62)5 CL、CMD (62)5.1 CL程序 (62)5.1.1 基本认识 (62)5.1.2 CL程序的常用语法及命令: (63)5.1.3 不常用的语法 (65)5.2 CMD (66)6 屏幕文件及使用 (67)7 其它 (67)7.1 报表打印 (72)7.2 SA VF,备份与恢复 (77)7.3 菜单--MENU (78)7.4 开发时常用的命令 (78)7.5 一点想法 (81)1简单说明内部交流、或可作培训使用。
AS400简明操作手册
AS/400简明操作手册一、认识IPL1.IPL设置面板设置为:01 B N V=F其中:第一部分表示目前状态,01表示显示状态、02表示改动状态第二部分B表示打过补丁、D表示安装操作系统第三部分N表示自动启动、M表示手动启动第四部分V=F表示快速启动,S代表慢速启动(为了在启动时对系统部件进行全面检测)注:面板LED灯(绿灯闪烁)表示已经关机。
开机状态下LED灯(绿灯长亮)。
2.控制面板操作:在正常启动状态时:01 B N V=F在手动起机状态时:01 B M V=F在安装操作系统时:01 D M V=F (光盘启动)注:在手动状态下进入操作系统后,严禁触按电源开关,如违反操作造成损失,后果自负。
注:不建议平时使用控制面板关机。
这种强制性关机有可能会造成系统及用户的数据丢失。
再次开机时,系统将花费额外的时间来检查这些数据是否受损。
启动系统启动前确认系统控制面板上显示的启动参数是否为你需要的参数。
如果不需要人为干预的启动,请选择N自动启动状态。
(一般设为N)。
二、安装CLIENT ACCESS EXPRESS首先连线,将0367的一端接在AS/400DSD背面板上,另一端接在一台PC 的COM口上。
将随机附带的光盘放入PC的CD-ROM中,在出现安装界面后按下一步,选择全部安装。
安装虚拟Modem,进入控制面板,选择添加硬件设备,不检测设备而手工添加,选择调制解调器,从软盘安装,选择浏览,找到刚才安装Client Access 的目录\IBM\Client Access\Aoc\Inf,发现有一驱动文件,选中后按确定,安装完成。
重新启动计算机。
点击开始-程序-IBM AS/400 CLIENT ACCESS EXPRESS-AS/400操作控制台,填入AS/400名称,设置为直接连接、仅控制台连接、不允许远程PC连接。
完成后将出现一窗口显示正在连接,过几十秒将出现一会话窗口,连接成功。
如果发现连接不成功,请换一台PC重试,直到连接成功。
AS400基础培训
AS400基础培训AS/400基础培训⽬录1AS/400体系结构介绍 (2)1.1AS/400性能概述 (2)1.2对象和对象管理 (2)1.3⼯作管理 (3)2AS/400的基本操作 (4)2.1菜单、⼊⼝、列表和信息 (4)2.2常⽤命令 (5)3ILE RPG/400编程⼊门 (6)3.1⽂件的创建和操作 (6)3.1.1物理⽂件 (6)3.1.2逻辑⽂件 (7)3.2ILE RPG程序编写 (7)3.2.1常⽤规范表 (7)3.2.2内部函数 (9)3.2.3表达式 (9)3.2.4操作码 (10)3.3模板学习 (11)3.4编程练习 (12)4SQL/400介绍 (12)1AS/400体系结构介绍1.1 AS/400性能概述集成性AS/400把数据库、通讯、安全性等功能集中在操作系统中,最⼤限度地实现了各功能之间的兼容性。
开放性⽀持SNA、TCP/IP协议,DB2/400可与⼤多数数据库系统实现互联。
可移植对SPEC1170的⽀持可达到95%,相当于⼀般UNIX操作系统。
兼容性所有应⽤可上下兼容。
可连接性哑终端(5250)、仿真终端(PC Communication、Client Access、GUI)可⽀付性可扩充性1.2 对象和对象管理基于对象AS/400中,MI由指令和对象组成。
也就是说,AS/400是基于对象(object-based)的系统,⽽不是⼀个⾯向对象(object-oriented)的系统。
在AS/400中,对象不具备集成性,也没有类和⼦类的概念。
在AS/400的定义中,系统上所有可存储和检索的东西,都叫做对象。
对象由描述这个对象的描述和它的值组成。
对象的描述包括:名称、类型、⼤⼩、建⽴⽇期、建⽴对象者提供的简单描述、以及存储对象的库的名称。
对象的要素⽬录名、对象名和对象类型唯⼀确定⼀个对象。
对象⽬录AS/400中的⽬录结构是单层的,因此对象的表达形式为“Library/Object”。
as400常用操作
AS400常用操作手册1、关于表的操作1.1、数据库表的拷贝wrkobj: 输入要查找的目标、库,执行。
(wrkobj obj(gjjtemp/czyb) 在目标窗口输入3,执行,修改要拷贝到的目标库,同时Duplicate data 选YES,执行。
然后使用grtobjaut进行赋权。
Grtobjant 执行,输入object、lib、object type(all)、users(要赋权者)、authority(*all)。
Grtobjaut obj(gjgrdta/czfzb) objtype(*all) user(gjgr) aut(*all)注意:如目标在要拷贝到的库中存在,则不能覆盖,必须先删除。
1.2、如何在400上修改某条记录UPDDTA: 输入逻辑文件名,则可以按照逻辑文件键字检索记录,然后修改。
如输入物理文件名,则检索出所有记录,不能定位到某条记录,只能一条一条翻阅到要修改记录,然后修改,此时如果记录很多,太不方便。
1.3、为表添加日志STRJRNPF FILE(GJDWDTA/LBJQCB)JRN(GJDWDTA/GJJJRN) IMAGES(*BOTH)1.4、去掉表的日志(ENDJRNPF)Journaled physical file . . . . > *ALL Name, *ALLLibrary . . . . . . . . . . . Name, *LIBL, *CURLIB+ for more valuesJournal . . . . . . . . . . . . > GJJJRN Name, *FILELibrary . . . . . . . . . . . > GJGRDTA Name, *LIBL, *CURLIB 1.5、清空表数据CLRPFMclrpfm GJDWDTA/ltqsjb1.6、如何在两台服务器之间传递数据例如将810机器上的gjgrdta库中sbgqcb中的数据传送到270机器上的gjdwdta库中的sbgqcb中:在810机器上执行如下操作:1)CHGDDMF-> F4:DDM FILE 项填写:TESTDDMLIBRARY填写:QGPLRemote file:File 处填写SBGQCBLibrary填写GJDWDTA执行2)CPYF->F4:From file 处填写SBGQCBLibrary处填写GJGRDTATo file 处填写TESTDDMLibrary 处填写QGPLReplace or add records 处填写*ADD执行。
AS400编程基础
文
字 アイウエオ顺
ABC顺
0<1<2<3...…<9
数组
定义
➢ 在E仕样书中定义数组 ➢ 数组下标从1开始
数组名
E
KIN 4 11 0
操作
数组共有
四个元素
➢ XFOOT(数组中所有元素相加)
元素长度为11位, 小数部分位数为0
➢ LOKUP(找数组中是否有相同值,成功时标识为
‘C 1’K)IN,1 ADD KIN,2 KIN,4
RPG仕样书的种类(1)
H仕样书
用于指定程序生成时的各种机能 如:日期定义,yy-mm-dd或mm-dd-yy
F仕样书
描述程序用到的所有文件 如:数据库文件,印刷文件,画面文件。
E仕样书
描述程序用到的数组(配列),TABLE。
L仕样书(不常用)
定义印刷设备上标准用纸的行数和换页行数
RPG仕样书的种类(2)
➢ 四则运算
当标识90为‘1’时,才执行MOVE运算命令
当标识90为‘0’时,才执行Z-ADD运算命令
用例: 90
MOVE *BLANK A
N90
Z-ADD*ZERO
B
➢ DO命令
当标识90为‘1’时,执行DO到END之间的命令
用例: 90
DO
~
➢ 子程序
END
当标识90为‘1’时,才执行子程序运算调用命令
C
ADD KIN,3 KIN,4
C
XFOOTKIN KIN,4
成功时标
C0
LOKUPKIN,I
11
识11为
运行时的数组
定义
➢ 在E仕样书中定义数组 ➢ 数组下标从1开始
IBM AS400技术手册目录
IBM AS/400技术手册目录有了技术手册目录,可以方便对号去IBM网站下载需要的红皮书,极大地方便了用户。
以下是所有红皮书的参考目录及编号。
Complete List of Books3270 Device Emulation Support SC41-5408-00ADTS for AS/400: Report Layout Utility SC09-2635-00ADTS for AS/400: Screen Design Aid SC09-2604-00ADTS for AS/400: Source Entry Utility SC09-2605-00ADTS/400: Application Development Manager API Reference SC09-2180-00ADTS/400: Application Development Manager Introduction and Planning Guide GC09-1807-00 ADTS/400: Application Development Manager Self-Study Guide SC09-2138-00ADTS/400: Application Development Manager User's Guide SC09-2133-02ADTS/400: Application Dictionary Services Self-Study Guide SC09-2086-00ADTS/400: Application Dictionary Services Users Guide SC09-2087-00ADTS/400: Advanced Printer Function SC09-1766-00ADTS/400: Data File Utility SC09-1773-00ADTS/400: File Compare and Merge Utility SC09-1772-00ADTS/400: Interactive Source Debugger SC09-1897-00ADTS/400: Programming Development Manager SC09-1771-00ADTS/400: Screen Design Aid for the System/36 Environment SC09-1893-00AFP Utilities for AS/400 Users Guide S544-5349-01Alerts Support SC41-5413-00An Introduction to Messaging and Queuing GC33-0805-01AnyMail/400 Mail Server Framework Support SC41-5411-00APPC Programming SC41-5443-00Application Display Programming SC41-5715-00ASCII Work Station Reference SA41-3130-00Asynchronous Communications Programming SC41-5444-00AS/400 Guide to Advanced Function Presentation and Print Services Facility S544-5319-03 Automated Tape Library Planning and Management SC41-5309-02Backup and Recovery SC41-5304-05Backup Recovery and Media Services for iSeries SC41-5345-02BEST/1 Capacity Planning Tool SC41-5341-01BSC Equivalence Link Programming SC41-5445-00CallPath Server for AS/400 CallPath informationCICS Family: API Structure SC33-1007-02CICS Family: Inter-Product Communication SC33-0824-05CICS/400 Application Programming Guide SC41-5454-00CICS/400 Administration and Operations Guide SC33-1387-01CICS/400 Intercommunication SC33-1388-01CICS/400 Problem Determination SC33-1384-00CL Programming SC41-5721-04Client Access Express for Windows - Setup SC41-5507-02COBOL/400 Reference SC09-1813-00COBOL/400 Users Guide SC09-1812-00Communications Configuration SC41-5401-00Communications Management SC41-5406-02CPI Communications Reference SC26-4399-09Cryptographic Support/400 SC41-3342-00DB2 Universal Database Replication Guide and Reference Version 7 SC26-9920-00 DSNX Support SC41-5409-00Facsimile Support for AS/400 Installation Guide SC41-0654-01Facsimile Support for OS/400 Programmer's Guide SC41-0656-01Facsimile Support/400 User's Guide> SC41-0655-01Finance Communications Programming SC41-5449-00GDDM Programming Guide SC41-0536-00GDDM Reference SC41-3718-00Getting Started with Integrated Netfinity Server SC41-5123-01Hierarchical Storage Management SC41-5351-01HTTP information HTTP informationIBM Content Manager for iSeries: Application Programming Guide and ReferenceSC27-1139-00IBM Content Manager for iSeries: Getting Started with Client for Windows GC27-1135-00 IBM Content Manager for iSeries: Messages and Code SC27-1137-00IBM Content Manager for iSeries: Planning and Installing SC27-1133-00IBM Content Manager for iSeries: System Administration Guide SC27-1136-00IBM Content Manager for iSeries: Understanding Advanced Workflow SC27-1138-00IBM Content Manager OnDemand for iSeries Administration Guide SC41-5325-05IBM Content Manager OnDemand for iSeries Common Server Administrator's GuideSC27-1161-00IBM Content Manager OnDemand for iSeries Common Server Indexing ReferenceSC27-1160-00IBM Content Manager OnDemand for iSeries Common Server Installation and Configuration Guide SC27-1158-00IBM Content Manager OnDemand for iSeries Installation Guide SC41-5333-02IBM Content Manager OnDemand User's Guide SC27-0836-00IBM Content Manager OnDemand Windows Client Customization Guide SC27-0837-00IBM DB2 Universal Database for AS/400: Text Extender Administration and Programming SH12-6720-00IBM DB2 Universal Database for iSeries: XML Extender Administration and Programming SC27-1172-00IBM Distributed Computing Environment Version 2.2, Base Services for AS/400: Getting Started SC41-5601-00IBM Open Class Library Reference SC09-4812-00IBM Open Class Library User's Guide SC09-4811-00ICF Programming SC41-5442-00IDDU Use SC41-5704-00ILE Application Development Example SC41-5602-00ILE C/C++ Compiler Reference SC09-4816-00ILE C/C++ for AS/400 MI Library Reference SC09-2418-00ILE C/C++ Language Reference SC09-4815-00ILE C/C++ Programmer's Guide SC09-2712-02ILE C for AS/400 Run-Time Library Reference SC41-5607-00ILE COBOL Programmer's Guide SC09-2540-02ILE COBOL Reference SC09-2539-02ILE COBOL Reference Summary SX09-1317-02ILE Concepts SC41-5606-05ILE RPG Programmer's Guide SC09-2507-03ILE RPG Reference SC09-2508-03ILE RPG Reference Summary SX09-1315-02Infoprint Server for iSeries: Introduction and Planning Guide G544-5774-00Infoprint Server for iSeries: User's Guide G544-5775-00Internetwork Packet Exchange (IPX) Support SC41-5400-00Intrasystem Communications Programming SC41-5447-00Introducing Application Development ToolSet for OS/400 and the AS/400 Server Access Programs GC09-2088-00iSeries 940x RISC-to-RISC Road Map SA41-5155-05iSeries Security Reference SC41-5302-05Job Scheduler for OS/400 SC41-5324-00LAN, Frame-Relay and ATM Support SC41-5404-01Local Device Configuration SC41-5121-00Managed System Services for AS/400 Use SC41-3323-02Keyed Product Media Letter GI11-1330-00MQSeries Administration Interface (MQAI) Programming Guide and Reference SC34-5390-01 MQSeries Application Programming Guide SC33-0807-10MQSeries Application Programming Reference SC33-1673-06MQSeries Clients GC33-1632-07MQSeries Command Reference SC33-1369-11MQSeries for AS/400 Application Programming Reference (RPG) SC34-5559-00MQSeries for AS/400 System Administration GC34-5558-00MQSeries for AS/400 Quick Beginnings GC34-5557-00MQSeries Intercommunication SC33-1872-03MQSeries Planning Guide GC33-1349-08MQSeries Programmable System Management SC33-1482-08MQSeries Queue Manager Clusters SC34-5349-01MQSeries Using C++ SC33-1877-03MQSeries Using Java SC34-5456-03Operations Console Setup SC41-5508-02Optical Support SC41-5310-02OptiConnect for OS/400 SC41-5414-02OS/400 Network File System Support SC41-5714-01Performance Tools for iSeries SC41-5340-01Printer Device Programming SC41-5713-04Programming with VisualAge RPG SC09-2449-04Remote Job Entry (RJE) Guide SC09-1903-01Remote Work Station Support SC41-5402-00REXX/400 Programmer's Guide SC41-5728-00REXX/400 Reference SC41-5729-00RPG/400 Reference SC09-1817-00RPG/400 User's Guide SC09-1816-00Simple Network Management Protocol (SNMP) Support SC41-5412-00 SNA Distribution Services SC41-5410-01SNA Upline Facility Programming SC41-5446-00Software Installation SC41-5120-05Sort Users Guide and Reference SC09-1826-00SW Subscription Brochure AP (English) G325-6369-01SW Subscription Brochure EMEA (English) G325-6368-01SW Subscription Brochure USA G325-6367-02System API Programming SC41-5800-00System Manager Use SC41-5321-01System Operation SC41-4203-00System/36-Compatible RPG II User's Guide and Reference SC09-1818-00 System/38-Compatible COBOL Reference Summary SX09-1286-00 System/38-Compatible COBOL User's Guide and Reference SC09-1814-00 System/38 Environment Programming SC41-3735-00System/38 Migration Planning SC41-4153-00Tape and Diskette Device Programming SC41-5716-01TCP/IP Configuration and Reference SC41-5420-04Tips and Tools for Securing Your iSeries SC41-5300-05VisualAge Generator Server Guide for AS/400 SH23-0280-00VisualAge RPG Language Reference SC09-2451-03VisualAge RPG Parts Reference SC09-2450-04Work Management SC41-5306-03Workstation Customization Programming SC41-5605-00X.25 Network Support SC41-5405-01。
AS400 日常操作 小册子
目录AS/400基本操作指南一手动启动AS/400二AS/400关机三系统作业的查看四查看硬盘状态五系统日志的查看AS/400基本故障诊断一一般性故障二系统故障灯亮AS/400数据备份一备份对象(Object)或库(Library)二全系统备份AS/400服务介绍附录一手动启动AS/4001选择机器启动模式AS/400启动(IPL)主要有两种方式手动(Manual)或正常(Normal)这两种方式的选择是通过控制面板来实现的对于有电子钥匙的机型这一过程非常容易在电子钥匙插入钥匙孔后连续按方式选择键模式指示灯会轮流点亮只要让想选择的模式的指示灯亮就完成了手动/正常模式的转换对于没有电子钥匙的机型模式的转换就需要使用控制面板的02功能其操作步骤如下A.正常情况下控制面板会显示01 B N这表示是正常模式B.按向上的数据显示按键一下面板会显示02C.按执行键后面板显示02 B ND.再按上或下的数据显示按键直到显示02 B M为止E.按一下执行键面板显示02F.按向下的数据显示按键让面板显示01G.按一下执行键这时面板会显示01 B M这样就完成了从正常模式向手动模式的转换如果想再从手动模式向正常模式转换只要在第D步时选择02 B N就行了2AS/400手动启动过程AS/400的启动被称为初始程序装载简称为IPL(Initial Program Load)正常模式的IPL很简单在确认模式选择正确后只需按一下启动键就行了而对于手动模式在按下启动键到系统可用还需要在主控终端上回答一些问题具体过程如下第一个系统等待回答的菜单是IPL or Install the System显示如下1. Perform an IPL2. Install the operating system3. Use Dedicated Service Tools (DST)4. Perform automatic installation of the operating system5. Save Licensed Internal Code在确定不用做其它操作后选择1(Perform an IPL)以启动AS/400登录画面出现后用有安全保安官权限的用户登录建议用QSECOFR用户出现Select Products to Work with PTFs菜单后显示如下这时按F3键Opt Product Option Release5769999 *BASE V4R2M05769SS1 *BASE V4R2M0出现IPL Options菜单显示如下System date . . . . . . . . . . . . . . 04 / 21 / 00 MM / DD / YYSystem time . . . . . . . . . . . . . . 17 : 44 : 25 HH : MM : SSClear job queues . . . . . . . . . . . . N Y=Yes, N=NoClear output queues . . . . . . . . . N Y=Yes, N=NoClear incomplete job logs . . . . . N Y=Yes, N=NoStart print writers . . . . . . . . . . Y Y=Yes, N=NoStart system to restricted state . . N Y=Yes, N=NoRun #STRTUP1 procedure . . . Y Y=Yes, N=NoRun #STRTUP2 procedure . . . Y Y=Yes, N=NoSet major system options . . . . . . N Y=Yes, N=NoDefine or change system at IPL . N Y=Yes, N=No在这里可以更改系统日期和时间在这个菜单中有几点要注意的显示的第三四五这三行即Clear job queues Clear output queues和Clear incomplete job logs这三行分别是指清空作业队列清空打印队列和清除最近一次关机前系统中所有未结束作业的日志对这些内容系统默认是不清除但对于特殊情况可以根据需要把必要的选项变为Y以让系统在IPL过程中去清除但IBM建议不要清除未结束作业的日志因为如果系统有问题作业日志是最好的发现问题的工具最后两行分别决定是否在启动过程中定义系统的运行环境和改变系统参数一个AS/400系统一旦配置完成并投入使用它的运行环境基本是不会变的并且这些参数都可以在系统正常使用时进行改变所以一般情况下建议在启动AS/400时这两项都选No如果在IPL Option菜单中的Set Major System Options项选Y则系统显示Enable automatic configuration . . . . . . . Y Y=Yes, N=NoDevice configuration naming . . . . . . . . *NORMAL *NORMAL, *S36,*DEVADDefault special environment . . . . . . . . *NONE *NONE, *S36如果在IPL Option菜单中的Define or change system at IPL项选Y则系统显示1. Configuration commands2. Change user profile3. System value commands4. Network attribute commands5. General object commands6. Work with shared pools在IPL Option菜单后系统会不时地弹出信息这时只要按执行键就行了如果没有特殊情况很快就会出现AS/400主菜单这时IPL完毕二AS/400关机AS/400关机有好几种方法过程分别如下方式一首先确定用户应用程序已经终止然后用ENDSBS *ALL *IMMED 关闭所有子系统当所有子系统都关闭后系统提示The system is in a restricted state 这时再输入命令PWRDWNSYS然后按F4键进入 Power Down System(PWRDWNSYS)菜单显示如下How to end . . . . . . . . . . . *IMMED *CNTRLD, *IMMEDDelay time, if *CNTRLD . . . . . 3600 Seconds, *NOLIMITRestart options:Restart after power down . . . *NO *NO, *YESRestart type . . . . . . . . . *IPLA, *SYS, *FULLIPL source . . . . . . . . . . . *PANEL *PANEL, A, B, D 在How to end那一行输入*IMMED如果要重新启动则在 Restart after power down 那一行输入*YES然后按执行键就行方式二当系统可用时输入命令GO POWER这时会出现 Power On and Off Tasks 菜单显示如下1. Display power on and off schedule2. Change power on and off schedule3. Power off the system immediately4. Power off the system immediately and then power on如果只是关机那么选3如果还要重新启机那选4输入选项后按执行键再按F16键确认方式三通过控制面板关机首先将机器的启动模式转换到手动按一下电源开关功能显示屏上会显示0再按一下电源开关以确认关机操作当确认了关机操作后不久功能显示屏上会出现DXXX XXXX表明系统正在关机这时就不用再作其它操作了三系统作业的查看AS/400提供了一个功能很强大的命令WRKACTJOB这个命令可以让用户查看系统中所有的正在运行的作业(active jobs)这样用户可以通过观察CPU利用率响应时间等方面去了解系统的性能输入这一命令后系统显示如下Work with Active Jobs IBMCHINA00/04/19 10:08:33 CPU %: .0 Elapsed time: 00:00:00 Active jobs: 123Type options, press Enter.2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message8=Work with spooled files 13=Disconnect ...Opt Subsystem/Job User Type CPU % Function Status QBATCH QSYS SBS.0DEQW QCMN QSYS SBS.0 DEQW QCTL QSYS SBS.0 DEQW QPFRCOL QPGMR ASJ.0 PGM-QPMLWAIT EVTW QSYSSCD QPGMR BCH.0 PGM-QEZSCNEP EVTWQDOMINOHT QSYS SBS.0 DEQW QHTTPSVR QSYS SBS.0 DEQW DEFAULT QTMHHTTP BCH.0 PGM-QZHBHTTP TIMWDEFAULT QTMHHTTP BCI.0 TIMW 刚运行这一命令时所有作业的CPU占用率都是0%这时要按F5键刷新显示屏幕上方Elapsed time是指运行WRKACTJOB这个命令对系统中正在运行的作业进行观察的时间而左上角的CPU%则表示在这个时间内CPU的平均利用率所以如果想用这个命令查看当前时刻CPU的利用率就需要按F10键重新开始统计当命令刚运行时如上所示会显示6列下面对其分别说明w Subsystem/Job子系统名称或作业名称缺省情况下会以子系统的名称来排列所有在同一个子系统下的作业都会以缩进的方式显示在子系统的下面w User启动子系统/作业时的用户名w Type子系统/作业的类型子系统的类型一定会是SBS而作业的类型就有很多种常见的有两种BCH和INT分别代表批处理作业和交互式作业w Function当前作业提交的命令程序名称这一项只对作业有效w Status子系统/作业的当前状态在运行了WRKACTJOB这个命令后可以按F11键去显示作业在统计时间内的对系统资源的使用情况按F11键后显示如下--------Elapsed--------- Opt Subsystem/Job Type Pool Pty CPU Int Rsp AuxIO CPU %QINTER SBS 2 0 .7 0 .0QPADEV0011 INT 4 20 .3 7 .0 7 .0QPADEV0013 INT 4 20 .841 .0 47 .0QSERVER SBS 2 0 .3 0 .0QPWFSERVSD BCH 2 20 .1 0 .0QSERVER ASJ 2 20 .1 0 .0 w pool:子系统/作业运行时所在的内存池的编号w Pty:作业的优先级取值范围在0-99之间其中0为优先级最高99为最低w CPU:在统计的时间范围内所占的CPU处理时间单位为秒w Int:在统计的时间范围内交互式作业需要用户干预的次数这一项只有在交互式作业中才显示w Rsp:交互式作业的平均响应时间对于非交互式作业这一项为空w AuxIO:在统计的时间内作业对硬盘的输入输出操作数w CPU%:在统计时间内所占CPU的百分比在日常工作中如果发现系统响应速度明显变慢可用WRKACTJOB命令去查看系统中的作业如果发现了某个不必要的作业占用了大量的CPU首先要确定这个作业的运行情况即确认这种情况是否正常如当系统刚IPL后系统作业SCPF占用大量CPU是很正常的如果确定该作业异常或决定终止该作业可以在这个作业左侧的Opt栏处输入4然后按F4键这时系统就会出现End Job菜单其显示如下Job name . . . . . . . . . . . . > QPADEV0011NameUser . . . . . . . . . . . . . > IBM NameNumber . . . . . . . . . . . . > 0356********-999999How to end . . . . . . . . . . . *IMMED*CNTRLD, *IMMEDDelay time, if *CNTRLD . . . . . 30 SecondsDelete spooled files . . . . . . *NO *NO, *YESMaximum log entries . . . . . . *SAME Number, *SAME, *NOMAXAdditional interactive jobs . . *NONE *NONE, *GRPJOB, *ALL 在How to end 那一行输入*IMMED然后按执行键以结束这个作业另外WRKACTJOB这个命令会占用很多系统资源除非在必要的情况下不要在系统利用率很高的情况下运行这个命令最后要提一点将作业终止以提高系统响应速度只适用于该作业占用大量CPU的情况但有时系统还会出现CPU利用率几乎为0但响应速度依然很慢的情况这时就要去查看系统中是否有LOCK存在而导致大部分作业都在等待一旦出现这种情况就必须把LOCK解开否则很可能只能通过手动IPL来恢复系统了四查看硬盘状态1WRKSYSSTSAS/400提供了一个命令WRKSYSSTS以供用户查看系统状态运行这个命令后系统显示如下% CPU used . . . . . . . : 25.8 Auxiliary storage:Elapsed time . . . . . . : 00:00:00 System ASP . . . . . . : 10252 MJobs in system . . . . . : 118 % system ASP used . . :45.9193% addresses used: Total . . . . . . . . :10252 MPermanent . . . . . . : 3.316 Current unprotect used :409 MTemporary . . . . . . : .308 Maximum unprotect . . :415 MType changes (if allowed), press Enter.System Pool Reserved Max -----DB----- ---Non-DB---Pool Size (K) Size (K) Active Fault Pages Fault Pages1 20292 11225 +++ .0 .0 .0 .02 100251 0 8 .0 .0 .0 .03 1310 04 .0 .0 .0 .04 9219 0 8 .0 .0 .0 .0显示的前6行是系统的当前状态后面的几行与系统的性能有关这里就不多叙述了屏幕的右上方显示的是Auxiliary storage那一列的5行都是和硬盘有关的w System ASP系统中操作系统分区的硬盘容量对于大多数用户来说系统中只有一个分区即操作系统分区所以一般情况下这个值指系统中所有硬盘的可用容量w%system ASP used当前硬盘的占用率w Total系统中所有硬盘的容量如果系统中有用户分区那么它应该大于系统ASP大小如果系统中没有用户分区那么它应该等于系统ASP w Current unprotect used和Maxium unprotect对于RISC版本的机器来说这是指当前的和最大允许的存放临时文件的空间每次IPL后系统会自动清除临时文件但由于系统自身的作业也会产生临时文件所以当前的临时文件所占用的空间永远不会为0而对于最大临时文件空间来说系统在每次启机后会自动开辟一个区域预留给临时文件使用所以这个值也不会为0而对于CISC版本的机器来说这两个值只有在硬盘有校验和保护的情况下才有效2WRKDSKSTSWRKDSKSTS这个命令可以查看所有硬盘的工作状态其显示如下Size % I/O Request Read Write Read Write % Unit Type (M) Used Rqs Size (K) Rqs Rqs (K) (K) Busy1 6713 7516 41.7 .0 .0 .0 .0 .0 .0 02 6713 7516 41.7 .0 .0 .0 .0 .0 .0 03 6713 7516 41.7 .4 4.0 .4 .0 4.0 .0 04 6713 7516 41.7 .8 4.0 .8 .0 4.0 .0 0通过这个命令就可以看出每一块硬盘的工作状态包括硬盘型号容量当前利用率I/O请求数量平均每次I/O请求的数据量读请求数量写请求数量平均每次读请求的数据量平均每次写请求的数据量以及硬盘的繁忙程度这时按F11键后显示如下--Protection--Unit ASP Type Status Compression1 1 DPY ACTIVE2 1 DPY ACTIVE3 1 DPY ACTIVE4 1 DPY ACTIVE这时可以查看每块硬盘的状态如果状态为ACTIVE表明硬盘工作正常但如果是FAILED则表明该硬盘损坏需要更换这时请拨打IBM服务热线8008106677寻求IBM的技术支持五系统日志的查看AS/400有一套完善的安全机制它对系统中的很多工作都用日志进行记录在AS/400上主要有3个日志当前作业日志历史日志和错误日志1当前作业日志和系统日志当前作业日志只记录当前作业的工作情况对于交互式作业来说这一日志记录了用户从登陆一直到退出系统过程中所有提交的命令和结果一般情况下用户退出系统后AS/400不会保留这个用户的当前作业日志如果用户想要保留日志那么在退出时输入命令SIGNOFF *LIST这时当前作业的日志就会作为spooled file被保留在output quese中如果要显示当前作业日志输入命令DSPJOBLOG系统显示如下Display Job LogSystem: S102RNVM Job . . : QPADEV0017 User . . : WQ Number . . . : 0364953> DSPJOBLOG这时只显示了最近输入的一条命令(是DSPJOBLOG)为了显示以前的日志先按一下F10键这时显示变为如下所示Display All MessagesSystem: S102RNVM Job . . : QPADEV0017 User . . : WQ Number . . . : 0364953> DSPJOBLOG这时再按向上下的翻页键就可以查看所有的日志了另外用命令CALL QCMD也可以让用户查看此次登陆以来输入的所有命令刚输入这条命令时系统会显示(No previous commands or messages)这时再按一下F10键就可以列出登陆以来的所有命令了历史日志记录了系统中发生的所有情况通过历史日志用户可以查看几个小时前或者几天前系统中发生的事情查看历史日志的命令是DSPLOG如果直接输入这个命令系统用显示当天所有能显示的日志要想有选择地显示某一特定时间段内的日志在输入命令后按F4键在那里可以输入起始和终止的日期时间输入完毕后按执行键即可在日志中所有的记录都相当是一条信息(Message)可以按查看信息的方法查看2错误日志错误日志是AS/400中System Service Tools(SST)的一个功能它记录了所有的系统错误在SST中查看日志的方法如下在AS/400命令行输入命令STRSST以启动SST选择1.Start a service tool选择1.Product activity log选择1.Analyze log在Log选项中选1. All logs然后在起止日期中输入合适的日期然后按执行键在Select Analysis Report Options选项中不要改变任何缺省设置直接按执行键这时就已经可以看到日志中的错误代码如果想看具体的内容可以在Opt栏中输入5然后按执行键并不是错误日志中的所有记录都是一个真正的系统错误有些只是由于操作不当引起的而有些又是外界环境所引起的如通讯线路信号失真所以当看到系统中有很多错误时不用紧张要具体问题具体分析如果有不清楚之处可拨打IBM服务热线8008106677寻求IBM的技术支持AS/400基本故障诊断一一般性故障1无法访问局域网一般在局域网上无法访问AS/400或从AS/400无法访问局域网都是由于设置不正确而导致的首先输入命令 WRKCFGSTS *LIN再找到为局域网配置的线描述系统默认的线描述是ETHLINE对于令牌环网是TRNLINE如下所示Opt Description Status -------------Job--------------__ QESLINE VARIED OFF__ QTILINE VARIED OFF__ Q1PLIN VARIED OFF__ ETHLINE ACTIVE__ ETHLINET ACTIVE__ ETHLITCP ACTIVE QTCPIP QTCP 026752一般情况下每条正常工作的线会有类似上面不断缩进的三行显示这三行从上到下分别是通讯线(Line)线上的控制器(Controller)以及控制器控制的设备(Device)每条线都会有ACTIVE VARY OFF VARY ON PENDING等多种状态并且当状态是ACTIVE时在Job那一列就会出现正在使用这条线的设备的作业正常情况下这个作业是QTCP用户提交的QTCPIP作业如上所示如果线和控制器的状态是ACTIVE或VARIED ON而设备的状态为VARIED ON那么表明当前TCPIP网络服务协议没有启动此时输入命令STRTCP即可如果线的状态是VARIED OFF表明此时这条线被禁用需要在旁边的选项中选1以将线解禁如果线的状态为RCYPND一般情况下是网线或HUB交换机的接入口有问题需要对其进行检查在检查完成后先在线旁边的选项中选2待状态变成VARIED OFF后再选1注意有些网卡上面会有两个指示灯其中一个亮的时候为黄色这并不是说明网卡工作有故障系统通过两个灯的明灭来表明此时的工作状态全双工/半双工10M/100M2控制面板无显示控制面板无显示一般都是电源问题请先检查电源线是否插好并检查电源线在AS/400的输入端是否为50Hz的220V交流电对于270820830840这四款机器在刚插上电源线后约5秒种后控制面板才会有显示所以当刚为机器供电时控制面板仍然会没有背景光若输入电压正常但仍无显示可能是AS/400的电源或控制面板有故障请拨打IBM热线电话8008106677请IBM工程师支持二 系统故障灯亮AS/400上的软 硬件故障都有可能引起系统故障灯亮 当故障灯亮时 控制面板上的功能显示屏会出现一个8位的代码 首先记下这个代码 然后在控制面板上做如下操作按向上的数据显示键 控制面板会出现12-2(或12-3) 按一下执行键 功能显示屏上会出现一个8位的代码 记下这个代码按向上的数据显示键 控制面板会出现13-2(或13-3) 再按一下执行键 功能显示屏上又会出现一个8位的代码 记下这个代码重复步骤B 一直到把控制面板出现20后按执行键得到的代码记下来(从12到19控制面板都会出现XX-X 的样子 但是到了20时只会出现20)注 对于270 820 830 840这四款机器 故障灯亮时控制面板上有时会出现32位的代码 并且只有11 12 13和20四部分代码得到上述代码后 请拨打IBM 热线电话8008106677 请IBM 工程师支持三 总结拨打IBM 热线电话 寻求技术支持有硬件故障系统故障灯亮等待5秒钟以上机器在做内部启动检查电源线 输入电压没有电源输入控制面板无显示更换网线 检查交换机端口设置 检查HUB 端口状态网线或HUB 交换机端口设置检查线描述 改变线状态网卡线描述设置不正常无法访问局域网解决方法可能的故障原因故障现象AS/400数据备份一备份对象(Object)或库(Library)用命令SAVOBJ可以备份对象输入命令后按F4键屏幕显示如下Objects . . . . . . . . . . . . Name, generic*, *ALL+ for more valuesLibrary . . . . . . . . . . . . Name, generic*+ for more valuesDevice . . . . . . . . . . . . . Name, *SAVF+ for more valuesObject types . . . . . . . . . . *ALL *ALL, *ALRTBL, *BNDDIR...+ for more values而备份库的命令是SAVLIB输入命令按F4键之后屏幕的显示如下Library . . . . . . . . . . . . Name, generic*, *NONSYS...+ for more valuesDevice . . . . . . . . . . . . . Name, *SAVF+ for more values在Objects Library Device Object types这四行分别输入要备份的对象名称对象所在的库名称(对于备份库的情况是要备份的库的名称)磁带机的设备名及要备份的对象类型如果有多个值要输入就在其下面一行输入一个+号然后按执行键这时会弹出一个屏幕以便方便地输入多个值待全部输完后按执行键就会返回当所有的内容都输入之后按执行键如果在Device那一行输入的是磁带机名称那么屏幕上就会增加如下几行Volume identifier . . . . . . . *MOUNTED+ for more valuesSequence number . . . . . . . . *END 1-16777215, *ENDLabel . . . . . . . . . . . . . *LIBFile expiration date . . . . . . *PERM Date, *PERMEnd of tape option . . . . . . . *REWIND *REWIND, *LEAVE, *UNLOADUse optimum block . . . . . . . *YES *YES, *NO这里面Volume identifier这个参数很重要这个参数是指备份时磁带的卷标名系统默认是当时插入磁带机中的那盘磁带如果需要系统来确认每次备份都能使用正确的那盘磁带可以在这一行输入磁带的卷标名通常情况下直接再按一次执行键就可以提交备份操作了如果输入的是*SAVF(备份到文件)那么屏幕上只会增加两行Save file . . . . . . . . . . . NameLibrary . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB这时就要在这两行分别输入备份文件的名称和所在的库然后按执行键提交二全系统备份全系统备份必须是在系统主控制台上提交在命令行输入命令GO SAVE然后按执行键进入SAVE菜单选21这时会出现一个 Save the Entire System屏幕列出全系统备份要做的工作其显示如下What this option will doo End all subsystemso Save the Licensed Internal Codeo Save the operating systemo Save the security datao Save the device configuration objectso Save all user libraries (including libraries for licensed programs)o Save all documents and folderso Save all distribution and mail objectso Save all directorieso Start the controlling subsystemWhat this option will not doo Save the contents of job queues, output queues, or data queues thatexist on the system按执行键后就会出现Specify Command Defaults屏幕如下所示Tape devices . . . . . . . . . TAP01 NamesPrompt for commands . . . . . N Y=Yes, N=NoCheck for active files . . . . Y Y=Yes, N=NoMessage queue delivery . . . . *BREAK *BREAK, *NOTIFYStart time . . . . . . . . . . *CURRENT*CURRENT, timeVary off network servers . . . *NONE *NONE, *ALL, *LANSERVER,*NETWARE, *BASE, *AIX,在Tape devices处输入磁带机设备名称(最多可以输入4个磁带机名称)在Prompt for commands处输入N以避免对每一步操作都进行确认在Check for active files那一行输入N以便让系统不检测磁带上是否有内容其余的就都用缺省值当确认磁带插入磁带机后按执行键就开始进行全系统备份了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 简单说明 (3)2 程序代码行的编写 (3)2.1 最简单的RPGLE程序 (3)2.2 举例准备 (3)2.3 简单的程序流程 (4)2.4 常见的程序流程 (5)2.5 F行说明 (5)2.5.1 内容说明 (5)2.5.2 常用例子 (9)2.5.3 补充说明 (10)2.6 D行说明 (10)2.6.1 内容说明 (10)2.6.2 常用例子 (13)2.6.3 补充说明 (14)2.7 入口参数 (14)2.8 C行说明 (16)2.8.1 写在前面 (16)2.8.2 内容说明 (17)2.8.3 ILE操作码分类: (18)2.8.4 ILE操作码 (19)2.8.4.1 A--C (19)2.8.4.2 D--E (27)2.8.4.3 F--N (32)2.8.4.4 O--R (39)2.8.4.5 S--Z (43)3 和程序相关的数据库知识 (49)3.1 LF(逻辑文件) (49)3.1.1 逻辑文件概念 (49)3.1.2 有关编译的问题............................................................... 错误!未定义书签。
3.1.3 逻辑文件对效率的影响 (51)3.2 MEMBER (51)3.3 游标 (52)3.3.1 游标的概念 (52)3.3.2 不同操作码对应的游标的处理 (52)3.3.3 “有且仅有”的游标 (53)3.3.4 LOV AL、HIV AL对应的游标操作 (53)3.4 事务处理-- COMMIT (54)3.4.1 概念描述 (54)3.4.2 使用方法 (54)3.4.3 注意事项 (55)3.5 关于锁表的问题LCKW (56)4 DEBUG调试以及常见出错信息 (56)4.1 写在前面 (56)4.2 常规用法 (57)4.2.1 程序编译 (57)4.2.2 执行DEBUG命令 (57)4.2.3 运行程序 (57)4.2.4 在DEBUG模式中进行调试 (58)4.2.5 跟踪被当前程序调用的程序 (58)4.2.6 一定要退出DEBUG模式 (59)4.2.7 补充 (59)4.3 跟踪批处理程序( From qingzhou) (60)4.4 常见的出错信息 (60)4.4.1 编译程序时的出错信息 (60)4.4.2 运行时的出错信息 (62)5 CL、CMD (62)5.1 CL程序 (62)5.1.1 基本认识 (62)5.1.2 CL程序的常用语法及命令: (63)5.1.3 不常用的语法 (65)5.2 CMD (66)6 屏幕文件及使用 (67)7 其它 (67)7.1 报表打印 (72)7.2 SA VF,备份与恢复 (77)7.3 菜单--MENU (78)7.4 开发时常用的命令 (78)7.5 一点想法 (81)1简单说明内部交流、或可作培训使用。
对用户作如下假定:1、能COPY、修改、编译源代码(RPGLE、CLP),并能运行编译后的程序2、能COPY、修改、编译文件(PF、LF、PRTF、DSPF);3、对数据文件(PF)有简单的认识(FIELD → RECORD → PF),并知道LF与PF的对应关系。
2程序代码行的编写2.1 最简单的RPGLE程序为便于理解,这里写一个最简单的RPGLE程序CL0N01Factor1+++++++Opcode&ExtFactor2+++++++Result++++++++Len++D+HiLoEq *************** Beginning of data ************************************* 0001.00 C 'HELLO WORLD' DSPL Y0002.00 C RETURN****************** End of data ****************************************这个程序编译成功,并调用(CALL 程序名),就是在屏幕上反白显示“HELLO WORLD”字样。
(其中,绿色字样,是系统自动显示的,下同)与自由风格的C语言不同,RPGLE中的编码,是有一定的格式,如果写错,将会在当前代码行上高亮反绿显示。
初学者如果不太清楚从何处开始下手,可以使用“F4”键查看(F4键只有用2进入的编辑状态才有效,用5进入的查看状态是无效的)Level N01 Factor 1 Operation Factor 2 Result'HELLO WORLD' DSPL YDecima lLength Positions HI LO EQ Comment关于每一项所对应的内容代表什么意思,该如何填写,即如何写程序,将会在下面的具体讲解。
2.2 举例准备列出表名,字段,以方便下面的举例。
假设有PF文件叫PFFHS,文件的记录格式叫FMTFHS每条记录,都是由FHS01、FHS02、FHS03三个字段组成,每个字段都是两位长的字符型变量。
逻辑文件PFFHSL1的键值为FHS01逻辑文件PFFHSL2的键值为FHS02逻辑文件PFFHSL3的键值为FHS01、FHS02注:文件的记录格式,可以理解为给这个文件整条记录起的一个名字;或者是说将每条记录视都视做一个类型相同大变量,然后给这个大变量起的名字。
所以文件的记录格式信息中,包含有一条记录由多少个字段组成,总计长度是多少这样的信息。
文件的记录格式,与各个字段同时定义。
(写文件的源码时)文件的记录格式在RPGLE的程序中,不能与文件名相同。
2.3 简单的程序流程为方便起见,系统自动显示的就不再贴出来了,只贴代码段。
FPFFHS UF E DISKC READ FMTFHSC EV AL FHS01=”01”C UPDA TE FMTFHSC SETON LRC RETURN这个程序的意思,是说读PFFHS这个文件,然后将读到的第一条记录中的FHS01这个字段的值修改为“01”。
“SETON LR”,LR的位置可在HI、LO、EQ中任选一处。
意思是指将打开指示器*INLR,即赋值使指示器*INLR的值等于1。
等价于“EVAL *INLR=’1’”,意思是强制将内存中的数据写到磁盘中。
(基于效率因素,系统在修改文件时,会先将修改的结果先放在内存中,在同一程序中,读取数据也是先从内存中查询。
)LR,取自是Last RecordRETURN,表示程序结束,在后面“操作码”一节中,会有讲述。
如果不太明白,就记住C SETON LRC RETURN或C EV AL *INLR=’1’C RETURN这两句话加在一起,表示程序结束就可以了。
从这个程序中,我们可以看到,RPGLE的程序,大致上可以分为两个部分:1、声明、定义部分:声明程序中使用到的文件(F行),定义程序中使用的变量(D行)2、程序运行部分:即C行,也就是程序段。
在RPGLE程序中,F行必须在D行前面,D行必须在C行前面。
程序执行的起始顺序,将从定义部分之后,第一个C行开始,顺序向下执行。
程序中的F行、D行都不是必须项,一个程序可以没有F行(如仅完成计算功能的公共函数,比如计算利息),也可以没有D行(没有需要特别定义的变量,或者所有变量都在C行进行定义),但不应该没有C行,因为F行与D行都属于非执行行,是起定义作用;C 行是执行行。
没有C行的程序,是无执行意义的。
2.4 常见的程序流程FPFFHS UF E DISK //声明文件PFFHSD LSFLD01 S 2 //定义临时变量LSFLD01C EV AL LSFLD01=’01’//给变量LSFLD01赋值C EXSR SUB#UPD //执行子过程SUB#UPDC EV AL LSFLD02=’02’//给变量LSFLD02赋值C EXSR SUB#UPD //执行子过程SUB#UPDC SETON LR //数据写入磁盘C RETURN //程序结束C SUB#UPD BEGSR //子过程SUB#UPD开始C READ FMTFHS //读PFFHS文件C EV AL FLD01=LSFLD01 //给字段FLD01赋值C UPDA TE FMTFHS //修改文件C ENDSR //子过程结束“//”后面的,只是简单的解释,如果自已动手写,不需要输入这些内容。
系统在运行这个程序时,是按如下的顺序来执行:1.首句EV AL赋值语句,直接执行;2.当系统发现操作码“EXSR”时,根据后面的变量名“SUB#UPD”,去查找对应的“SUB#UPD BEGSR”语句;3.然后从“SUB#UPD BEGSR”之后,顺序向下执行,直至“ENDSR”语句4.执行到“ENDSR”之后,将会再回到当初的“EXSR SUB#UPD”处,继续向下执行,直到RETURN语句为止这里提出一点要注意,如果子过程中,又执行了自身,即在SUB#UPD程序中,又出现了“EXSR SUB#UPD”,是可以编译通过的,但在执行过程中,系统会因为无法定位,而出现死循环,直至报错异常中断退出。
也就是RPGLE的程序中,子过程不允许出现递归。
2.5 F行说明2.5.1内容说明首位填上F,然后按F4,会出现如下内容:File File End of FileFilename Type Designation File Addition SequenceFile Record Limits Length of RecordFormat Length Processing Key Field Address TypeFileOrganization Device KeywordsComment各项的含义分别是:Filename:需要声明的文件名,必须顶格,文件名必须唯一,也就是程序中对同样的文件名不能声明两次。
File Type:声明文件的处理类型。
必须填写。
允许的选项有:I:输入型,即只读文件,对声明的文件只取其记录的值,不对记录进行修改U:修改型,即对声明的文件进行修改操作(删除记录属于修改操作的一种)O:输出型,即只写,对声明的文件只进行写操作。
C:混合型,用于对屏幕文件的定义。
(混合型,即输入/输出型,以屏幕文件为便,也就是读取屏幕文件的一些输入字段信息,同时也可以输出一些字段的值到屏幕文件中,但不能对屏幕文件自身进行修改,所以与上面的U是有区别的)File Designation:文件的指定方式,允许的选项有:不填:表示这是一个输出文件,即“File Type”项为“O”时,此项不填P:表明声明的文件是主文件,这个很少用,cycle相关S:表明声明的文件是次文件,这个没用过,cycle相关R:Record address file,记录地址文件?没用过T:数组或表文件?不懂,没用过F:常用,具体含义不知道该如何翻译(Full procedural file)简单来说,不考虑cycle(循环控制),这样理解就够了:当“File Type”为I,U,C时,这里填“F”当“File Type ”为O时,这里不填写End of File:程序结束前,对记录的处理方式。