厉害的牛人来看看这个问题
一个SFL画面,画面显示的数据是从数据库里面读出来来的
列*
发注NO ;A000001 区分;1 发注时间 201011
发注NO ;A000001 区分;2 发注时间 201010
要求SFL显示的是
发注NO 发注开始日 发注终了日
A00001 201010 201011
如果发注NO不相同的场合
SFL显示
发注NO 发注开始日 发注终了日
A00001 201010
A00002 201011
该怎摸做???怎摸能实现,据我所知SFL每次读一条就WRITE 一条,怎摸能实现在发注NO相同的时候 读两条WRITE一条?数据的最后一条和上一条 如何判断是否是同一发注NO? 如何WRITE?
G各位大虾看一下,最好详细一点的阿
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
用数组
把读到的NO都记进去
数组里有的NO就不WRITE到屏幕
数组里没有的NO就WRITE
不知道是我没有看明白你的意思
还是你没有看明白我说的
回复 7# george251
如果是不相同的时候呢,你没办法判断它是否相同
你在循环外面再WRITE不就可以了?
回复 5# insmile
最后一条和最后第2条没法判断的,如果最后一条发注no是A00001 最后第2条也是A00001没有办法WRITE,
读一次,以此为标准,再读下一次,比较,发注NO相同就比较日期,显示*(或者继续读,有可能很多发注NO相同的,这个要考虑)
发注NO 不同就write第一条,以第二条为标准,继续读,比较。。。
关键是要设计好LF
以发注NO 和发注时间 做键值排序就可以了
本帖最后由 q疯哥p 于 2010-11-10 13:00 编辑
需要逻辑文件一个 键字是发注NO,区分标志,日期等 来区分不同的记录并排序。(如何PF里记录排序规则的话 可以不用LF)
程序处理时将读文件和写子文件分开。顺读取记录,并将区分字段(键字)记到临时字段里,判断是否一样,相同记录则不写子文件
不同则写子文件。。。循环处理。。
没人能解答吗