zoukankan      html  css  js  c++  java
  • 操作vsam用sequential访问模式REWRITE数据

    因为在SEQUENTIAL访问模式下,只有I/O方式打开文件才能进行REWRITE操作,所以以下文件均用I/O方式打开。 

    FILE-CONTROL.                      
             SELECT VFILE ASSIGN TO VF  
             ORGANIZATION IS INDEXED    
             ACCESS MODE IS SEQUENTIAL  
             RECORD KEY IS VID          
             FILE STATUS IS FS1.        
     DATA DIVISION.                     
     FILE SECTION.                      
     FD VFILE.                          
     01 VREC.                           
        05 VID PIC X(4).                
        05 VINFO PIC X(76).             
     WORKING-STORAGE SECTION.           
     01 FS1 PIC 99.                     
     01 REC PIC X(80).                  
     01 FLAG PIC X.                       

    PROCEDURE DIVISION.                                    
             OPEN I-O VFILE.                                
             DISPLAY FS1.                                   
             MOVE 0444 TO VID.                              
             MOVE '0444D02APPLE' TO REC.                    
             START VFILE KEY IS = VID.                      
             READ VFILE  
             END-READ.                                      
             REWRITE VREC FROM REC                          
             END-REWRITE.                                   
             DISPLAY FS1.                                   
             IF FS1 = 00                                    
             THEN                                           
                  DISPLAY 'THE RECORD IS ', VREC            
             END-IF.                                        
             CLOSE VFILE.                                   
             STOP RUN.        

    总结

    SEQUENTIAL三步曲:

    1.start

    2.read(因为rewrite之前必须read,不然就返回码43,而要想read指定记录就需要先start定位到指定的位置上,所以……)

    3.rewrite……from……(from也是必须的,这是逻辑上的需要,相信聪明的童靴都会懂的) 或者 delete……                              

  • 相关阅读:
    spring事务管理中,使用Synchronized修饰事务方法,同步为什么会失效
    java枚举类是怎么初始化的,为什么说枚举类是线程安全的
    spring事务管理中,同一个Service类中非事务方法调用事务方法,事务失效解决方法(3种)
    spring boot借助freemarker实现word文档模板导出
    mybatis plus使用报错:Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax err
    js中遍历枚举类型
    IDEA 设置SVN提交忽略文件 target .iml
    python中的open( )函数
    使用crf++
    安装crf++
  • 原文地址:https://www.cnblogs.com/mooncher/p/2746442.html
Copyright © 2011-2022 走看看