加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

求助cobol-400中START STATEMENT 的使用-

(2011-12-23 01:11:04)
标签:

杂谈

求助cobol/400中START STATEMENT 的使用?START FILE1 KEY >=X-FIELD OF FILE1
INVALIDKEY CONTINUE
END-START.
看不明白这个START是什么意思? 另外,在COBOL/400中是怎样检索物理数据文件的呢?最好能给出演示的代码!
谢谢!http://blog.chinaunix.net/u/20092/showart_269808.html回复 #2 pantierui 的帖子谢谢!非常感谢原帖由 kelvenlee 于 2007-8-16 08:24 发表 http://bbs.chinaunix.net/images/common/back.gif
ID DIVISION.
PROGRAM-ID. HELLO-WORD.
AUTHOR. LIGL.
ENVIRONMENT DIVISION.
SOURCE-COMP ...
这个和楼主说的start没有关系啊。应该这样改吧:
ID DIVISION.
PROGRAM-ID. HELLO-WORD.
AUTHOR. LIGL.
ENVIRONMENT DIVISION.
SOURCE-COMPUTER. IBM-AS400.
OBJECT-COMPUTER. IBM-AS400.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO PFNAME
ORGANIZATION IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD IN-FILE
RECORD CONTAINS 25 CHARACTERS.
01 IN-RECORD.
05 IN-NAME PIC X(25).
WORKING-STORAGE SECTION.
01 END-OF-FILE-FLAG PIC X.
PROCEDURE DIVISION.
MAINLINE.
PERFORM INITIALIZATION-ROUTINE.
PERFORM THE-LOOP
UNTIL END-OF-FILE-FLAG = 'Y'.
PERFORM EOJ-ROUTINE.
STOP RUN.
*
INITIALIZATION-ROUTINE.
OPEN INPUT IN-FILE.
MOVE 2 TO XX OF IN-FILE.
START IN-FILE KEY =XX OF IN-FILE ** XX为数据库IN-FILE中的板式换热器字段之一
INVALID CONTINUE.
THE

磁带备份出现的问题!来看messages!

-LOOP.
DISPLAY 'HELLO ' IN-NAME.
READ IN-FILE
AT END MOVE 'Y' TO END-OF-FILE-FLAG.
EOJ-ROUTINE.
CLOSE IN-FILE.

START 的作用是用来定位数据库的检索位置,这样在READ数据库的时候就可以丛这个位置开始往下读了,而不是从第一笔记录开始读。
注意一点:在用到START这个语句之前,必须指定一个KEY值。也就是下面这条MOVE语句:
MOVE 2 TO XX OF IN-FILE.
START IN-FILE KEY =XX OF IN-FILE...
这样通过START定位之后就会把数据库游标定位在XX = 2 的位置上。

[ 本帖最后由 july1732 于 2007-8-24 10:28 编辑 ]精辟呀

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有