免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2138 | 回复: 3

[求助],使用动态定义文件编译不通过! [复制链接]

论坛徽章:
0
发表于 2006-05-19 14:07 |显示全部楼层
看了以前的帖子
http://bbs.chinaunix.net/viewthread.php?tid=612081&highlight=关于动态定义文件

编了一段:
0001.00 FFILE1     IF   E             DISK    EXTFILE(FILENAME)                 
0001.01 F                                     EXTMBR(MBRNAME)                  
0002.00 F                                     USROPN                           
0003.00 DFILENAME         S             10A   INZ('DBMXX')                     
0003.01 DMBRNAME          S             10A   INZ                              
0004.00 C                   EVAL      FILENAME='FILEA'                          
0004.01 C                   EVAL      MBRNAME='FILEA'                           
0005.00 C                   OPEN      FILE1                                    
0006.00 C                   READ      FILE1                                    
0007.00 C     'HELLO'       DSPLY                                               
0008.00 C                   CLOSE     FILE1                                    
0009.00 C                   SETON                                        LR     

编译出错如下:
  号码  ....1....+....2....+....3....+....4....+....5....+....6....+....7...   
                                    源列表                                    
      1 FFILE1     IF   E             DISK    EXTFILE(FILENAME)               
======> aaaaaaaaaa                                                            
*RNF2120 40 a      000100   找不到文件 FILE1 的外部描述;忽略文件。           
      2 F                                     EXTMBR(MBRNAME)                  
      3 F                                     USROPN                           
      4 DFILENAME         S             10A   INZ('DBMXX')                     
      5 DMBRNAME          S             10A   INZ                              
      6 C                   EVAL      FILENAME='FILEA'                        

查了一下参考手册,extfile关键字说明如下:
EXTFILE 关键字用来指定要在运行时打开的实际文件名而不是在编译时提供该名称。值可以是文字或变量。

记录:


如果使用变量名,则必须在打开文件之前对其进行设置。对于在程序初始化时自动打开的文件,必须通过下列其中一种方法设置变量:
1、在 D 规范上使用 INZ 关键字
2、将值作为输入参数传入

找不到原因,请各位老大指点指点。。

论坛徽章:
0
发表于 2006-05-19 21:42 |显示全部楼层
虽然是动态指定文件,但是至少你编译的时候FILE1 还是要存在的。
而且注意你动态指定的文件用到的field都必须和file1中是一致的。

论坛徽章:
0
发表于 2006-05-20 08:12 |显示全部楼层
原帖由 aliceliu 于 2006-5-19 21:42 发表
虽然是动态指定文件,但是至少你编译的时候FILE1 还是要存在的。
而且注意你动态指定的文件用到的field都必须和file1中是一致的。

谢谢指点。。。连到单位试一下。。。

论坛徽章:
0
发表于 2006-05-20 16:27 |显示全部楼层
嗯,f表声明的文件还是要存在的。。
原本因为做查询程序需要每次查询导出临时表的。。
这样读取临时表查询结果的rpg程序就需要动态定义文件了。。。
这样问题解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP