`
feigme
  • 浏览: 156470 次
  • 性别: Icon_minigender_1
  • 来自: 球面世界
社区版块
存档分类
最新评论

练习时做的AS/400 subfile 的一个例子!(3)

阅读更多

 其中的主要RPG程序

 

FMT H  .....H........1..CDYI....S..............1.F............................
        *************** Beginning of data *************************************

*************** Feigme H.Guo*************************************

0001.00      H             Y                                                  
0002.00       *                                                               
0003.00      FCUSZIPL IF  E           K        DISK                           
0004.00      FCUSSRC  CF  E                    WORKSTN                        
0005.00      F                                        @RRN  KSFILE SUBFILE    
0006.00       *----------------------------------------------------*          
0007.00       *      KLIST                                         *          
0008.00       *----------------------------------------------------*          
0009.00      C           KCUS      KLIST                                      
0010.00      C                     KFLD           ZIP                         
0011.00       *----------------------------------------------------*          
0012.00       *      MAIN                                          *          
0013.00       *----------------------------------------------------*          
0014.00       *                                                               
0015.00      C                     EXSR #S001                                 
0016.00      C                     EXSR #ENDPG                                                                              0017.00       *                                                           
0018.00       *----------------------------------------------------*      
0019.00       * #ENDPG -- END PG                                   *      
0020.00       *----------------------------------------------------*      
0021.00      C           #ENDPG    BEGSR                                  
0022.00       *                                                           
0023.00      C                     SETON                     LR           
0024.00      C                     RETRN                                  
0025.00       *                                                           
0026.00      C                     ENDSR                                  
0027.00       *----------------------------------------------------*      
0028.00       * #INITIAL PGM                                       *      
0029.00       *----------------------------------------------------*      
0030.00      C           *INZSR    BEGSR                                  
0031.00       *                                                           
0032.00      C                     MOVE 'Y'       @YES    1               
0033.00      C                     MOVE 'N'       @NO     1      
0034.00      C                     MOVE *BLANK    @LOOP1  1               
0035.00      C                     Z-ADD0         @RRN    50              
0036.00       *                                                           
0037.00      C                     ENDSR                                  
0038.00       *----------------------------------------------------*      
0039.00       * #S001 -- SCREEN 1                                  *      
0040.00       *----------------------------------------------------*      
0041.00      C           #S001     BEGSR                                  
0042.00       *                                                           
0043.00      C                     MOVE @YES      @LOOP1                  
0044.00      C           @LOOP1    DOWEQ@YES                              
0045.00      C                     WRITEFOOT1                             
0046.00      C                     WRITEHEAD                              
0047.00      C                     EXFMTPROMPT                            
0048.00       *                                                           
0049.00      C           *IN03     IFEQ *ON                               
0050.00      C                     LEAVE                                  
0051.00      C                     ENDIF                                
0052.00       *                                                         
0053.00      C                     EXSR #CHK01                          
0054.00      C                     ENDDO                                
0055.00       *                                                         
0056.00      C                     ENDSR                                
0057.00       *----------------------------------------------------*    
0058.00       * #CHK01                                             *    
0059.00       *----------------------------------------------------*    
0060.00      C           #CHK01    BEGSR                                
0061.00       *                                                         
0062.00      C           ZIP       IFNE *ZERO                           
0063.00      C           KCUS      SETLLCUSREC                   20     
0064.00      C           *IN20     IFEQ *ON                             
0065.00      C                     EXSR #SFPRC                          
0066.00      C                     ENDIF                                
0067.00      C                     ENDIF                                
0068.00       *                                                           
0069.00      C                     ENDSR                                  
0070.00       *----------------------------------------------------*      
0071.00       * #SFCLR -- SUBFILE CLEAR                            *      
0072.00       *----------------------------------------------------*      
0073.00      C           #SFCLR    BEGSR                                  
0074.00       *                                                           
0075.00      C                     SETON                     55           
0076.00      C                     WRITESUBCTL                            
0077.00      C                     SETOF                     55           
0078.00      C                     SETOF                     21           
0079.00      C                     Z-ADD0         @RRN                    
0080.00       *                                                           
0081.00      C                     ENDSR                                  
0082.00       *----------------------------------------------------*      
0083.00       * #SFPRC                                             *      
0084.00       *----------------------------------------------------*      
0085.00      C           #SFPRC    BEGSR                              
0086.00       *                                                       
0087.00      C                     EXSR #SFCLR                        
0088.00      C                     EXSR #SFRED                        
0089.00       *                                                       
0090.00      C                     WRITEFOOT2                         
0091.00      C                     WRITEHEAD                          
0092.00      C                     EXFMTSUBCTL                        
0093.00       *                                                       
0094.00      C                     ENDSR                              
0095.00       *----------------------------------------------------*  
0096.00       * #SFRED                                             *  
0097.00       *----------------------------------------------------*  
0098.00      C           #SFRED    BEGSR                              
0099.00       *                                                       
0100.00      C           *IN21     DOWEQ*OFF                          
0101.00      C           ZIP       READECUSREC                   71   
0102.00      C           *IN71     IFEQ *ON                               
0103.00      C                     SETON                     33           
0104.00      C                     MOVE '1'       *IN21                   
0105.00      C                     ELSE                                   
0106.00      C                     ADD  1         @RRN                    
0107.00      C                     WRITESUBFILE                  71       
0108.00      C                     ENDIF                                  
0109.00      C                     ENDDO                                  
0110.00       *                                                           
0111.00      C                     ENDSR                                   
        ****************** End of data ****************************************         



 

分享到:
评论

相关推荐

    as400 Subfiles

    1. **定义DDS规格**:首先,你需要为subfile定义一个DDS规格,其中包含所有必要的字段布局和数据源信息。 2. **编写程序代码**:接下来是编写实际的RPG程序代码,这部分代码将负责读取数据并将其呈现到subfile上。 3...

    DSPF动态刷新屏幕,结合DTAQ

    在IBM iSeries (旧称AS/400)系统中,DSPF(Display Screen Format)是一种用于创建用户界面的编程工具,它允许程序员定义和控制屏幕布局,提供数据输入和输出的功能。本主题将深入探讨如何利用DSPF的SUBFILE特性进行...

    文件夹目录查询

    - `new File(path)`创建了一个指向该路径的`File`对象。 2. **检查目录**: - `if (file.isDirectory())`判断当前对象是否为目录。 - 如果是目录,则通过`file.list()`方法获取该目录下的所有文件/子目录,并...

    操作系统简单二级文件系统

    在任一OS下,建立一个大文件,把它假象成硬盘,在其中实现一个简单的模拟文件系统。 编写一管理程序对此空间进行管理,要求: 1. 实现盘块管理 2. 实现文件的读写操作 3. 每组最多2人,小组内要有明确分工,课程...

    python实现大文件分割与合并

    然后依次读取并写入到一个新文件中,从而完成合并过程。 #### 总结 以上介绍了如何使用Python实现大文件的分割与合并。通过这些方法,我们可以有效地管理大型文件,无论是出于存储效率还是网络传输的需求。此外,...

    文件搜索器的简单实现

    在这个例子中,`printDir` 方法首先检查当前目录是否为空。如果不是,则遍历所有子项。如果遇到子目录,则递归调用 `printDir` 方法;如果是文件,则打印文件名并增加计数器。 #### 三、总结 通过以上介绍,我们...

    PHP递归复制、移动目录的自定义函数分享

    接下来,我们将构建一个自定义的递归函数`copyDir()`,它接受两个参数:源目录`$dirSrc`和目标目录`$dirTo`。函数的主要逻辑如下: 1. 检查目标路径`$dirTo`,如果它已经存在且不是一个目录,函数将返回错误并退出...

    php文件上传后端处理小技巧_.docx

    foreach ($subFile['name'] as $subKey => $subVal) { if ($subFile['name'][$subKey]) { $fileData = $this->_getFileData($subFile, $subKey); $checkData = array( 'maxSize' => $apkConfig['FILE_MAX_SIZE']...

    android获取应用程序信息小Demo

    本教程将通过一个小型的Demo来演示如何获取应用的名称、版本、缓存大小以及应用程序的整体大小等关键信息。下面我们将详细讨论这些知识点。 首先,我们要获取应用的基本信息,如应用名称和版本。这可以通过`...

    文件分割工具

    每次达到预设的子文件大小时,就需要创建一个新的子文件,并将文件指针重置到新文件的开头。在整个过程中,需要注意文件指针的正确移动和错误处理。 例如,以下是一个简单的文件分割程序的基本框架: ```c #...

    JAVA_解压ZIP.txt

    此文档不仅提供了一个完整的示例代码,还包含了必要的理论背景和实现细节。 #### 二、核心概念与技术 1. **ZipFile 类**: - `ZipFile` 类是Java标准库中的一个类,它用于读取ZIP格式的文件。通过这个类可以获取...

    node.js中的path.resolve方法使用说明

    总的来说,`path.resolve`在Node.js中是一个非常实用的工具,尤其在处理文件系统路径时,能帮助开发者将不明确的相对路径转换为明确的绝对路径,从而避免路径解析错误。在实际开发中,尤其是在处理模块加载、文件...

    组合模式1

    例如,一个文件系统中的“文件”和“目录”都可以视为组件,它们都具有打开、关闭等操作。 ```java public interface Component { void add(Component child); void remove(Component child); Component ...

    php文件上传后端处理小技巧

    foreach($subFile['name'] as $subKey => $subVal) { // ...省略部分代码... if($subFile['name'][$subKey] != '') { // ...省略部分代码... } } // ...省略部分代码... ``` #### 4. 关键点总结 - **表单设置*...

    easyui tree扁平化扩展,不用再为children嵌套结构烦恼

    3. **构建树结构**:再次遍历输入数据,对于每一个节点: - 如果存在父节点,则将该节点添加到其父节点的`children`数组中; - 否则,将该节点视为根节点,添加到`treeData`数组中。 4. **返回结果**:返回构建好...

    php rmdir使用递归函数删除非空目录实例详解

    `rmdir()`需要一个参数 `$dirname`,即要删除的目录的完整路径。如果目录为空并且用户具有相应的权限,该函数将成功删除目录。如果操作失败,比如目录不为空或者权限不足,PHP会抛出一个E_WARNING级别的错误。 然而...

    php计算一个文件大小的方法

    首先,让我们看一个简单的例子,计算单个文件的大小。`filesize()`函数是PHP提供的内置函数,它可以直接返回指定文件的大小,单位为字节。例如: ```php $file_path = "path_to_your_file"; $file_size = filesize...

    c#读取excel(包含2003和2007)

    在.NET开发环境中,读取Excel文件是常见的任务,特别是处理数据导入导出或者数据分析时。C#语言提供了多种方式来实现这一功能,其中包括使用OLEDB数据提供程序。本知识点主要介绍如何使用C#来自动识别并读取Excel ...

Global site tag (gtag.js) - Google Analytics