免费注册 查看新帖 |

Chinaunix

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

如何在SUBFILE的顶部和底部同时显示文字? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-04 22:03 |只看该作者 |倒序浏览
我做了一个SUBFILE在WINDOW中显示,现在显示均正常,我想在顶端加上列标题,底端加上键提示。
问题就出现了:要么只能加顶部的文字,要么只能加底部的提示,不可两者同时加上去,否则就编译错误:“Subfile control record overlaps subfile record”

如何解决??


SFLCTL部分源码:
A          R SUBFC                     SFLCTL(SUBF)                             
A                                      SFLSIZ(9999)                             
A                                      SFLPAG(5)                                
A                                      WINDOW(8 20 12 40)                       
A                                      WDWTITLE((*TEXT 'RECORD DETAILS') +      
A                                      (*DSPATR HI))                           
A                                      SFLDSP                                   
A                                      SFLDSPCTL                                
A  40                                  SFLEND(*MORE)                           
A                                      OVERLAY                                 
A*                                 1  2'Opt Name               Description'     
A                                 10  2'1-Select    F12:Cancel'                 
最后2行大家看到了,如果同时出现编译就会报错。

[ 本帖最后由 dazzling2000 于 2007-5-4 23:59 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-05-05 10:26 |只看该作者
把下面顯示的做另外一個記錄試驗一下看有沒有問題

论坛徽章:
0
3 [报告]
发表于 2007-05-05 10:30 |只看该作者
那样不行. 因为提示就不会显示在窗口内了.

论坛徽章:
0
4 [报告]
发表于 2007-05-06 10:02 |只看该作者

  1. A          R DSP04                     OVERLAY                                 
  2. A                                      WINDOW(&LINE &POS 13 25)               
  3. A                                      WDWTITLE((*TEXT 'RECORD DETAILS') +     
  4. A                                      (*DSPATR HI))                           
  5. A            LINE           2S 0P                                             
  6. A            POS            3S 0P                                             
  7. A                                 11  9'CTRL ?? '                           
  8. A  80        ERRMSG        20A  O 12  2DSPATR(HI)                              
  9. A                                      DSPATR(BL)                              
  10. A*                                                                             
  11. A          R DSP05                     SFL                                    
  12. A            SMORD          2S 0O  4  3                                       
  13. A            SNAME         10O  O  4  8                                       
  14. A          R DSP06                     SFLCTL(DSP05)                           
  15. A  80                                  ALARM                                   
  16. A                                      WINDOW(DSP04)                           
  17. A                                      SFLPAG(6)                              
  18. A                                      SFLSIZ(7)                              
  19. A  26                                  SFLDSP                                 
  20. A  27                                  SFLDSPCTL        
  21. A  28                                  SFLCLR           
  22. A  29                                  SFLEND(*MORE)   
  23. A                                  2  1' 代碼'         
  24. A N60                              2  8' 外包商 '      
  25. A  60                              2  8' 作業類別 '     
  26. A                                  3  2'===='           
  27. A                                  3  9'======'         
复制代码

论坛徽章:
0
5 [报告]
发表于 2007-05-06 18:27 |只看该作者

  1. A          R WINDOW1                   OVERLAY                                    
  2. A                                      WINDOW(8 20 12 40)                          
  3. A                                      WDWTITLE((*TEXT 'RECORD DETAILS') +         
  4. A                                      (*DSPATR HI))                              
  5. A                                 10  2'1-Select    F12:Cancel'                    
  6. A                                      DSPATR(HI)                                 
  7. A                                                                                 
  8. A** BLEOW IS SUBFILE                                                               
  9. A          R SUBF                      SFL                                         
  10. A            SFLOPT         1   I  2  2VALUES('1')                                 
  11. A            SFLNAME       18   O  2  6                                            
  12. A            SFLDESC       12   O  2 25                                            
  13. A          R SUBFC                     SFLCTL(SUBF)                                
  14. A                                      WINDOW(WINDOW1)                             
  15. A                                      SFLSIZ(9999)                                
  16. A                                      SFLPAG(5)                                   
  17. A                                      SFLDSP                                      
  18. A                                      SFLDSPCTL                                   
  19. A  40                                  SFLEND(*MORE)                              
  20. A                                  1  2'Opt Name               Description'      
  21. A                                      DSPATR(HI)

复制代码

这样写能有错吗? 可是为何一执行到exfmt SUBFC处程序就报错:
Session or device error occurred in file WIN (C G D F).
真百思不得其解...

[ 本帖最后由 dazzling2000 于 2007-5-6 18:41 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-05-07 10:54 |只看该作者
RPGLE 代码呢?

论坛徽章:
0
7 [报告]
发表于 2007-05-08 08:32 |只看该作者
现在问题已经解决,但有新问题,就是在清除SUBFILE时.
这个SUBFILE显示第二次时,会同之前的重复,因此我使用了
SDA:
31                                          SUBCLR

RPGLE:
Seton                                                                31
Write         SUBFC(SUBFILE 的控制记录)
Setoff                                                                31
编译执行也正常,但发现之前旧数据地方变成了空白.
我试着eval         RRN=0
但在第二次显示SUBFILE报错.
如何解决??

论坛徽章:
0
8 [报告]
发表于 2007-05-08 11:09 |只看该作者
原帖由 dazzling2000 于 2007-5-8 08:32 发表
现在问题已经解决,但有新问题,就是在清除SUBFILE时.
这个SUBFILE显示第二次时,会同之前的重复,因此我使用了
SDA:
31                                          SUBCLR

RPGLE:
Seton                      ...


RRN=0了,SUBFILE还怎么显示阿?

我一开始也出现了这个 Session or device error occurred in file WIN (C G D F).
不知楼主怎么解决的。
我在exfmt SUBFC 之前加了一句write window1 之后就都OK了。
还有 那个SUBCLR还是SFLCLR阿。

我的DSPF代码:


  1.      A          R WIN
  2.      A                                      WINDOW(3 4 19 68)
  3.      A                                      OVERLAY
  4.      A                                      WDWTITLE((*TEXT 'RECORD DETAILS') (-
  5.      A                                      *DSPATR HI))
  6.      A                                      WDWBORDER((*COLOR BLU) (*DSPATR RI))
  7.      A                                 18  3'F1 - EXIT'
  8.      A                                      COLOR(BLU)
  9.      A          R IESECS                    SFL
  10.      A            ISOPT          1A  B  5  4
  11.      A            ISSECD         2A  O  5  9
  12.      A            ISSANM        50A  O  5 16
  13.      A          R IESECC                    SFLCTL(IESECS)
  14.      A                                      SFLSIZ(0013)
  15.      A                                      SFLPAG(0012)
  16.      A                                      WINDOW(WIN)
  17.      A                                      OVERLAY
  18.      A  78                                  SFLDSP
  19.      A  78                                  SFLDSPCTL
  20.      A  76                                  SFLCLR
  21.      A N77                                  SFLEND(*MORE)
  22.      A                                  4  9'SEC.'
  23.      A                                      DSPATR(UL)
  24.      A                                      COLOR(WHT)
  25.      A                                  4  3'OPT'
  26.      A                                      DSPATR(UL)
  27.      A                                      COLOR(WHT)
  28.      A                                  4 16'SECTION NAME                      -
  29.      A                                                      '
  30.      A                                      DSPATR(UL)
  31.      A                                      COLOR(WHT)
  32.      A                                  2  2'F12: RETURN     OPT=1: SELECT'
  33.      A                                      COLOR(BLU)

复制代码

RPG 代码

  1.      C           SEC       BEGSR
  2.      C                     SETON                     76
  3.      C                     WRITEIESECC
  4.      C                     SETOF                     76
  5.      C                     SETOF                     55
  6.      C                     Z-ADD0         RRNS    40
  7.      C           *LOVAL    SETLLSEC010R1
  8.      C           STEP09    TAG
  9.      C                     READ SEC010R1                 55
  10.      C           *IN55     CABEQ'1'       STEP10
  11.      C                     MOVEL*BLANK    ISOPT
  12.      C                     MOVELS1SECD    ISSECD
  13.      C                     MOVELS1SANM    ISSANM
  14.      C                     ADD  1         RRNS
  15.      C                     WRITEIESECS
  16.      C                     GOTO STEP09
  17.      C*          RRNS      CABLE11        STEP09
  18.      C*-------------------------------------
  19.      C           STEP10    TAG
  20.      C                     Z-ADDRRNS      WRNS    50
  21.      C                     WRITEWIN
  22.      C                     SETON                         78
  23.      C                     EXFMTIESECC
  24.      C                     SETOF                         78
复制代码

论坛徽章:
0
9 [报告]
发表于 2007-05-08 12:59 |只看该作者
同你的解决方法一样.

因为我的显示SUBFILE是在SUBPROCEDURE中的,
C                     Z-ADD0         RRNS    40
当第二次调用此过程显示SUBFILE时,执行到上述语句就出错

论坛徽章:
0
10 [报告]
发表于 2007-05-08 13:11 |只看该作者
现在第二个问题解决了没?

能把你的源文件打包传上来看看么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP