[AS/400] 基本概念

 本文内容源于 Go4AS400 

  在 AS/400 中,AS 代表着 Application System。AS/400 是一个安全性高的系统,可以限制用户只能访问、处理特定的信息。AS/400 整合了 DB2 数据库管理系统。

  AS/400 里面可以存储、读取的所有东西,都被称为对象(Object)。

 

Library

每次我们执行命令或调用程序时,AS/400 都从一个被称为库(library) 的地方搜索指定的命令或程序。库是一个对象的集合。QSYS 是系统的根库,所有用户或系统创建的库都被包含在 QSYS 里面。QSYS 也是唯一一个包含其他库的库,

系统库(system library) 是一个库,包含的对象在安装 AS/400 时被创建。系统提供的库都是以 Q 或者 # 开头。

库的类型

系统库,所有 IBM 提供的库,例如 QSYS, QHLPSYS, QUSRSYS....

当前库(current library) ,当前正在使用的库。你的所有的操作都被存于当前库。可以将当前库设置为自己的个人库。

CHGCURLIB    TONYLIB

DSPLIBL(Display Library List), 显示库列表

EDTLIBL(Edit Library List), 编辑库列表

 

 

Source Physical File

Source Physical File 用于存放不同类型对象的源代码。详情

 

Physical File

Physical File 根据定义的结构格式,存储数据。其类型为 PF.

Physical file 的结构层级如下。详情

Columns . . . :    1  71           Browse                         AMINEM/DDSSRC
SEU==>                                                                  ACCOUNT
FMT PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++
*************** Beginning of data *****************************
 
0001.00     A                            UNIQUE         >>>>> FILE LEVEL
0002.00      A          R ACCOUNT                       >>>>> RECORD FORMAT LEVEL
0003.00      A            ACLEVELID      2P 0
0004.00      A            ACORGCOD       3P 0           >>>>> FIELD LEVEL
0005.00      A            ACCOUNTNUM    12P 0
0006.00      A            ACCURRENCY     3A
0007.00      A            ACNAME        20A
0009.00      A          K ACLEVELID
0010.00      A          K ACORGCOD                      >>>>> KEYFIELD LEVEL
0011.00      A          K ACCOUNTNUM
0012.00      A          K ACCURRENCY
****************** End of data ********************************

 

Multi-member Physical File

创建一个 PF 后,会有一个和 PF 同名的成员默认出现在文件中。详情

                           Work with Members Using PDM                 SYSTEM09
                                                                               
 File  . . . . . .   ACCOUNT                                                      
   Library . . . .     AMINEM                 Position to  . . . . .             
                                                                               
 Type options, press Enter.                                                    
   3=Copy    4=Delete         5=Display   7=Rename    8=Display description    
   9=Save    13=Change text   18=Change using DFU     25=Find string ...       
                                                                               
 Opt  Member      Date        Text                                             
      ACCOUNT        05/21/12  >>>> ACCOUNT member inside ACCOUNT physical file
                                                                               
                                                                               
                                                                               
                                                                         Bottom
 Parameters or command                                                         
 ===> _________________________________________________________________________
_______________________________________________________________________________
                                                                         
 F3=Exit          F4=Prompt             F5=Refresh            F6=Create        
 F9=Retrieve      F10=Command entry     F23=More options      F24=More keys 

 

Logical File

Logical file 相当于关系型数据库里面的视图(View),不占据实际内存。

logical file 依赖于 physical file,多个 logical file 可以对应同一个 physical file

只是简单地包含了数据选择的定义,当被访问时,从引用的 physical file 读取数据。可以通过 select 和 omit 命令来筛选数据。详情

一个 logical file 例子

Columns . . . :    1  71           Browse                        AMINEM/DDSSRC 
SEU==>                                                               MULTIFRMT 
FMT LF .....A..........T.Name++++++.Len++TDpB......Functions++++++++++++++++++        
       *************** Beginning of data *************************************
0002.00      A          R ACCOUNT                   PFILE(AMINEM/ACCOUNT)      
0003.00      A          K ACCOUNTNUM                                               
0005.00      A          K ACCURRENCY

Physical File 和 Logical File 对比

   Physical File Logical File
内存 占据内存,包含原始数据 不占据任何内存,不包含数据
数据格式 只包含一个数据格式 可包含 32 个数据格式
依赖关系 不依赖 LF 依赖 PF
删除 有 LF 引用的 PF 无法被删除 依赖 PF 的 LF 可以被删除,而不需删除 PF
创建 CRTPF CRTLF

 

Access path

Access path 定义记录读取的顺序。Access path 可以临时或永久地存于系统中。

Access path 的类型

到达顺序访问路径(Arrival sequence access path)

  顺序访问,每次访问文件中物理位置的下一条记录

  行号直接访问,根据行号直接访问指定行号的记录

关键字顺序访问路径(Keyed sequence access path)

  基于 DDS 中关键字段,进行记录访问。一共有三种类型

  Immediate

  Rebuild

  Delayed

常用的是 Immediate。Immeidate 表示只要 Access path 关联的数据有变更,就会立即更新 access path,无论文件是否被打开了。详情

 

 

SEU(Source entry Utility)

SEU 是 AS/400 上源代码编辑器。详情

 

Array

数组,是相同数据类型的集合。详情

 

DATA STRUCTURE

Data structure 通常用于表示不同数据类型的结构。有一下几个作用

  • 把字段分割成子字段
  • 组合字段
  • 改变字段的格式
  • 将非连续的数据整合为连续的格式
  • 转换数据

详情

 

Subsystem

AS/400 包含多个子系统(subsystem),每一个子系统独立地运行在不同的任务(Job)。根据任务的类型,会把任务分配到不同的子系统中。一个子系统可能处理所有的交互任务,另一个子系统处理所有的批处理任务,还有一个系统处理通信任务。一个子系统可以处理不同类型的任务。

每一个子系统都有自己的运行时属性。任务在运行时可以获取子系统的属性。

常用的命令:STRSBS, ENDSBS, WRKSBS

详情

 

Jobs

Job 是指在 AS400 里被完成的一个任务。可以分为两部分

System Jobs

  Spooling job 想一个批量任务,给 job 生成 spool file 。

User Jobs

   交互式任务(Interactive job)

  批处理任务(Batch job)

  通信任务(Communication job)

  自启动任务(Auto-start job)

Job Name

任务名称格式为 Job Number/User/Job Nmae

打开任务命令

WRKJOB JOB(677342/AJAISWAL/SA) 

效果

                             Work with Job (WRKJOB)                            
                                                                               
 Type choices, press Enter.                                                    
                                                                               
 Job name . . . . . . . . . . . . > SA            Name, *                      
   User . . . . . . . . . . . . . >   AJAISWAL    Name                         
   Number . . . . . . . . . . . . >   677342      000000-999999                
 Output . . . . . . . . . . . . .   *             *, *PRINT                    
 Option . . . . . . . . . . . . .   *SELECT       *SELECT, *STSA, *DFNA...     
                                                                                
                                                                               
 
                                                                               
                                                                         Bottom
 F3=Exit   F4=Prompt   F5=Refresh   F10=Additional parameters   F12=Cancel     
 F13=How to use this display        F24=More keys                             

Job Queue

任务被提交后,它会被放置一个叫任务队列(job queue) 的地方,根据自身的优先级等待处理。

详情

 

Data Queue

数据队列( Data Queue ) 用于两个任务之间的异步通信。将数据从一个任务发送到另一个任务时,使用数据队列 QSNDDTAQ 接口,可以实现异步通信。详情

 

Journaling

日记(Journaling) ,通常意义上,是用于记录日常活动。在 iSeries 里,日记是指记录对象的活动的行为。当一个文件开启了日记,则文件的打开、关闭、数据更新行为都会被记录下来。详情

 

Display File Keyworkds

Display File 的关键词有很多,用于控制不同的显示效果。常见的关键词有 ALIAS, COLOR, COMP 等。详情

 

Subfile

Subfile 仅仅是用于显示表格类数据。subfile 的类型有

详情

 

Message subfile

Message subfile 是一种特别的 subfile ,用于存储消息。详情

 

调试批处理任务

详情

 

STRDBG 和 STRISDB 的对比

STRDBG 在适用范围、速度上都优于 STRISDB,所有在调试时优先考虑 STRDBG。

 

posted @ 2016-08-20 19:08  TonyYPZhang  阅读(5007)  评论(0编辑  收藏  举报