搜索
您的当前位置:首页正文

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的特点

iSeries 400通过紧密集成硬件、软件、中间件和操作系统提供能够满足不同业务需求的高性能、可靠和易于使用特性。从e系列开始,在电子商务大舞台上开始扮演更为重要的角色。它可以提供扩展业务确保电子商务优势所需的技术和工具。它的突出特点有:

● 卓越的性能,不断获得各种荣誉和认可,全面实现64位处理,先进的体系结构,最领先的SOI芯片技术;

● 卓越的可靠性和可用性,系统可提供99.97%的可用性,使iSeries成为商业关键事务处理的首选服务器平台;

● 高度集成的系统环境,使用户不需要太多的系统管理员就能保证其应用平稳地运行; ● 严密的安全防范系统,荣获美国联邦政府定义的商业计算机最高安全性级别C2级认证,堪称世界上\"最安全\"的计算机系统。从来没有发现过病毒。

● 开放标准兼容性,使用户把运行在不同平台上的业务系统和数据平滑地连接在一起; ● 简单易用,使用户(尤其是新用户)很快就能掌握它的系统管理和应用程序开发。 ● 允许在一台服务器上安装Linux、Java、Windows2000和Domino等多种应用。 ● 在系统中可以配备16台PC服务器Netfinity,可以运行多种不同的操作系统,并公享主机系统的资源。

● 是唯一一种能直接(固有)支持多种不同文件结构,如PC文件、Unix文件、Netware文件、Domino文件、ASCII文件、EDBCID文件的系统。

Figure 1-2. iSeries400

1.3 AS/400先进的体系结构

1.3.1 TIMI结构

面向处理机的体系结构 面向处理机的体系结构

Figure 1-3. AS/400的先进体系结构

Figure 1-5. 面向处理机的体系结构

面向处理器的体系结构(Processor-Centric Architecture)如上图所示,程序员可以直接地访问硬件界面来编写应用程序。比如HP的PA-RISC和Digital的Alpha结构。这种体系结构的缺点是一旦硬件有所修改,几乎所有的应用程序都必须重写。

面向API的体系结构

面向API的体系结构

Figure 1-6. 面向API的体系结构

由于在面向处理机的体系结构中应用程序过分地依赖硬件,而硬件技术的发展非常之快,就使应用程序的编写相当的复杂,需要随硬件的升级不断地改写。因此,许多软硬件开发商和标准化组织联合起来创建了面向API(Application Programming Interface)的结构。该结构(如上图所示)定义了一个通信界面,所有的应用程序都可以通过(但不是必须)这个界面访问操作系统提供的各种服务。这样程序员在编写应用程序时就可以避开直接访问特定的硬件。

操作系统的功能简单而言就是管理系统的资源并提供编写应用程序的基本环境。这些基本的操作系统的功能可以通过API提供给程序员。一个API可以通过对操作系统的调用来执行某一项功能。如应用程序可以通过调用API来要求操作系统执行一个I/O操作,磁盘读操作。显然,应用程序不需要了解I/O设备内部是如何工作的,只要应用程序是通过API来完成I/O操作的,就可以保证应用程序独立于底层的硬件结构。

如果不同的计算机生产商能够提供相同的API集,那么任何一个使用这些API集来编写的应用程序便可以很方便地从一种机器移植到另一种机器上。一个比较著名的API集是POSIX(a portable operating system interface based on Unix),这是一个UNIX风格的操作系统界面。

由于API还没有完全标准化,且不完整,在许多情况下应用程序需绕过API界面直接访问系统硬件界面。一旦出现这种情况,则应用程序就不再是与底层的硬件与软件无关的了。 高级机器的体系结构 :

如果在定义API集时不仅仅是针对某些特定的应用程序,而是为所有的应用程序定义一个通用的API界面,并且保持这个界面的充分可扩展性,这样则可以真正地实现应用程序对于硬件的独立。这就是高级机器的体系结构(High-Level Machine Architecture) ,AS/400就是采用这种先进应用体系结构,在系统中为应用程序定义了完整的API集合,这个集可以不断的扩充,并且不允许应用程序绕过这个API界面去访问硬件界面,将这个API集称为TIMI(Technology-Independent Machine Interface),或简称为MI。

在八十年代初,AS/400的研制者,设计师们就预见到计算机技术的发展将会一日千里,用户对计算机需求也将永无止境,因此设计出来的计算机不是功能应如何齐全,实际上也不可能设计这样一个可永远满足用户需求的计算机,而是应设计一个无限灵活的计算机,它可以随时跟上计算机前沿的发展,容易接纳计算机领域的新技术,同时又不会丢掉老用户已有的投资,使升级后的计算机系统真正做到百分之百地兼容在旧系统上已开发的应用程序。这样的计算机才会经久不衰,具有生命力、竞争力。什么样的计算机才能达到这个要求呢,那就是满足这种要求的计算机,应该有一种高级的接口,这种接口既独立于硬件,又独立于软件,是一个逻辑上的(而不是物理上的)系统接口。任何新技术的添加,只是这种接口的延伸和接口内部实现的改变,而不会对使用这种接口的程序产生什么影响,这就是AS/400体系结构的设计初衷。TIMI技术就是这个高级接口的具体实现。

从上图可以看出TIMI层(以下简称MI层)是一个真正的独立层,它将OS/400,应用程序与MI层下方的硬件以及与硬件有关的软件(LIC层)完全隔离开来。底层硬件技术的更新完全被MI层下方的软件所吸收,不会对MI层上方软件产生影响,MI层上方软件可以不加任何改变,就可受益于MI层下方更新的硬件新技术。

MI层面实际上是为AS/400中所有应用程序和OS/400系统软件的接口作了一种形式化的定义,提供了一个完整的API集(APIs),所谓\"完整\"体现在任何一个MI层上方的应用程序或系统程序都不可能绕过这个APIs直接去访问MI层下方的软件和硬件。另外这个APIs是可以扩充的,可随时加入一些标准化组织(例如POSIX)指定的API,并且这种扩充是没有限制的。例如,在OS/400 V3R1中加入了支持Single UNIX Specification API的功能,这样一些UNIX的应用程序就可以被移植到AS/400上。当AS/400采用一些先进的硬件技术时,可能要修改或增加一些相关的API,修改也只是在MI层下方的实现。在MI层从不执行删除API这一操作,旧的API被完整的保留下来,正因为如此,一些十年前开发的应用程序可以不加任何修改地运行在当今AS/400系列计算机上,TIMI技术使得AS/400成为当今计算机领域中保护用户投资的典范。

MI层提供的APIs,我们称为MI指令。这些MI指令是不能直接执行的,要先将它们编译成机器指令,也不能将MI指令集算成一种高级语言,而应看做是高级语言编译之后生成的中间结果,如下图所示。

Figure 1-4. MI指令

MI指令的操作数有两类:立即数和对象(Object)。立即数即传统的位和字节操作数,对象是一种数据结构,是一个封闭的整体。在使用对象时,只有将对象视为一个整体进行操作的指令才是有效的。因此应用程序和MI上方的系统软件完全不必了解对象的内部细节(这些细节都被封装在对象内部,对外界透明),对象的内部细节有任何改变也不会影响到那些对其进行操作的MI上方软件,这就使得这些软件独立于底层的数据结构。

与常规的机器界面指令不同,在MI指令的操作数中虽保留了立即数,但却没有了寄存器,物理内存空间,I/O空间等概念,倒是多了对象这个些概念。在MI中定义了许多种对象类型,其中大部分都是一些结构复杂的数据结构。一个最重要的MI对象类型称为Space,Space可以简单的理解为一组与硬件无关的字节序列。当一个AS/400程序要使用内存时,它可以使用Space。例如,AS/400的编译器(Compiler)在创建一个程序模板(Program template)时,必须要把这个程序模板放在某一个地方,这时就把它放在一个Space中。

正是有了这种TIMI技术,使得AS/400可以最及时地采用计算机业界的先进技术,成为IBM公司展示自己新技术的橱窗。例如,AS/400是第一个采用4M位 ﹑16M位内存芯片,第一个采用N-Way处理器技术,第一个采用RAID-5磁盘保护技术,第一个采用光纤连结等。从CISC到PowerPC RISC处理器,寻址能力从48位到64位,不久的将来会扩展到128位,处理器芯片从Gobra到Apache到Northstar,处理器数量从1路到12路,几年来AS/400历经了几次大的硬件更新换代,但对原来的AS/400用户并没有带来什么冲击,相反却感觉到了AS/400新技术带来的性能上的巨大飞跃,用户一旦投资AS/400,就可以终身享受信息产业的新技术。在这一点上,同其它行业同类产品相比,AS/400是最具竞争力的。因为其它公司许多应用程序并没有完全独立于硬件,因此在硬件升级,尤其是芯片从CISC过渡到RISC结构时,这些程序需要重新改写,代价十分昂贵。例如DEC公司在推出Alpha芯片时有15%~20%的应用程序要重写。AS/400没有这种困扰,在AS/400从48位升级到64位时,好多应用程序甚至不需重新编译就可移植到新的AS/400上,AS/400是首家实现从硬件到操作系统到应用程序全部是64位的系统。由于AS/400的这种独特

的TIMI技术给AS/400所带来的良好的灵活性,可扩充性,兼容性, 因此我们有理由相信,无论计算机技术如何变化,AS/400都将永远保持它在业界的领先地位。

1.3.2 系统集成

集成是指将完成不同功能的程序模块集合在一个有机的整体中。在这个整体中除含有操作系统功能外还有网络通信功能,数据库管理功能,语言支持功能等。将它们作为一个整体来设计的优点是代码量少,执行效率高,安全性好,易于安装、维护和使用,同时也避免了功能上的重复和不同厂商产品之间的缝隙问题引起的一些争端。当然这种集成性所引起的不利因素也是有的,那就是系统的灵活性会有所下降。

AS/400是一个最典型的集成的商用计算机,它把计算机系统通常要用到的一些功能如网络通信功能,数据库管理功能,安全管理功能完全集成在AS/400操作系统中。这种集成系统的整体功能远远胜于各部分功能的简单迭加。使用各种功能的用户接口都是一致的,因此在AS/400上开发应用会节省更多的人力资源、财力资源。需要的维护人员也比其它计算机系统少,这是AS/400在业界获得成功原因之一。AS/400集成系统中含有对各种网络通信协议和通信设备的支持,如TCP/IP协议,异步传输控制协议(ASYNC),二进制同步传输协议(BSC),同步数据链路控制协议(SDLC),高级数据链路控制协议(HDLC),X.25协议等几乎所有目前在市场上流行的通信协议及各种网络通信适配器。AS/400支持几乎所有的TPC/IP应用,Internet应用。

在OS/400中还含有一个功能强大的数据库管理系统DB2/400,这是一个全功能的开放性的关系数据库系统,是IBM DB2家族中的一个成员,目前这个DB2/400已升级到DB2 UDB for AS/400,它除了支持原有DB2/400数据库中存储过程(store procedure),参照完整性(referential Integraty ),触发器(trigger),二阶段提交(two-way commitment)等重要功能外,还增加了对于多媒体信息,对象型DBMS,试算表,虚拟文件等方面的支持。另外在OS/400 V4R4版本中还增强了数据库查询性能,SQL连接能力,并行处理能力等。

Figure 1-7. AS/400功能划分

由于AS/400的操作系统是由OS/400与LIC组合而成,整个集成的系统所提供的功能根据其与硬件的关系不同,使用频率不同,对安全的要求不同而被分别放在不同的层面上。上图显示了各功能模块所处的位置。上图中可以看出,CL部分是直接面向用户的,完全处于MI上方;工作管理(work management)的职责主要是对作业的管理,与硬件关联不大,所以大部分位于OS/400中;设备管理部分有些和硬件关系十分密切,如设备的驱动程序等要放在LIC层,而那些对设备进行监控的部分放在OS/400中实现;安全部分虽然与硬件完全独立,但为了提供更高级别的安全保护,还是把它的大部分功能放到LIC层实现。此外有些功能与硬件并无多大关系,但对系统性能举足轻重,也将其放在LIC层实现。还有一些功能是分散在OS/400和LIC中的。由于数据传输部分与磁盘驱动方式和数据传输方式密切相关故在LIC中实现,文件定义部分与硬件无关在OS/400中实现,文件中的成员(member)定义与磁盘有一定关联在LIC中实现更好些。有些功能很难确定在LIC中还是在OS/400中实现更合适,AS/400总是尽可能地进行层次划分。

1.3.3 单级存储结构

AS/400又一特征就是它的存储管理方法。它采用了单级存储(Single-level store)结构对存储器进行管理。它将系统中所有的存储器,即所有主存(main storage )和辅存 (Auxiliary storage )看成是一个大的存储器,这个大存储器提供的存储空间相当于机器的寻址能力,从开始的48位寻址空间到今天的64位寻址空间,近几年内渴望实现128位寻址空间。这个诺大的虚地址空间给用户尤其是程序员带来了极大的方便,他们所面对的就是一个盛装对象(Objects)的大容器,只要知道了一个对象的名称和类型就可以访问这个对象,完全不必关心所访问的对象存放在哪个盘上,也不必考虑存储管理等繁琐问题。至于内外存之间信息如何交换以及为提高对象的访问效率而将一个对象的内容分散存放到几个硬盘上,对用户是完全透明的。

Figure 1-8. AS/400的单级存储结构

事实上,在MI上方的任何程序(包括OS/400,应用程序,编译器等)都看不到这个单级存储结构中的实存部分(内存和外存),呈现在他们面前的只是一个偌大的虚存, 每个AS/400 对象占用这个虚存中的一些虚地址。当用户使用对象的名字和类型访问它时,MI层上方的程序可以快速地将这个对象的名字映射成它的虚地址。由于MI层上方用户编程时,不再区分内存和外存,只是针对这个虚存编写程序,因此可使得编写程序所需的指令数目大大减少。当然,负责系统性能管理的人员用WRKSYSSTS命令或WRKDSKSTS命令还是可以看到一些关于磁盘的信息的,例如磁盘的使用率,忙闲情况,缺页率(page Fault)等。

对象总是要存储在磁盘上,并且在使用时需将其装入内存的。如何将对象的虚地址映射到磁盘上的实地址或内存的实地址是在MI层下方实现的。AS/400将内存分为大小相等的一些页面帧(page frame),在64位AS/400系统中,页面帧的大小为4096字节(4KB),存储在磁盘上的对象被划分为一个个大小与页面帧相等的页面(page)。一个大的对象由许多页面组成,这些页面在虚存中占用一些连续的地址,但在实际存放时,可能被分散到几个硬盘上,这样做可以提高对对象的读写速度。当处理机要访问的一个对象时,可以将该对象的部分页面从磁盘装入内存的页面帧中,MI下方的地址转换机构通过查询驻留在内存中的一个页表(page table)实现虚实地址转换,如果发现一个虚地址对应的页面不在内存中,就报告页故障(page fault),然后由内存管理程序负责将这个页面从磁盘调入内存。硬件在查询页表时使用的是Hashing算法。

总之,AS/400的单级存储结构不仅给编程用户提供了一个相当大的存储空间,同时也将用户从繁琐的存储管理中解放出来,减轻了用户负担,提高了工作效率。

在OS/400 V4R3及其以后版本中,已把AS/400的单级存储的单一地址空间由原来的内存、硬盘推广到磁带库,系统的存储管理功能可按用户自定义的规则,自动透明地管理分布在磁盘与磁带库中的数据。

1.3.4 AS/400硬件系统

AS/400是一个多CPU系统。一个系统处理器模块包含多个CPU,分别用于系统管理、内存管理、进程管理等,每个CPU都包含一个微内核,将多个CPU合起来作为一个处理器,通过微内核间的通讯可以平衡各个CPU间的工作量。现在的CPU采用Power Pc技术。

I/O采用I/O通道技术。I/O总线主要采用SPD总线标准,总线传输速率为266Mbps或1Gbps(对RISC机)。系统可以连接多达19条SPD总线,每条SPD总线最大可连接32个I/O设备。SPD总线可以是排线,也可以是光纤。排线采用32位data lines,4位parity lines,和若干位控制信息线。异步传输。而光纤则采用单线串行传输。

BCU (Bus Control Unit)主要用于控制SPD总线,负责总线仲裁、优先权判断等。IOBU(I/0 Bus Unit)实际上是一个IOP,负责处理所有的I/O功能,而且本身包含内存,实际上是一个微机系统,可以运行不同的操作系统(如,OS/2,Windows,WNT,DOS…)。如果把系统处理器也看作是一个IOP的话,那么系统中任何两个IOP都可以进行通讯,形成主-从多CPU系统。发起通讯的CPU为master,被呼叫的CPU为slave.任何两个IOP之间都可以进行消息传输。除消息操作以外,还可以进行存储器操作。存储器操作只能在主存和IOP内存之间进行,而不能在一个IOP内存和另一个IOP内存之间进行。存储器操作都采用DMA方式。

Figure 1-9. AS/400的硬件体系结构

总结:

AS/400之所以成为全球使用最广泛的中型商用计算机,一个重要的原因是其先进的体系结构能够不断地吸引融合最新的技术。本章主要介绍了AS/400的先进的体系结构-TIMI、集成性和单级存储技术,揭示了AS/400成功的奥秘。同时也对AS/400的特性和发展历史做了介绍。本章内容不在认证考试范围之内。

第二章 系统接口

有两种类型的AS/400用户接口,一种是字符界面的接口,通常称为绿屏(Green Screen)接口;另一种是在PC机上实现的图形用户接口(GUI) - Operations Navigator。

绿屏接口是OS/400传统的用户接口,在AS/400的字符终端上只能使用这种接口。在绿屏接口中,在命令一级用户可使用AS/400提供的两种接口访问系统功能:菜单(Menu)和CL(Command Language)命令。如果用户非常熟悉Windows X界面,希望也能像操作Windows界面一样对AS/400进行操作,而不必像在绿屏方式下需记忆太多的内容,就可以通过在PC机上使用

Operations-Navigator 功能来实现所求。通过Operations Navigator,用户完全可以用鼠标拖曳或点击方式实现对OS/400的控制和管理请求。本课程主要介绍前者的功能,后者的使用比较简单,几乎不作介绍。

本章内容是操作AS/400系统的基础入门知识,包括系统接口,CL命令和帮助功能等内容。

2.1 接口概述

2.1.1 System Operator Environment

系统操作员应该了解连接在系统上的每一个东西,并了解发生在系统上的所有活动。作为系统操作员,主要操作设备有控制台、磁带机及系统打印机。

对于AS/400系统,系统控制台System console不是一个特定的设备,而是离系统单元最近的一个工作站,系统操作员消息队列QSYSOPR分配给这个工作站,用于监视系统、回应消息及对设备(如系统打印机,磁带机等)进行操作。

系统操作员应该具有以下职责: 1.启动和停止系统。 2.是操作打印机的专家。

3.回答系统操作消息及来自其他用户的操作消息。 4.运行作业及监控作业。 5.诊断故障及处理故障。 6.定期备份系统。

Figure 2-1. System Operator Environment

2.1.2 Software Overview

Figure 2-2. Software Overview

Operating System (OS/400)

Operating System/400 (OS/400)

Figure 2-3. Operating System/400 (OS/400)

You can think of OS/400 as the brain of the AS/400 system. It is a group of system programs that control the overall operation of the AS/400 system. OS/400 is provided by IBM and comes pre-installed on your AS/400 system.

Although not all OS/400 functions are needed in every installation, the full range of functions is avaible on every AS/400 system.

Programming Support: AS/400 Languages

Programming Support: AS/400 Languages

Figure 2-4. Programming Support: AS/400 Languages

In addition to languages such as VisualAge for Jave and C++, and ILE RPG, C and COBOL, there are tools which aid in entering programs onto the system, designing screen displays and menus and setting up test files (IBM Application Development ToolSet for AS/400 (ADTS/400)), and assisting customers and IBM Business Partners in migrating AS/400 RPG and COBOL applications to the Year 2000 (BIM BYPASS2000 for AS/400).

Application Support

Application Support

Figure 2-5. Application Support

An application is a collection of software components that perform a particalur business task, such as inventory control or accounts receivable. Use og pre-developed applications can help make an AS/400 system productive more quickly.

There are a number of AS/400 applications provided by IBM for a separate charge (also referred to as Licansed Program Products (LPPS)) which can be installed in addition to a company's own applications. Some of the IBM-supplied LPPs follow:

Networking applications

——IBM communications Utilities for AS/400 provides for the interchange of mail and files and dsubmitting or receiving jobs between conneted system.

——Client Access Family for Windows provides a competitive suite of applications for following PC environments: A>AS/400 Client Access Family for Windows; B>AS/400 Client Access Family.

——BIM Firewall for AS/400 lets users in your own network use authorized resources that are located on the outside network and it keeps unauthorized users who are outside your network from using resources on your network.

——IBM Internet Connection Secure Server (ICSS) for AS/400 provides the security needed to send proprietary or confidential informaion over the Internet and corporate intranets. This enables sensitive online transactions, including electronic commerce, to be performed.

——Clien Access Family for Windows provides a competitive suite of applications. ——OS/2 Warp Server for AS/400 provides replacement for the previous LAN Server/400 product for file serving and pring serving, but it is not intended to be an application server.

Industry applications

——There are industry applications available for both general use and for specific industries provided by torh IBM and software vendors.

Database applications

——Intelligent Miner for AS/400. The Intelligent Miner is an integrated solution for larger scale, sophisticated analysis of data. It allows data analysts to harvest valuable information from databases and present it to business users for decision making.

——DataPropagator Relaional 5.1 automatically replicates data within and between DB2/400, DB2 MVS, DB2/2 Universal Database, DataJoiner, and Lotus Notes Pump making data available when and where it is needed.

——Query for OS/400 is available for pringting on-demand reperts.

System Management applications

——Backup Recovery and Media Services for AS/400 provides support for automated archive, backup and recovery.

——Performance Tools for AS/400 provides a set of reporting, analysis and modelling functions that assist an AS/400 user in managing AS/400 system performance.

——IBM Job Scheduler for AS/400 provides a full-function job scheduler and report distribution system on the AS/400 system.

——SystemView Managed System Services fot AS/400 provides central site dupport for remot AS/400 problem determination, packaging of Independent Software Vendor (ISV) applications for AS/400 Licensed Program management support and central site distribution and change management support for certain remote AS/400 systems.

Licensed Internal Code (LIC)

Licensed Internal Code

Figure 2-6. Licensed Internal Code

Licensed Internal Code is often referred to as LIC. It is provided by IBM and is pre-installed on your AS/400 system prior to the system being shipped.

除了了解连接在系统上的设备及如何操作它们之外,也应该熟悉系统软件(或程序)。如图

所示,在AS/400系统上主要有四类程序,从底层向上依次为:内码(LIC)、OS/400、编程支持及应用支持。上层程序建立在底层程序的基础上,即OS/400需要LIC,编程支持需要OS/400和LIC,应用支持需要LIC、OS/400及编程支持(多数情况下)。

2.1.3 Work with Licensed Programs

在命令行输入GO LICPGM命令,可以显示Work with Licensed Programs菜单。通过这个菜单选项,用户可以完成显示、安装、删除、保存、恢复特许程序及观察有关特许程序的历史信息,也可以处理第二语言(Seconday Language)和补丁程序(PTF)。

另一个用来标识和处理已安装许可程序的命令是DSPSFWRSC,这个命令允许观察,打印已经安装在系统上的许可程序,也可以将此命令的执行结果输出到一个输出文件(output file)中。

Figure 2-7. Work with Licensed Programs

2.2 传统用户接口

2.2.1 AS/400的屏幕显示

Menu

Menu Display:

Figure 2-8. Menu Display

菜单界面一般由标题(Title)、菜单名(Menu ID)、选项列表(List of options)、命令行(Command line)、功能键(Function keys)和消息行(Message line)组成。为了能够显示和使用某一个菜单,一种方法是可以通过在菜单中一级一级地选择,直到出现所需要的菜单;另一种方法是通过GO命令来显示菜单。例如为了显示Message菜单可以先在Main菜单中选择第三项General system tasks显示General菜单,然后在出现的General菜单中选择第四项Messages显示Message菜单,这种方法适用于不熟悉系统命令的用户;另外,可以直接在命令行上输入Go Message命令,这种方法适用于对系统命令和菜单较为熟悉的用户。

①菜单标题。

②菜单标识符。菜单是OS/400支持的一种对象,菜单标识符就是这个对象的名字,如果用户记住了某个菜单的标识符,就可以用GO命令直接进入这个菜单,否则需要从上层菜单进入这个菜单。

③菜单选项列表。不同的用户进入同一菜单中,由于他们的权限不同,可能会出现不同的菜单选项列表。

④命令提示行。在这里用户可以输入一个菜单选项,也可以键入一条CL命令。

⑤功能键。列出在这个菜单中用户可以使用的功能键,以便进行一些辅助操作。只有两行区域用来显示功能键描述,当显示不下时用F24可将其余的功能键显示出来。

在使用菜单的过程中有几个常用的功能键: F3=返回初始状态的菜单 F12=返回上一级菜单

F16=跳到系统主菜单,相当于执行Go Main命令 F23=将当前菜单设为用户的初始菜单

⑥消息行。位于屏幕的最低部,当系统需要与用户通信时,会将系统消息显示在这一行。例

如通知用户菜单选项或CL命令执行成功与否,出现了什么错误等。用户可用 F1 或 Page Down 功能键对消息做进一步的详细查看或向后翻看。 Entry

Entry Display:

Figure 2-9. Entry Display

Entry displays display information and prompt or allow a user to enter new information.

Title: The name of the entry display.

Default value: This is the value that the AS/400 assumes if no other value is entered into the field. The first time you use an entry display, the system fills in most of the fields with default values.

Blank field: This is a field into which you may have to enter a value. Some blank fields can be skipped.

Choices: Valid values that you can enter into the field.

Function keys: Keyboard keys that allow a user to select keyboard or programmer functions. These are sometimes called Active Function Keys. They are located at the bottom of the display and differ by display.

Message line: A line ate the bottom of the display which normally is blank or contains copyright information. If the system needs to communicate with a user, a message will be displayed on this line. List

List Display:

Figure 2-10. List Display

列表界面一般包括几个部分,标题(Title)、列表(List)、操作输入字段(Input filed)、命令行(command line)、功能键(Function keys)和消息行(Message line)组成。

①标题 (关于实体的描述)。

②操作选项列表,列出可对这些实体完成的操作。

③输入操作选项。可对任何一个实体,输入②中列出的某一个操作选项,请求系统对该实体实施这一操作。

④命令提示行。 ⑤功能键。 ⑥消息行。 Information

Information Display:

Figure 2-11. Information Display

这种显示格式主要用于显示大量的信息,以便用户查看。在这种显示格式中,用户只能按⑶提示的的一些功能键,但不能输入命令和选择操作选项。

①标题 ②信息 ③功能键

AS/400的屏幕显示格式:

绿屏接口是OS/400传统的用户接口,在AS/400的字符终端上只能使用这种接口。在绿屏接口中, 在命令一级用户可使用AS/400提供的两种接口访问系统功能: 菜单(Menu)和CL(Command Language)命令。系统的屏幕显示格式有四种: 菜单、 输入表项、 列表、信息。

1. 菜单(Menu)显示格式

菜单适合于AS/400的普通用户和初学者。每个菜单上有若干个菜单选项供用户选择。菜单界面一般由标题、菜单名、选项列表、命令行、功能键和消息行组成。 参考图

Menu Display:

Figure 2-8. Menu Display

菜单界面一般由标题(Title)、菜单名(Menu ID)、选项列表(List of options)、命令行(Command line)、功能键(Function keys)和消息行(Message line)组成。为了能够显示和使用某一个菜单,一种方法是可以通过在菜单中一级一级地选择,直到出现所需要的菜单;另一种方法是通过GO命令来显示菜单。例如为了显示Message菜单可以先在Main菜单中选择第三项General system tasks显示General菜单,然后在出现的General菜单中选择第四项Messages显示Message菜单,这种方法适用于不熟悉系统命令的用户;另外,可以直接在命令行上输入Go Message命令,这种方法适用于对系统命令和菜单较为熟悉的用户。

①菜单标题。

②菜单标识符。菜单是OS/400支持的一种对象,菜单标识符就是这个对象的名字,如果用户记住了某个菜单的标识符,就可以用GO命令直接进入这个菜单,否则需要从上层菜单进入这个菜单。

③菜单选项列表。不同的用户进入同一菜单中,由于他们的权限不同,可能会出现不同的菜单选项列表。

④命令提示行。在这里用户可以输入一个菜单选项,也可以键入一条CL命令。

⑤功能键。列出在这个菜单中用户可以使用的功能键,以便进行一些辅助操作。只有两行区域用来显示功能键描述,当显示不下时用F24可将其余的功能键显示出来。

在使用菜单的过程中有几个常用的功能键: F3=返回初始状态的菜单 F12=返回上一级菜单

F16=跳到系统主菜单,相当于执行Go Main命令 F23=将当前菜单设为用户的初始菜单

⑥消息行。位于屏幕的最低部,当系统需要与用户通信时,会将系统消息显示在这一行。例

如通知用户菜单选项或CL命令执行成功与否,出现了什么错误等。用户可用 F1 或 Page Down 功能键对消息做进一步的详细查看或向后翻看。

为了能够显示和使用某一个菜单,一种方法是可以通过在菜单中一级一级地选择,直到出现所需要的菜单选项;另一种方法是通过GO命令来显示菜单。

有几个重要的菜单是系统工作人员经常使用的,即: MAIN,SYSTEM,ASSIST,USER 。

常用菜单:MAIN,SYSTEM,ASSIST,USER

MAIN菜单 是所有菜单的主索引菜单,在这个菜单中可以通过菜单选项,直接或间接的进入到OS/400的任何一个菜单中;也可以在其它菜单中,按F16功能键返回到这个菜单。

Figure 2-12. Main Menu

SYSTEM菜单 提供了系统操作员在对系统进行管理时所需要的大部分功能。

Figure 2-13. System Menu

USER菜单 中,用户可以完成自己的一些日常工作,如:监控自己的作业,处理消息,改变自己的用户描述和口令等。

Figure 2-14. User Menu

ASSIST菜单 也称为OA(Operational Assistant)菜单,这是一个适用于所有用户和系统操作员的菜单,它提供了OS/400的大部分通用功能,系统操作员在这个菜单中除了可以完成日常系统管理任务外,还可以设置一些让系统自动按时间表执行的任务,如自动按规定时间启机

(IPL)、关机、清除磁盘垃圾(Cleanup),备份磁盘数据(Backup)等。

Figure 2-15. Assist Menu

AS/400还提供一个特殊的菜单—— 系统请求菜单(System Request Menu) 可以用来完成用

普通用户使用较多的菜单是USER。

户工作过程中的临时任务,如显示当前作业、发送消息、显示系统中的用户等。该菜单可以通过 Shift(or Alt) + Sys Req 或 Enter 进行访问。

统请求菜单

Figure 2-16. System Request Menu

当一个作业由于某种原因导致正在运行的程序不能被中断时,可用这种System Request功能暂时中断作业的执行,进入System Request菜单,进行相应的处理。例如,终止作业发出的请求;查看当前作业的详细信息;查看系统是否有消息发出,是否正在等待用户去回答某一消息(这可能是当前请求没有结束的原因);将控制切换到另一个系统的作业中去等。

其中菜单选项1可以使系统显示一个注册画面(Sign On), 在同一个终端上再创建一个作业,这样就可以在一个终端上创建两个作业,它们各自在不结束对方作业的前提下交替执行自己作业。

在使用菜单的过程中有几个常用的功能键: F3:返回初始状态的菜单 F12:返回上一级菜单

F16:跳到系统主菜单,相当于执行Go Main命令 F23:将当前菜单设为用户的初始菜单

在使用菜单的过程中有几个常用的功能键: F3=返回初始状态的菜单 F12=返回上一级菜单

F16=跳到系统主菜单,相当于执行Go Main命令 F23=将当前菜单设为用户的初始菜单

2. 输出表项(Entry)显示格式

在这种显示格式中,会有许多下划线,只有光标处于下划线上方,用户的键盘输入才会有效,这种显示格式主要用于提示用户输入一些数据,最常见的是输入某一条CL命令的参数值。 参考图

Entry Display:

Figure 2-9. Entry Display

Entry displays display information and prompt or allow a user to enter new information.

Title: The name of the entry display.

Default value: This is the value that the AS/400 assumes if no other value is entered into the field. The first time you use an entry display, the system fills in most of the fields with default values.

Blank field: This is a field into which you may have to enter a value. Some blank fields can be skipped.

Choices: Valid values that you can enter into the field.

Function keys: Keyboard keys that allow a user to select keyboard or programmer functions. These are sometimes called Active Function Keys. They are located at the bottom of the display and differ by display.

Message line: A line ate the bottom of the display which normally is blank or contains copyright information. If the system needs to communicate with a user, a message will be displayed on this line.

3. List显示格式

这是一个类似于二维表格的显示格式,在这个表格中的每一行表示一个实体,每一列表示实体的某一属性值。 参考图

List Display:

Figure 2-10. List Display

列表界面一般包括几个部分,标题(Title)、列表(List)、操作输入字段(Input filed)、命令行(command line)、功能键(Function keys)和消息行(Message line)组成。

①标题 (关于实体的描述)。

②操作选项列表,列出可对这些实体完成的操作。

③输入操作选项。可对任何一个实体,输入②中列出的某一个操作选项,请求系统对该实体实施这一操作。

④命令提示行。 ⑤功能键。 ⑥消息行。

4. Information显示格式

这种显示格式主要用于显示大量的信息,以便用户查看。在这种显示格式中,用户只能按提示的的一些功能键但不能输入命令和选择操作选项。 参考图

Information Display:

Figure 2-11. Information Display

这种显示格式主要用于显示大量的信息,以便用户查看。在这种显示格式中,用户只能按⑶提示的的一些功能键,但不能输入命令和选择操作选项。

①标题 ②信息 ③功能键

2.2.2 Control Language Command

Control Language

Control Language

用户和系统通过一种特殊的语言进行交流,控制语言(Control Language),也称为CL命令。CL命令可以通过用户在命令行执行,也可以包含在一个程序中;CL命令可以交互式执行也可以采用批处理执行。

Control Language Command structure

CL command Structure

Figure 2-17.Command Syntax

每一条CL命令都是由两部分组成:操作和操作的接受者,是典型的动词+宾语结构。大部分CL命令还需要一些参数,参数个数少则为零,多则几十个(最多75个)。

Figure 2-18.AS/400 Commands

动词一般缩写成三个字母,通常将动词中元音字母或不发音字母去掉,如create 缩写成

CRT。宾语为名词或名词短语,一般将其缩写成1 ― 7个字母,如Physical File 缩写成PF。这样用户只要记住某一项操作的动词与名词的缩写就能写出这条CL命令,如 CRT PF就是一条CL命令。

Where to enter a command

Where to enter a command

Figure 2-19. Where to Enter a Command

可在命令行或Command Entry界面上输入命令。通常在命令行上输入命令比较方便。而Command Entry常用于查看并重复执行以前输入的命令。

CL Command prompting

CL Command prompting

Figure 2-20. Command prompting

由于一些CL命令的参数较为复杂,初学者不一定能够记住所有的参数,系统提供了使用参数提示的两种方法。用户可以在输入命令后按F4功能键或在所输入的命令前加?符号,都可以出现参数提示。

图中④为参数值输入区,每一下划线上只能输入一个参数值。②为参数的有效值列表,当有效值很多,一行显示不下时,后面会有省略号,将光标置于此参数按F4键,就会将该参数的所有有效值列出。③为多值参数,由于每个下划线上只能键入一个参数值,当一个参数可以有多个值时,在该参数的下一行下划线旁会出现多值提示,此时在该下划线上输入一个'+'字符,回车后系统就会弹出一个具有多个下划线的窗口,在这里可以输入若干个需要的参数值。

在参数提示格式中输入CL命令参数值时常用的一些功能键如下: F1-对命令参数或参数值提供帮助。 F4-列出参数的所有有效值。

F5-刷新屏幕。清除所有输入的参数值。

F9-列出命令的所有参数。有些命令参数很多,在提示格式中只列出一些常需要用户输入值的参数,其它参数系统取省缺值,如果你不想使用省缺值,就用这个功能键。在CL命令提示行中的F9还具有抓取以前键入的CL命令的功能。

F11-激活/取消 参数的关键字显示。

Function key: F11

Function Key: F11

Figure 2-21. F11: Keywords or Choices

You can display either KEYWORDS or CHOICES on a command entry display. Your user profile controls the format, either choices or keywords, that is used when you initially prompt for any command. After you have propmted for a command, F11 serves as a toggle from one format to the other.

Conditional Parameters

Conditional Parameters

Figure 2-22. Conditional Parameters

Some commands have conditional parameters. These parameters are \"conditioned\" by the entry of certain predefined values for specific standard or additional parameters. The prompts for conditional parameters are displayed automatically, bue only after the conditioning parameter has been typed and Enter has been pressed.

Free Format Method

Free Format Method

Figure 2-23. Free Format Method

用户可以直接在命令后输入相关的参数,输入时可以关键字格式,如:DSPOBJD OBJ(account) objtype(*file) detail(*full) output(*print);也可以通过位置确定参数,如:DSPOBJD account *file *full *print。在使用后一种方法时,如果参数为空应使用*符号占用相应的位置。

Call QCMD

Call QCMD

Call QCMD + Enter

Figure 2-24. QCMD-1

Press F10

Figure 2-25. QCMD-2

Position the cursor on the command to be retrieved and press F9(Retrived).

Figure 2-26. QCMD-3

如果用户只想使用CL命令接口,不想使用菜单接口,可以执行一个程序QCMD,即CALL QCMD。

按F10键,自登录后输入的所有CL命令都会显示在屏幕上方的空白处。

若想重复使用某一条命令,把光标置于那一条命令上,按F9键。

How to find a command

How to find a command

Figure 2-27. How to Find a Command

为了使用户能够快速地找到所需的命令,系统提供了多种的方法查找命令。MAJOR菜单提供了系统中所有参数的分类,用户可以通过MAJOR菜单搜索所需的命令。另外系统还根据不同的对象、不同的操作提供了各种分类菜单,如查找与库有关的命令可以通过调用CMDLIB菜单,查找与创建有关的命令可以通过CMDCRT菜单。

Special Characters and Function Keys

Special Characters and Function Keys

Special Characters

& Increase length + add after > insert < delete

Function Keys

F1 Help F3 Exit F4 Prompt F5 Refresh F9 All Parameters F10 Additional Parameters F11 Keyword/Choices F12 Cancel F13 How to use this diaplay F14 Command String F15 Error Messages F16 Command Commplete F24 More Keys

命令是AS/400和使用者之间联系的一种方式。在OS/400系统中,大约有1500多条CL命令。命令虽然很多,但很有规则,几乎每一条CL命令都是由两部分组成:操作和操作的接受者,是典型的动词+宾语结构。 命令的结构见图

CL command Structure

Figure 2-17.Command Syntax

每一条CL命令都是由两部分组成:操作和操作的接受者,是典型的动词+宾语结构。大部分CL命令还需要一些参数,参数个数少则为零,多则几十个(最多75个)。

Figure 2-18.AS/400 Commands

动词一般缩写成三个字母,通常将动词中元音字母或不发音字母去掉,如create 缩写成

CRT。宾语为名词或名词短语,一般将其缩写成1 ― 7个字母,如Physical File 缩写成PF。这样用户只要记住某一项操作的动词与名词的缩写就能写出这条CL命令,如 CRT PF就是一条CL命令。

参数值的输入方式:

(1)关键字格式(Keyword Form)。

CL命令的每一参数都用该参数的关键字(参数值)格式给出。 (2)位置格式(Positional Form)。

这种格式只需要给出参数值,不用输入关键字,但参数值的顺序不能颠倒。

CL命令的参数大部分都有缺省值,如果某一参数的值为缺省值,可在此位置上用*N表示。 (3)参数提示格式(ParameterPrompting)。

这是用户最常使用的参数值输入格式,它不需要用户去记忆参数的关键字或参数值的前后顺序。当键入CL命令并按F4功能键后,系统就会进入参数提示屏幕,这时只需按照系统提示,键入参数值就可以了。 参考图

CL Command prompting

Figure 2-20. Command prompting

由于一些CL命令的参数较为复杂,初学者不一定能够记住所有的参数,系统提供了使用参数提示的两种方法。用户可以在输入命令后按F4功能键或在所输入的命令前加?符号,都可以出现参数提示。

图中④为参数值输入区,每一下划线上只能输入一个参数值。②为参数的有效值列表,当有效值很多,一行显示不下时,后面会有省略号,将光标置于此参数按F4键,就会将该参数的所有有效值列出。③为多值参数,由于每个下划线上只能键入一个参数值,当一个参数可以有多个值时,在该参数的下一行下划线旁会出现多值提示,此时在该下划线上输入一个'+'字符,回车后系统就会弹出一个具有多个下划线的窗口,在这里可以输入若干个需要的参数值。

在参数提示格式中输入CL命令参数值时常用的一些功能键如下: F1-对命令参数或参数值提供帮助。 F4-列出参数的所有有效值。

F5-刷新屏幕。清除所有输入的参数值。

F9-列出命令的所有参数。有些命令参数很多,在提示格式中只列出一些常需要用户输入值的参数,其它参数系统取省缺值,如果你不想使用省缺值,就用这个功能键。在CL命令提示行中的F9还具有抓取以前键入的CL命令的功能。

F11-激活/取消 参数的关键字显示。

有时候用户要请求系统完成一项功能而又记不住该功能对应的CL命令,怎样才能快速查找到这条CL命令呢?OS/400中提供了许多菜单供用户查找CL命令用。这些菜单的Menu ID一般都是CMD开头。例如,所有的Create命令都可在 CMDCRT 菜单中找到,用户可以在CL命令提示行中键入 GO CMDCRT 或CRT* 进入到这个菜单。若要查找与FILE有关的CL命令,可进入CMDFILE菜单。另外有一个菜单MAJOR是所有CL命令菜单的主索引菜单,从这个菜单入手可找到所有的CL命令。 参考图

How to find a command

Figure 2-27. How to Find a Command

为了使用户能够快速地找到所需的命令,系统提供了多种的方法查找命令。MAJOR菜单提供了系统中所有参数的分类,用户可以通过MAJOR菜单搜索所需的命令。另外系统还根据不同的对象、不同的操作提供了各种分类菜单,如查找与库有关的命令可以通过调用CMDLIB菜单,查找与创建有关的命令可以通过CMDCRT菜单。

2.2.3 OS/400帮助功能

For a list display, you can position the cursor anywhere within a column and press the Help key(F1) to cause help information for just that column to be displayed.

How to use HELP

HOW TO USE HELP

Online help information is part of OS/400 and, thus, is avaible to all system users. It can be viewed from any OS/400 provided display by predding the Help key (F1).

Following online help ingormation is avaible for all displays: 1)What the display is used for; 2) How to use the display; 3) How to use the command ling, if there is one; 4) How to use input fields, if there are any avaible; 5) Which function keys are active and what they do.

Help is also avaible for menu option, command parameters and columns on list diaplsys. To see the help avaible for a menu option, sype an option and then press the Help or position the sursor on a menu option and press the Help key.

What you see when you press the Help key generally depends on where the cursor is positioned when the key is pressed. This method of providing help is said to be cursor position sensitive.

把光标放在你想显示帮助信息的地方,按F1键就可以看到相应的帮助信息。

通过功能键F1,用户可以获取如下一些帮助功能:

1. 通用帮助(General Help)。

对整个当前菜单,或整个CL命令进行帮助。 参考图 通用帮助(General Help):

Figure 2-28. General Help

2. 字段帮助(Field Help)。

对光标所在位置的当前字段进行帮助,这个字段可以是一个菜单选项,一个命令参数值,一个实体的属性,一个操作选项,或一段错误消息的简单表示等。

3. 超级文本帮助(Hypertext Help)。

在帮助屏幕显示格式中,如果有一些名词或名词短语是高亮度显示,表示这是一个链接指针,它指向另一段更详细解释这个名词的文本信息,用户可将光标移到这个名词上按Enter键进入下一屏,进行更详细的了解。

4. 阅读书籍。

在OS/400种有一个程序Infoseeker,它是IBM BookManager READ产品家族在OS/400上的一个实现。用户在购买AS/400计算机时,往往只收到很少的几本联机手册,大部分书籍存储在CD-ROM的软拷贝库中,使用 RSTSHF(Restore Book Shelves)CL命令,可以将CD-ROM中的电子书籍安装在AS/400的硬盘上。为查阅方便,这些书以电子书架(BookShelves)方式组织起来。PC机用户也可以通过点击方式来直接阅读这些存放在CD-ROM上的AS/400电子书籍。

执行Infoseeker程序,用户可以打开OS/400中的一个电子书架,然后再打开电子书架上的一本书进行阅读。还可以进行超级文本方式查询,或打印某一个标题及内容。另外用户也可建立自己的电子书架,将一些常访问的书放到这个书架中。由于字符终端上不能显示书中的图片,这时会在屏幕上出现图片超级文本提示,用户可将这个标题打印出来,以便查看该图,也可以将含有该书的CD-ROM放在PC机中进行阅读。

2.3 OS/400 的GUI接口

2.3.1 OS/400 的GUI接口

Figure 2-29. GUI Interface

通过Operations Navigator,用户可以用鼠标拖曳或点击方式实现对OS/400的控制和管理请求

如果用户非常熟悉 Windows 95/NT 界面,希望也能像操作 Windows 界面一样对AS/400进行操作,而不必像在绿屏方式下需记忆太多的内容,就可以通过在PC机上使用

Operations-Navigator 功能来实现所求。通过 Operations Navigator 用户完全可以用鼠标拖曳或点击方式实现对 OS/400 的控制和管理请求。

Operations Navigator 最初是嵌入在 Client Access for Windows 95 V3.1.1中的,它要求OS/400版本应在V3.2以上。最初的 Operations Navigator 只能完成部分 OS/400 的功能,许多用户请求还需在绿屏接口中实施。随着 Client Access for Windows 95/NT 及 OS/400 的版本的升级, Operations Navigator 中可以实现的 OS/400控制功能越来越多, 而且厂商对它的支持也在不断增强。尽管如此, Operations Navigator 还是不能百分之百的完成绿屏接口所能实现的功能。有些特殊功能,如配置 DNS Server 或图形化显示数据等任务只能在 Operations Navigator 中操作不能在绿屏接口中实现。

在 Client Access for Windows95/NT V3R2M0 版本中,Operations Navigator 可以实现的功能:

Figure 2-30. Client Access for Windows 95/NT V3R2M0

2.4 常用命令

2.4.1 常用命令

总结:

本章内容是AS/400操作的入门知识,在全面了解的基础上重点掌握以下内容: 1. 命令的结构、组成规律,命令的提示(F4、F10、F9),参数格式、命令的查找方法。 2. 了解24个功能键,并重点掌握F1、F3、F4、F5、F9、F10、F11、F12、F16及F23功能键的使用。

3. 学会系统帮助功能的使用。在AS/400系统上,帮助键(F1)是对光标敏感的,在任何需要帮助的地方都可以用F1。

4. 掌握两个菜单的使用:System Request 菜单1-7选项的使用,Operational Assistant(OA)的功能及使用。

5. 用GO LICPGM命令显示The Work with Licensed Programs菜单,在此菜单上用户可以完成许可程序的显示、安装、保存、恢复和观察历史信息等操作。

模拟练习测试: 1. How many different jobs can you run by using the System Request Menu? 2. Which of the following commands are correct? A. DSPLIB LIB(PAYLIB) OUTPUT(*PRINT) B. DSPLIB PAYLIB *PRINT C. DSPLIB LIB(PAYLIB) *PRINT

D. DSPLIB PAYLIB OUTPUT(*PRINT) 3. On a command line , keying a question mark(?) and pressing Enter, or using Function key 4 will A. show you a menu from which you can search for a command B. cause an error C. show you the general help D. text E. show you the valid function keys 4. When an error message is displayed, you may move the cursor to it and press the Help key to A. take a default reply to the message B. remove the message C. send a copy of the message to the system operator D. see additional information about the error 5.Which function key is used to refresh? A. F7 B. F8 C. F9 D. F5 6. After you input CPYF in the command line, which function will you use to input its parameters? A. F1 B. F3 C. F12 D.F4 7. OS/400 standard help function key is A. F1 B. F4 C. F9 D. F12 8. While you display your message, there is a “+”sign under one message, you should do which of the following to see the whole of it? A. DSPMSG msgq B. Put cursor to the message and press PageDown C. WRKJOB D. Press F1 9. Which function key is used while user wants to exit current menu and

return to previous one, or cancel typing? A. F1 B. F12 C. F9 D. F4 10. How to interrupt a job and see system operator message? A. DSPSYSMSG B. Using system request option 6 C. Sign off and sign on D. DSPMSG

第三章 消息处理

消息机制是AS/400最重要的通信手段。无论是工作站之间的通信,工作站与系统程序或应用程序之间的通信都是通过消息机制来实现的。在AS/400计算机系统中,发送的消息总是被送往消息队列中等候处理,直到用户处理完毕将消息删除。有了消息队列,即使用户不在机器上工作,消息也不会丢失,也不必对到来的消息做即刻处理。

本章介绍了信息队列等有关概念和怎样发送、查看、删除和答复信息。

通过本章学习,要求掌握发送,查看、删除、答复消息的方法,理解信息队列的概念和作用,并能够指定其传送模式。

3.1 消息

消息机制是AS/400最重要的通信手段。无论是工作站之间的通信,工作站与系统程序或应用程序之间的通信都是通过消息机制来实现的。在AS/400计算机系统中,发送的消息总是被送往消息队列中等候处理,直到用户处理完毕将消息删除。有了消息队列,即使用户不在机器上工作,消息也不会丢失,也不必对到来的消息做即刻处理。

本章介绍了信息队列等有关概念和怎样发送、查看、删除和答复信息。

通过本章学习,要求掌握发送,查看、删除、答复消息的方法,理解信息队列的概念和作用,并能够指定其传送模式。

3.1.1 Types of Messages

A message is a communication sent from a person or program to another person or program.

There are two types of message: Informational -Not requires Reply

◇Manufacturing program completed successfully. ◇System shutdown at 9:00 PM. Inquiry -Requires Reply

◇Are you finished with the report? ◇Do you have Licensed Program tape?

◇Verify alignment on device PRT01. (I C G N R)

名词解释:

Types of message: Information:

These messages do not require a reply. The AS/400 system knows that an informational message was sent by the informational identifier(*INFO) you specify when you send the message. Inquiry:

An inquiry message requires a reply. It may also contain information. The AS/400 system knows that an inquiry message was sent by the inquiry identifier(*INQ) you specify when you send the message.

在AS/400系统上,工作站用户之间,系统操作员和工作站用户之间,程序和工作站用户之间都是用消息进行通信的。

作为系统操作员,经常发送两种类型的消息:

信息型(Informational): 这类消息是不需要回答的。发送方只是把一定的信息告诉对方。在发送此类消息时,应设定类型标志符为*INFO。

询问型(Inquiry): 此类消息是需要接受方回答的,发送方根据收到的应答再决定下一步的活动。在询问型消息中,也可以携带有信息型消息。询问型消息的标志符为*INQ。

发送消息的每个命令都有参数(MSGTYPE)来控制消息的类型。默认情况下,发送的是信息型(*INFO)消息。

3.1.2 Where Messages Come From

Figure 3-1. Where Messages Come Form

Messages can come from:

Other users (including the system operator) System programs Application programs

用户之间、系统操作员与用户之间、应用程序和系统系统程序与用户之间都是用消息进行通信的。发送到用户的消息可能来自于:其他用户(包括系统操作员),系统程序,应用程序。如图所示来自系统操作员、系统程序及应用程序的信息型消息;来自其他工作站的询问型消息。

3.1.3 What Is a Message Queue

Figure 3-2. What is a Message Queue?

Message are always sent to message queue. A message queue is similar to a mailbox.

消息不是直接发送给用户或终端的,而是发到用户或终端的信息队列里。消息队列是一种类型的对象,类型标识符为*MSGQ。信息队列的作用就如邮箱一样。邮箱先保存邮件直到收信人有空领取。消息队列的作用也一样,也许接受方无法立即读取消息,所以消息先发到消息队列里保存起来直到被读取。

3.1.4 How Messages Queue Are Created

Figure 3-3. How Message Queues Are Created

A message queue can be created whenever:

1 A workstation (display) is described (device description is created) 2 A user (profile) is described (created) 3 IBM supplied

4 using CRTMSGQ command

1. A workstation (display) is described (device description is created)

A workstation message queue is automatically described to the AS/400 system at the same time a workstation (or display) is described to the system with the Create Device Description (CRTDEVDSP) command. A workstation message queue is created for each display configured on the AS/400 system. The message queue name is the same as the display name.

2. A user (profile) is described (created)

A user message queue can be specified when a user profile is created with the Create User Profile (CRTUSRPRF) command. A user message queue exists for each user profile. The name of the user message queue is the same as the user profile name unless it is specified differently. A user message queue is created the first time a user signs on the system.

3. IBM supplied

The system operator message queue (QSYSOPR) is supplied as part of OS/400. When the system is configured the first time, QSYSOPR is created.

4. using CRTMSGQ command

Message queues can be created by system implementers with the Create Message Queue (CRTMSGQ) command.

消息队列可通过下面的途径创建:

1.随终端的描述文件一起生成 当用CRTDEVDSP命令建立设备描述文件时,系统会自动为终端生成一个与终端同名的消息队列。

2.随用户描述文件一起生成 当用CRTUSRPRF命令建立用户描述文件(UserProfile),指定用户的消息队列,系统会自动为用户配置一个消息队列。若非特别指明,此消息队列与用户同名。指定的用户消息队列在用户第一次登录系统是被创建。

3.随操作系统OS/400一起提供 系统操作员消息队列QSYSOPR是在系统初次配置时由系统自动创建的。

4.用CRTMSGQ命令创建 用CRTMSGQ命令创建的消息队列不与任何指定用户或工作站相关,它是用来满足应用需求的。例如,图所示的ARDEPT队列作为艺术部门保留消息用。

3.1.5 Sending A Message

Sending an informational or inquiry message:

Figure 3-4. Sending an Informational or Inquiry message

Sending and Displaying Messages:

Figure 3-5. Sending and Displaying Messages

SNDMSG Using SNDMSG command to Send an informational or inquiry message:

Figure 3-6. SNDMSG

重要参数解释:

TOUSR: 指定发送给哪个用户 TOMSGQ: 指定发送给哪个消息队列

MSGTYPE: 指定发送消息的类型。*INFO为信息型,*INQ为询问型。 RPYMSGQ: 若发送询问型消息,则此参数指定接收回答信息的消息队列。

任何用户都可以用SNDMSG命令来发送信息型或询问型信息给: ◇ 一个或多个用户消息队列 ◇ 一个或多个工作站消息队列 ◇ 所有当前活动的用户

◇ 系统操作员消息队列(QSYSOPR)

◇系统历史日志(QHST),QHST包含所有系统活动的信息,如作业的运行及中止、设备状态、错误检测等.

在用SNDMSG命令时必须指定TOUSR或TOMSGQ参数,但不可两个参数同时指定。信息型消息(*INFO)一次最多可发到50个消息队列里。询问型消息(*INQ)只可一次送给一个用户或终端。RPYMSGQ参数用来指定应答消息被送的队列。默认下,其应答信息发回到发送方的工作站消息队列里。

用DSPMSG命令显示消息,参数为MSGQ(*WRKUSR)时,先显示工作站消息队列中的消息,再按回车键时才显示用户的消息,若工作站消息队列中没有消息,则直接显示用户消息。参数为MSGQ(*WRKSTN)时,仅显示工作站消息队列中的消息。在参数MSGQ中可指定想查看的消息队列名。

用DSPMSG命令去查看消息队列时,对需要回答的消息在应答线上输入回答信息,消息处理完后,可用相应的选项(Option)或功能健将其删除。但只有获得该消息队列的作业才允许做消息删除操作。消息队列任何时候只能被分配给一个作业。

3.1.6 Sending a Break Message

A break message temporarily interrupts one or more user's current jobs and displays the message directly on their displays.

Figure 3-7. Sending a Break Message Messages

SNDBRKMSG

用SNDBRKMSG命令来发送中断消息。特别注意的是:参数TOMSGQ中的值*ALLWS表示向所有工作站消息队列发送此消息。

Figure 3-8. SNDBRKMSG

中断消息会打断用户的当前工作并直接显示在屏幕上。例如,系统操作员可以通过中断消息来告知其他用户一些重要消息(如系统将在10分钟后重启)。因为中断消息会打断用户的当前工作,所以只当有重要消息发送时才可使用。

用SNDBRKMSG命令可向一个或所有的工作站消息队列(*ALLWS)发送信息型或询问型的中断消息,但不能发到用户消息队列里。在有用户登录的工作站上,消息直接显示在屏幕上;若当前没有用户登录,消息会先保存在消息队列中,一旦有用户登录会自动显示在屏幕上。

3.1.7 How Messages Are Displayed

Figure 3-9. How Messages Are Displayed

消息显示方式:

1.用户消息队列和工作站消息队列可以通过DSPMSG或WRKMSG命令或OA采单的选项3查看。

2.中断消息会打断用户当前作业直接显示在屏幕上。消息可以是信息型或询问型。它常常是系统操作员或其它工作站用户所发送。

3.消息行是系统或应用程序与您进行通信的地方。消息行接收的消息告诉你关于作业或系统状态及用户错误,或需要你响应。为了获得附加的消息,可以将光标移到包含消息的行上,按帮助键或F1

3.1.8 Removing Messages

Assistance Levels

Assistance Levels

Figure 3-12. Assistance Levels

Assistant level决定用户与系统交流时所得到的帮助信息的多少。可通过F21键来选择assistance level为*BASIC或*INTERMED,但并不是所有界面下F21键都是激活的。

以下命令支持F21键: DSPMSG - Display Message WRKMSG - Work with Message WRKUSRJOB - Work with User Jobs WRKSPLF - Work with Spooled Files WRKWTR - Work with Writers

WRKCFGSTS - Work with Configuration Status WRKUSRPRF - Work with User Profiles

*BASIC Assistance Level

Figure 3-10. WRKMSG

From the Work with Messages (WRKMSG) display shown on the visual, you can: 1. Remove one message at a time:option 4 2. Remove all messages not needing a reply:F16

*INTERMED Assistance Level

Figure 3-11. DSPMSG

You will see the Display Messages display when you run the WRKMSG or DSPMSG command. You can:

1. Remove one message at a time:F11

2. Remove all except unanswered messages:F16

消息会一直保留在消息队列里直到被删除。如果积累太多消息,会占用大量系统存贮。所以用户应即时删除无用的消息。

在*BASIC Assistance Level下:

进入WRKMSG的界面后,可用以下方法删除消息: 1.删除某条特定的消息

在所要删除的消息前按选项4再回车。 2.删除所有信息型消息 按F16键。

在*INRTERMED Assistance Level下:

运行WRKMSG或DSPMSG命令都会出现Display Message的界面: 1.删除一条消息

把光标置于所要删除的消息上,按F11. 2.删除所有消息(除了未答复消息) 按F16键。

3.1.9 Message Queue Modes

Figure 3-13. Message Queue Modes

Each message queue has a delivery mode that describes how you will be notified of messages.

There are four different delivery modes: *BREAK *BREAK

interrupts your work and the message is shown on the display. *NOTIFY *NOTIFY

for an interactive job, lets you know when a message arrives on your message queue by turning on your Message Waiting Light, sounding your display station alarm, or both. ( This is the way you normally will receive messages at your workstation.) *HOLD *HOLD

stops the system from notifying you that you have a message on your message queue. The messages are held in the message queue until a user or program requests them. *DFT *DFT

answers any messages requiring a reply with the default reply set up for the message. Information-only messages are ignored. The message is not put on your message queue unless you are the system operator.

消息到达消息队列后,怎样处理这条消息呢,是马上中断用户的工作,在显示屏上显示该消息;还是提示一下用户,但不中断用户的工作;还是不做任何处理。这是由消息队列的一个属性:

交付模式(Delivery Mode)来决定的。

消息队列的发送模式有:

*BREAK -打断用户当前工作,消息直接显示在屏幕上。

*NOTIFY -一旦消息队列接收到消息则在用户屏幕上设置相应的标志或打开工作站上的消息等待灯或发出相应的警告声。(用户一般使用这种模式来接收消息。)

*HOLD -接收到消息后不作任何提示,而是将其保存在消息队列里等待用户查看。 *DFT -对于接收到的询问式消息自动以该消息的缺省值回答,对接收到的信息式消息则忽略。除系统操作员外其他用户的消息在这种模式下不被放入消息队列。

当设备描述文件、用户描述文件或用户的消息队列建立时,相应的消息队列的发送模式就在里面设定。QSYSOPR消息队列的发送模式默认为*NOTIFY.可用CHGMSGQ命令来改变发送模式。

QSYSOPR的发送模式应设为*BREAK,否则,一些发到QSYSOPR的重要的系统信息可能会被忽略。

3.1.10 User and Workstation Messages Queues

当用户在工作站上登录时创建一个交互式作业(interactive job),用户消息队列和工作站消息队列自动被分配给该交互式作业。工作站消息队列被设置成*NOTIFY模式;用户消息队列也被设置成*NOTIFY模式,但用户可以修改。两个消息队列中的消息被设置成新消息。只有被分配消息队列的作业可以从队列中删除消息,当拥有足够权限时,其他用户也可以查看或者应答消息队列中的消息。当用户从工作站上退出时,用户消息队列和工作站消息队列自动与该作业分离,消息队列的发送模式均被设置成*HOLD模式,任何发送的消息队列中的消息被自动保存起来。

Figure 3-14. User and Workstation Meaages Queues

3.1.11 Controlling Message Delivery

Figure 3-15. Controlling Message Delivery

SNDMSG -Delivers the message according to the message queue delivery mode SNDBRKMSG -Interrupts the work station job and displays the message

每一条发出的消息都有一个表示该消息重要程度的紧急代码(Severity)。代码值为0―99,值越大,紧急级别越高。可以在消息队列中设置这个紧急代码的最低值,以便使到达该消息队列的紧急代码超过这个最低值的消息,按消息队列的Delivery Mode值进行相应的处理。消息的类型和发送消息时使用的命令决定消息的紧急代码,SNDBRKMSG发送的消息紧急代码为99;SNDMSG发送的*INQ类型的消息紧急代码为99;SNDMSG发送的*INFO类型的消息紧急代码为80。系统中的每一个消息队列都有一个重要性级别与之关联,我们可以通过CHGMSGQ命令来设置和改变该值。只有当消息队列接收到的消息紧急代码大于或等于该重要性级别,系统才会中断当前用户的工作显示消息,否则只将消息保存在消息队列中。

使用CHGMSGQ命令,用户可随时根据需要修改相应消息队列的Delivery Mode和Severity的值。当一个用户注销(Sign off)时,系统会自动将该用户消息队列的Delivery Mode修改成*HOLD;用户再次注册时,系统又会将该消息队列的Delivery Mode设置成 *NOTIFY,如果用户脱机这一段时间有消息到达就会给用户一个提示。

3.1.12 Allocating QSYSOPR Message Queue

QSYSOPR是一个最重要的消息队列,系统在发现异常,或对设备进行某种操作,或发生一些较重要的事件时都会将消息送到这个消息队列中,操作员要随时查看这个消息队列,以便使问题得到及时处理。

像任何一个消息队列一样,QSYSOPR在某个时刻只能分配给一个用户作业。其它用户可以用DSPMSG QSYSOPR命令查看消息队列的消息。当用户用QSYSOPR登录时,QSYSOPR消息队列自动地分配给相应的交互式作业,模式为*BREAK。

使用图所示的步骤可以将QSYSOPR消息队列分配给另一个用户或工作站。具体为:系统操作员退出所在工作站,然后作为系统操作员在另一工作站上登录或系统操作员改QSYSOPR消息队列的模式为*HOLD(CHGMSGQ QSYSOPR *HOLD)。然后另一个工作站用户改QSYSOPR消息队列的模式为*BREAK(CHGMSGQ QSYSOPR *BREAK)或*NOTIFY(CHGMSGA QSYSOPR *NITIFY)。

Figure 3-16. Allocating QSYSOPR Message Queue

3.2.1 常用命令

总结:

1. 消息的类型、来源。

2. 消息队列的作用、种类及生成途径。

3. 发送消息的常用命令有两个SNDMSG和SNDBRKMSG,它们的区别在于SNDBRKMSG发出的消息只能送到工作站的消息队列中,且不受消息队列的Delivery Mode制约,消息到达对方后,马上在工作站上显示出来。发出的消息紧急代码一律为99。其他功能同SNDMSG。

4. 学会用DSPMSG命令显示消息和响应查询型消息。 5. 消息队列的交付方式及控制。

6. Assistant Level的含义,不同的Assistant Level(*BASIC、*INTERMED)下,如何删除消息队列中的消息及F11、F16键的功能。

模拟练习测试:

1. What command would you use to display the system menu for messages? 2. Messages can be sent to message queues. Name several types of message queues found on your AS/400. 3. What are the delivery modes that can be specified for a workstation message queue? 4. How to obtain additional help information for a message on the message line? 5. How to display the basic assistance level for a display? 6. When system restarts, default message queue is set to A. QSYSOPR B. QUSR C. QHIST D. QMSG 7. Whether or not to reply a message depends on : A. message reply type B. message type C. *MSGQ delivery type D. *MSGQ reply type 8. How to send message to one or several workstations? A. SNDMSG B. SNDWSMSG C. SNDALLMSG D. SNDBRKMSG 9. where to find the information when the printer is out of paper? A. problem log B. history log C. job log D. qsysopr 10. Where are inquiry messages stored? A. in the history log for the system operation B. in a message queue associated with a user workstation C. in the job associated with a user or workstation D. in a problem log associated with a user workstation

第四章 对象管理

AS/400是一个基于对象(Object-based)的系统。我们说AS/400是一个基于对象的系统而不称其为面向对象(Object-Oriented)的系统,是因为在AS/400系统中没有类(Class)和子类(Subclass)的概念,当然也就不存在着继承(Inheritance)机制。对象在AS/400中定义为:一个具有名字,需要占用一定的存储空间,可以对其实施某些特定操作的软件实体。它具有封装性

(Encapsulation),其内部细节对外部应用来说是完全透明的。内部细节的改变如数据结构的变化和操作的实现过程改变都不会影响访问这个对象的外部程序。AS/400的安全性好部分应归功于这种对象机制。

这一章描述了对象、库、库列表和集成文件系统(IFS)的概念,还介绍了相关的术语和命令。

通过本章学习,要求了解对象、库、库列表和集成文件系统的概念,知道对象的简单名和限制名的区别,懂得查看和修改库列表,并能描述集成文件系统的特点。

4.1 对象

4.1.1 Object

Figure 4-1. Object

这里我们所说的对象是指在系统的存储器中存在并占用一定的存储空间的实体,对其可执行一定的操作.每一个对象拥有一个名字,并可以通过CL命令创建和删除对象。在系统中共有约80多种对象,每种对象类型有自己的标识符,上图显示的是对象本身及类型标识符,例如,文件的标识符为*FILE、命令的标识符为*CMD等。OS/400会根据对象的类型来决定对其执行什么操作。例如,用户不能运行一个文件或把程序当作数据来处理。

每个对象由两部分组成:对象描述和功能部分。对象描述部分包含了对象名称、类型、所在库、创建者、所有者、保存/恢复等信息,可用 DSPOBJD 命令查看对象的一些属性.对象的功能部分决定了对象的类型,例如,若功能部分为程序代码,则对象类型为*PGM,若功能部分为物理文件的成员,则对象类型为*FILE。

AS/400 Object Description

Figure 4-2. Object Description

-Library -Name -Type

-Attribute -Size -Text -Creator -Owner

-Public Authotity

-Date/time - last changed -Date/time - last saved -Save volume ID -Restore date/time

The combination of name,library,and object type identify the object to the system and must be unique.

4.1.2 Object Name

Figure 4-3. Object Name-Simple versus Qualified

在AS/400系统上每个对象都有自己的名字。对象名字由两部分组成:库名和对象名。当用户想对某一个对象进行操作时,可以只指定对象名(称为简单名),如EX1;也可以指定其对象名及所在库名(称为限制名),如OL2901/EX1。

对象可由系统提供或由用户创建。由系统提供的对象一般以Q作为对象名的第一个字母,如QSYS、QGPL、QSYSOPR等,这些对象是系统的一部分。为了便于区别,建议用户创建的对象不要以Q起名。

为了方便地引用一组对象,我们可以使用通用名(Generic names),如命令DSPOBJD OBJ(OL29LIB/p*) OBJTYPE(*ALL)运行的结果是显示库OL29LIB中名字以P字母开头的所有对象。

Figure 4-4. IBM-supplied Objects Start with Q

4.1.3 Object Types

在AS/400系统中,有超过80种对象。

Figure 4-5. Object Types

4.1.4 Object Identification

Figure 4-6. Object Identification: Library, Name, Type

AS/400系统中采用分级对象管理,不同于其它的操作系统(如DOS、UNIX等)。AS/400系统的分级管理只有两级,即所有的对象都位于某一个库之中,我们可以通过该库引用相应的对象;由于库也是一种对象,所有的库位于一个特殊的库(Library)QSYS之中。我们通过库名、对象名和对象类型可以唯一确定系统中的一个对象。

在同一个库中,不同对象的名字和类型不能同时相同。但在不同库中,可以存在名字和类型都相同的对象。

4.2.1 What is a library?

Figure 4-7. library

A library is a special object which has a named set of objects associated with it and is used to group objects. Basically, it is a directory to other objects.

Library/Object structure

Library/Object structure

Figure 4-8. Library/Object structure

在OS/400中,任何对象都必须属于且只能属于某一个库。库本身也是OS/400的一种对象(类型:*LIB),所有的库都隶属于一个特殊的OS/400系统库--QSYS。在QSYS库中,除含有所有OS/400库的Entry外,还含有一些其他对象的Entry,如OS/400的大部分CL命令(*CMD)、系统菜单(*MENU),系统中的所有用户描述(*USRPRF)、权限表(*AUTL)、所有设备描述(*LIND,*CTLD,*DEVD,*MODD)等。整个AS/400的文件系统称为库文件系统(Library File System),它是一个三级结构树,其中所有的库都在第二层上(QSYS除外),如图4-7。

库是系统用来进行对象管理的一种特殊的对象,库中包含了一组对象。库仅仅是其它对象的目录,所有的对象并没有真正地存贮在库中。因为查找对象不是根据其在硬盘中的位置而是根据其名字,所以只要OS/400能找到此对象所在的库,就能定位这个对象。库本身也是一种对象,类型标识为*LIB,所有的库都存在于QSYS中。库可分为两大类:系统提供的库和用户库。所谓用户库是用命令CRTLIB根据需要创建的库,它的作用与系统提供的库没有区别。

4.2.2 IBM-supplied Libraries

这里列出的仅仅是IBM提供的少数库。它们都是由Q开头的。有些作为OS/400的一部分,有些作为IBM许可程序产品(IBM Licensd Program Products,LPPs)库出现。不要删除这些库及其中的对象。要完全列出IBM提供的库,请参考Programming:Reference Summary 。

上图所列的库中,QSYS和QGPL不能被删除或重命名,它们是由SECURITY OFFICE所拥有的,存在于所有库列表中。

Figure 4-9. IBM-supplied Librarys

4.2.3 Library List

Figure 4-10. Library List

*CURLIB *USRLIBL *LIBL *ALLUSR *ALL

Values that can be used instead of a library name when running some CL commands and the libraries which are searched when those values are used are: *CURLIB Only the current library

*USRLIBL Only the user portion of the library list, including the current library. *LIBL The entire library list

*ALLUSR All user libraries that your are authorized to on the AS/400 system *ALL All libraries that you are authorized to on the AS/400 system

How Your Library List is Constructed at Sign On

How Your Library List is Constructed at Sign On

4-11 Library List at Sign On

◇Start with System Values of QSYSLIBL and QUSRLIBL.

◇Optionally, override user portion with Job Description INLLIBL values. ◇Current library may be set with user profile-optionally overridden on Sign On panel.

How to Change Your Library After Sign On

How to Change Your Library After Sign On

Figure 4-12. Change Library List after Sign On

Commands above are used to dynamically change the values in a job's library list.

对象的表示有两种方法:简单名字和复合名字。如果使用对象的复合名字,系统会根据复合名字中指定的库名字来检索这个对象。如果使用简单的对象名字,系统会使用作业的库列表(Library list)。

每当一个作业在OS/400中被初始化时,系统就会为这个作业创建一张库列表,库列表中含有若干个库的名字。当用户使用简单名字访问一个对象时,系统就会在这个作业的库列表中自上而下地逐个搜索那些库,一旦在某个库中找到该对象,就停止搜索。显然一个库在库列表中的位置是很关键的。库列表不是一个对象,它不能够被创建和删除,库列表对于不同的作业来说可能是相同的,但每个库列表只可由其所属的作业使用。当作业被创建时库列表自动被创建,当作业结束时该作业的库列表被清除。

根据库列表中库的来源及管理方式上的不同,一个作业的库列表由四部分构成:系统库列表(System library list)、产品库列表(Product library list)、当前库(Current library)、用户库列表(User library list)。用户可以使用CL 命令CHGCURLIB,CHGLIBL改变作业的当前库,用CHGLIBL,ADDLIBLE ,RMVLIBLE, EDTLIBL命令修改用户库列表部分,也可以用DSPLIBL命令查看作业的整个库列表。有权限的用户,还可以用CHGSYSLIBL修改库列表中的系统库列表部分。库列表中的产品库列表部分是由系统动态对其进行管理的,用户不能去修改这一部分。

在用限制名字访问对象时,在'/' 前面可以不给出一个具体的库名字,而用'*'开头的某些系统定义值来表示一些特定的库。系统定义值即为系统保留字,它们以'*'开头,大都有其特殊含义。在对象的有效名字中,可使用的系统定义值及含义如下: *LIBL-整个作业的库列表 *CURLIB-作业的当前库

*USRLIBL-作业库列表中当前库和用户库列表部分

*IBM-指IBM提供的那些库. 其中有几个允许用户存放对象的库除外 *ALLUSR-所有用户自己创建的库及IBM提供的几个可供用户存放对象的库 *ALL-所有IBM提供的库和所有用户创建的库

4.2.4 Finding an Object

Figure 4-13. Finding an Object

To display the library list for your job, enter the command DSPLIBL Quiz

Display Library List for Your Job, enter the command DSPLIBL

Figure 4-14. Display Library List

Quiz:

Use the information on the figure 4-13 and 4-14 to answer these questions.

Which library will the following commands use?

Figure 4-15. Quiz

Quiz solution

Quiz solution

Figure 4-16. Quiz Solution

Note: If you specify an object name and *ALL or *ALLUSR for the library name, the system searches for multiple objects, and the search returns objects of the indicated name and type for which you are authorized.

如果在引用一个对象是使用限制名,则只有被引用的库被查找(这个被引用的库不一定在库列表里);如果使用简单名,则系统在作业的库列表中按顺序由前向后依次在库中查找。

依照上图所示的库列表来回答下面的问题: 1. 若使用简单名,程序PAY02会在哪个库中找到?

在库列表中由上到下进行查找,先查QSYS,然后查QSYS2, QHLPSYS, QUSRSYS, QRPG, QCBL......最后在PAYLIB中找到PAY02.

2. 若使用简单名PAY02, 库PAYTSTLIB中的对象PAY02会被找到吗?

因为对库列表的查找顺序是由上到下,所以先找到库PAYLIB中的PAY02, 而库PAYTSTLIB中的PAY02则不会被搜索到。

在我们使用系统命令时,往往需要指定搜索库的范围,有以下几个系统定义值可以引用: *CURLIB--作业的库列表中的当前库

*USRLIBL--作业的库列表中当前库和用户库部分 *LIBL--作业的整个库列表 *ALLUSR--系统中所有的用户库 *ALL--系统中所有的库

运行命令,就可以查看当前作业的库列表。

4.2.5 Object Placement

当用户创建一个对象,但没指定该对象所属的库时,缺省情况下,系统会把这个对象的Entry放在当前库中;若没有设定当前库,这时系统就会将该对象放在QGPL(General Purpose Library)库中。但有一些对象类型如:*USRPRF、AUTL、*LIB、*LIND,*CTLD,*DEVD,*MODD等总是隶属于库QSYS,创建这些对象时不会有指定所在库的参数出现。

Figure 4-17. Object Placement

4.3.1 What is the integrated file system?

为了更好地实现AS/400与其它系统(如UNIX)中的文件系统互操作,OS/400 V3.1 开始推出一个集成的文件系统IFS。在这个IFS中,增加了对流式文件的I/O支持。这个集成的文件系统

Figure 4-18. What is the Integrated File System?

采用基于PC的标准命名机制,文件和目录名字的长度符合POSIX标准,文件名的存储格式支持多国语言,包括双字节字符集的国际标准Unicode。集成文件系统是在OS/400中像pc机一样实现对流文件输入输出和存储管理的支持。它提供了一个存储信息的集成结构(如流文件、数据库文件、目录、文档、文件夹等)。

4.3.2 File System Concepts

文件系统把存储的数据组织成文件、目录、库和对象等逻辑单元。每个文件系统都有自己的访问存储数据的逻辑结构。实际上,在OS/400中通过库来访问数据库文件和其他对象,这种结构就可看成一种文件系统。同样地,通过文件夹来访问文档(实际上是流文件)也就可看成一种独立的文件系统。

在IFS接口中,整个文件系统被表示成‘/’每一个子文件系统表示格式及含义为: /QSYS.LIB-传统的OS/400的库文件系统。

/QDLS-由一些共享文件夹(Shared Folder)和文档(Document)构成的多级目录结构的文件系统,用于支持DOS、OS/2、Windows及AS/400上的Office用户文件。 /QopenSys-UNIX文件系统(遵从POSIX标准)。

/QNETWARE-Novell Netware 文件系统(需FSIOP支持)。 /QNFS-SUN公司的网络文件系统。

/QLANSrv-LAN Server 文件系统(需FSIOP支持)。

还有一些文件系统也被组合在IFS中,此外用户还可以定义自己的文件系统。

IFS使得PC机用户和UNIX用户及其它相关系统的用户访问这个IFS中的数据就像访问本地文件系统一样,他们甚至不需要掌握OS/400的CL命令接口,就可以在本地机上用自己熟悉的方式管理存储在AS/400中的数据。PC机用户完全可以用图形操作方式去管理AS/400上的库、文

Figure 4-19. File System Concepts

件夹等。客户端用户也可以编写一些直接访问AS/400中数据的应用。通过Client Access/400可以提供给用户一个图形的操作界面。

在AS/400中,提供了一个统一的接口去访问这个IFS中的各子文件系统。AS/400用户既可以通过这个接口访问QSYS.LIB,也可以用传统的接口去访问库、对象。为了实现各子文件系统之间的信息互访,数据的格式必须是兼容的。对不同平台上发出的对AS/400的数据请求,OS/400做了将AS/400的数据格式转换成应用程序数据格式的大部分工作,OS/400可以自动地完成EBCDIC码(Extended Binary Coded Decimal Interchange Code)和ASCII码(American Standard Code for Information Interchange)之间的转换。当用户通过客户端访问存储在AS/400系统中的数据时,以EBCDIC码存储的数据自动被转换成ASCII码传递给用户。IFS增强了其它系统中的用户对文件的处理能力。将数据存储在AS/400上,就可以享受到AS/400的强大的数据备份功能,恢复功能及更安全的保护措施。

4.3.3 Stream Files versus Database Files

Figure 4-20. Stream Files versus Database Files

Database Files Stream Files

Database Files:

Database files are the files that are traditionally created on the AS/400 system. They have predefined subdivisions that consist of records and with the records, fields.

Stream Files:

A stream file is a file that contains a continuous stream of data. Documents that are stored in AS/400 folders are stream files.

在数据库文件中,预先定义了record和field,field在record里。所以数据库文件有一个特殊的两层结构,record和field。

集成文件系统支持以流文件形式对数据进行存储和操作。流文件是指包含连续数据流的文件。存储在文件夹中的文档就是流文件,其他流文件还有pc机上的文件和UNIX系统上的文件。在集成文件系统中,流文件是一种系统对象*STMF。

4.3.4 Integrated File System Structure

A directory is an object that is used to locate other objects by name. Each directory contains a list of objects that are attached to it, including other directories.

A particular directory along with all of its subdirectories and the objects that are attached to those subdirectories is referred to as a subtree. Each file system is a major subtree in the IFS directory structure. In the library file system (QSYS.LIB subtree),a library is handled the same way as a subdirectory. Because database files contain objects (database file members), they are handled like subdirectories rather than objects. In the document library services file system (QDLS subtree), folders are handled like subdirectories and documents are handled like obyects in a subdirectory. Because of differences in file systems, the operations you can perform in one subtree of the directory hierarchy may not work in another subtree.

.Current directory -similar in concept to current library

Figure 4-21. Integrated File System Structure

.Home directory -current directory provided to you when you sign on

When you request an operation on an object such as a file, the system looks for the object in the current directory, unless you specify a different directory path. The current directory is similar to a current library.It is also called the current working directory or just working directory.

The home directory is used as the current directory when you sign on to the system. The name of the home directory is specified in the user profile. When a job is started for a user, the system looks in the user profile for the name of the user's home directory. If a directory by that name does not exist on the system, the home directory is changed to the root directory.

4.3.5 Locating Objects in the Integrated File System

There are two ways of indicating a path name:

◇An absolute path name begins at the highest level, or root directory (which is identified by the forward slash(/) character.

/Dept2/Photo/Smith

◇if the path name does not begin with the forward slash(/) character, the system assumes that the path begins at the user's current directory. This type of path name is called a relative path name. For example, if a user's current directory is Dept2 and

Figure 4-22. Locating Objects in the Integrated File System.

it has a subdirectory named Photo containing the file Smith, the relative path name is :

Photo/Smith

Notice that the path name does not include the name of the current directory. The first item in the name is the directory or obyect at the next level below the current directory.

4.4.1 常用命令

◇ Object Related Commands

◇ Library Related Commands

◇ IFS Related Commands

-WRKFLR---Work with Folders -WRKLNK---Work with Object Links

总结:

1. 对象的概念,简单对象名和限制对象名的不同,对象的标识,对象的搜索。 2. 库的概念和操作库的相关命令

3. 库列表的概念、组成顺序、作用及操作库列表的命令。 4. 集成文件系统的概念。

模拟练习测试: 1. What type of information does the system store in the object description? 2. If you create an object without telling OS/400 what library to put it in, and your library list contains the following, in which library would the system store the object? A. QSYS system library B. OPRXX current library C. OPRLIB user library D. QGPL general purpose library E. QTEMP temporary library 3. An AS/400 library is A. a physical disk storage area for objects B. the only structure on the AS/400 that is nor an objects C. a group of files D. a directory of objects 4. A jobs library list is used to fine an object A. always B. only if the library list has been replaced since sign-on C. only if system value QUSRLIBL has value *LIBL D. only if the object name is unqualified 5. What command could you use to see your job’s library list? A. DSPLIBL B. DSPJOB C. EDTLIBL D. All of the above 6. What command can you use to alter your job’s library list? A. EDTLIBL B. ADDLIBLE C. CHGLIBL D. All of the above 7. Suppose you add library PAYLIB to your library list, then sign off . You sign on again. A. PAYLIB will not be in your library list. B. PAYLIB will be in your library list.

C. PAYLIB will be in your library list if you use the same password as you did earlier D. PAYLIB will be in your library list if you use the same workstation as you did earlier 8. Which of followings are AS/400 objects? I. Program II. Menu III. Library list A. I, II only B. I, II, III C. I, III only D. II, III only 9. Physical files can only be stored in A. QGPL B. QSYS C. QUSRSYS D. All library 10. the command to change current library is A. CHGLIBL B. CHGCURLIB C. CHGLIB D. CHGCUR 11. What sequence will the system search in the library list? A. System, Product, Current, User B. Product, System, Current, User C. Current, User, System, Product D. Current, System, Product, User 12. Message says: object not found in *LIBL, means A. object not exist in user library B. object not exist in libraries in library list C. object not exist on whole system D. object is not authorized to use

因篇幅问题不能全部显示,请点此查看更多更全内容

Top