免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2509 | 回复: 3
打印 上一主题 下一主题

AS400下的COBOL里,如何删除记录!!!(急) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-05 16:21 |只看该作者 |倒序浏览
AS400下的COBOL里,对一个有键字的数据库操作,当用键字找到数据时,如何删除该条记录。
最好能有实例程序,先谢谢各位大侠了!

论坛徽章:
0
2 [报告]
发表于 2007-06-05 17:50 |只看该作者
PF:ABC


  1. 0001.00      A          R ABC               
  2. 0002.00      A            FLD            1A  
  3. 0003.00      A          K FLD               
复制代码


COBOL LE:

  1. 0001.00        IDENTIFICATION      DIVISION.                        
  2. 0002.00        PROGRAM-ID.         CBL2.                             
  3. 0003.00        ENVIRONMENT         DIVISION.                        
  4. 0004.00        INPUT-OUTPUT        SECTION.                          
  5. 0005.00        FILE-CONTROL.                                         
  6. 0006.00            SELECT   ABC                                      
  7. 0007.00              ASSIGN             TO DATABASE-ABC              
  8. 0008.00              ORGANIZATION       IS INDEXED                  
  9. 0009.00              ACCESS MODE        IS RANDOM                    
  10. 0010.00              RECORD KEY         IS EXTERNALLY-DESCRIBED-KEY  
  11. 0011.00              FILE   STATUS      IS ABC-FILE-STATUS.         
  12. 0012.00        DATA                DIVISION.                        
  13. 0013.00        FILE                SECTION.                          
  14. 0014.00        FD     ABC.                                          
  15. 0015.00        01     ABC-REC.                                       
  16. 0016.00                 COPY DDS-ABC     OF  ABC.                    
  17. 0017.00        WORKING-STORAGE     SECTION.                           
  18. 0018.00        77     ABC-FILE-STATUS  PIC     X(02)   VALUE   SPACE.  
  19. 0019.00        77     ABC-FLG          PIC     X       VALUE   SPACE.  
  20. 0020.00         PROCEDURE           DIVISION.                          
  21. 0021.00         SEC.                                                   
  22. 0022.00            OPEN I-O ABC                                       
  23. 0023.00            MOVE    SPACE         TO     ABC-REC               
  24. 0024.00            INITIALIZE                   ABC-REC               
  25. 0025.00            MOVE     "2"          TO     FLD                    
  26. 0026.00            READ    ABC                                         
  27. 0027.00            FORMAT  IS  "ABC-REC"                              
  28. 0028.00            INVALID   KEY                                       
  29. 0029.00              MOVE    "1"         TO     ABC-FLG               
  30. 0030.00            END-READ                                            
  31. 0031.00            IF  ABC-FLG      =   SPACE                          
  32. 0032.00                 DELETE   ABC                                   
  33. 0033.00            END-IF         
  34. 0034.00                 CLOSE   ABC                                   
  35. 0035.00                 STOP RUN.
复制代码

[ 本帖最后由 pantierui 于 2007-6-8 17:48 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-06-06 13:41 |只看该作者
谢谢楼上的帮助,问题已经解决了。
顺便问一句,ORGANIZATION有三种方式(SEQUENTIAL,RELATIVE,INDEXED)
RELATIVE资料上说是相对文件,这里所说的相对文件是什么意思?

论坛徽章:
0
4 [报告]
发表于 2007-06-06 15:15 |只看该作者
这个是删除多条等于2的COBOL LE程序.

  1. 0001.00        IDENTIFICATION      DIVISION.                        
  2. 0002.00        PROGRAM-ID.         CBL2.                             
  3. 0003.00        ENVIRONMENT         DIVISION.                        
  4. 0004.00        INPUT-OUTPUT        SECTION.                          
  5. 0005.00        FILE-CONTROL.                                         
  6. 0006.00            SELECT   ABC                                      
  7. 0007.00              ASSIGN             TO DATABASE-ABC              
  8. 0008.00              ORGANIZATION       IS INDEXED                  
  9. 0009.00              ACCESS MODE        IS RANDOM                    
  10. 0011.00              RECORD KEY         IS EXTERNALLY-DESCRIBED-KEY  
  11. 0012.00              FILE   STATUS      IS ABC-FILE-STATUS.         
  12. 0013.00        DATA                DIVISION.                        
  13. 0014.00        FILE                SECTION.                          
  14. 0015.00        FD     ABC.                                          
  15. 0016.00        01     ABC-REC.                                       
  16. 0017.00                 COPY DDS-ABC     OF  ABC.                    
  17. 0018.00        WORKING-STORAGE     SECTION.                           
  18. 0019.00        77     ABC-FILE-STATUS  PIC     X(02)   VALUE   SPACE.  
  19. 0020.00        77     ABC-FLG          PIC     X       VALUE   SPACE.  
  20. 0021.00         PROCEDURE           DIVISION.                          
  21. 0022.00         SEC.                                                   
  22. 0023.00            OPEN I-O ABC                                       
  23. 0024.00            MOVE    SPACE         TO     ABC-REC               
  24. 0025.00            INITIALIZE                   ABC-REC               
  25. 0027.00            EXIT.                                               
  26. 0028.00         RED.                                                   
  27. 0029.00            MOVE     "2"          TO     FLD                    
  28. 0030.00            READ    ABC                                         
  29. 0031.00            FORMAT  IS  "ABC-REC"                              
  30. 0032.00            INVALID   KEY                                       
  31. 0034.00              MOVE    "1"         TO     ABC-FLG               
  32. 0035.00            END-READ                                            
  33. 0036.00            EXIT.                        
  34. 0037.00         MAIN.                           
  35. 0038.00            PERFORM                     
  36. 0039.00            UNTIL  ABC-FLG    =  "1"     
  37. 0040.00                 DELETE   ABC            
  38. 0041.00                 PERFORM RED            
  39. 0042.00            END-PERFORM   
  40. 0043.00                 CLOSE    ABC
  41. 0046.00                 STOP RUN.               
复制代码

[ 本帖最后由 pantierui 于 2007-6-8 17:48 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP