zoukankan      html  css  js  c++  java
  • [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。

  • 相关阅读:
    Silverlight Tips(2)
    Sl4程序部署至IIS7
    Silverlight Tips(1)
    Silverlight中使用MVVM(5):Command II
    Linq操作之Except,Distinct,Left Join
    Ubuntu搭建Django+Flup+Nginx环境
    ASP.NET 4.0 与 Entity Framework 4第四篇Entity Framework在三层架构中的使用
    玩转博客园的5个小技巧
    Linux下安装Django1.2和MysqlPython
    Linux下如何给Subversion和Mercurial设置HTTP代理
  • 原文地址:https://www.cnblogs.com/TonyYPZhang/p/5791039.html
Copyright © 2011-2022 走看看