免费注册 查看新帖 |

Chinaunix

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

帮助看一下代码,F行的这两个文件什么关系 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-07 21:04 |只看该作者 |倒序浏览
     H DEBUG DATEDIT(*YMD)
     F*----------------------------------------------------------------*
     F*  SWBA02                                                        *
     F*  Supplier Infor                                              *
     F*----------------------------------------------------------------*
     FSWBA02DF  CF   E             WORKSTN INFSR(*PSSR)
     F                                     SLN(@LN)
     F                                     INFDS(@INFDS)
     F*  The screen input/output file.
     F*----------------------------------------------------------------*
     F@IBYSYS   UF   E           K DISK    INFSR(*PSSR)
     F*----------------------------------------------------------------*
     F*----------------------------------------------------------------*
     FSAUADPU   IF   E           K DISK    INFSR(*PSSR)
     F                                     INFDS(@INF01)
     F*  Supplier Details
     F@RRNFDB   IF   E             DISK    INFSR(*PSSR)
     F                                     USROPN
     F                                     RENAME(SAUADPFRRNRED)
     F*  Record address version of the browsed file
     F*----------------------------------------------------------------*

     
     新手在练习,从别的地方拷过来一个程序,以上代码片段是文件声明,程序所要使用的文件、子程序都拷过来了,子程序和文件也编译通过了。
   我在编译这个程序的时候报找不到@RRNFDB 这个文件,我用wrkobj查过了没有@RRNFDB的定义
   我又使用命令DSPPGMREF看了原来的程序发现
  
   Object  . . . . . . . . . . . . . . . . . . :     @IBYSYS                 
    Library . . . . . . . . . . . . . . . . . :       PYSTAGUA              
    Object type . . . . . . . . . . . . . . . :       *FILE                 
    File name in program  . . . . . . . . . . :       @IBYSYS               
    File usage  . . . . . . . . . . . . . . . :       Input                 
                                                      Update               
    Number of record formats  . . . . . . . . :           1                 
       Record Format      Format Level Identifier     Field Count            
         @IBYSYSR              408FB53041568                16      

   Object  . . . . . . . . . . . . . . . . . . :     SAUADPU                  
     Library . . . . . . . . . . . . . . . . . :       PYSTAGUA               
     Object type . . . . . . . . . . . . . . . :       *FILE                  
     File name in program  . . . . . . . . . . :       @RRNFDB   
     File usage  . . . . . . . . . . . . . . . :       Input                  
     Number of record formats  . . . . . . . . :           1                 
       Record Format      Format Level Identifier     Field Count            
         SAUADPF               45A5628C88127                27  

    从上面的信息看@RRNFDB和SAUADPU有什么关系,为什么找不到定义,@RRNFDB是怎么定义的?
   
   

   

   

   

论坛徽章:
0
2 [报告]
发表于 2012-07-09 11:18 |只看该作者
查了每个库就是没找到@RRNFDB

论坛徽章:
0
3 [报告]
发表于 2012-07-09 12:13 |只看该作者
应该是OVRDBF的问题,这个程序有上位程序吗?是CL调这个程序的?

论坛徽章:
0
4 [报告]
发表于 2012-07-09 12:32 |只看该作者
我还不知道OVRDBF是啥意思
程序的最后一行的代码是 OVRDBF @RRNFDB SAUADPU
这个程序被另外的一个RPG程序调用

论坛徽章:
0
5 [报告]
发表于 2012-07-09 14:52 |只看该作者
那你就先在命令行执行:OVRDBF @RRNFDB SAUADPU,然后在编译。如果想了解OVRDBF是什么,自己去查查书,这样会记得更牢固。

论坛徽章:
0
6 [报告]
发表于 2012-07-09 15:41 |只看该作者
回复 6# cuilei286


    谢谢,我回头试试

论坛徽章:
0
7 [报告]
发表于 2012-07-15 17:23 |只看该作者
回复 5# cuilei286


我在命令行试了OVRDBF @RRNFDB SAUADPU,还是编译通不过
今天把拷回来的代码阅读了一下发现
代码里有个子程序
C     @RRNO         BEGSR                                       
C*  ........Perform Override and open RRN File                  
C                   CALL      'QCMDEXC'                          
C                   PARM                    @ZA                  
C                   PARM      50            @ZCMDL           15 5
C                   OPEN      @RRNDBF                           
C*                                                               
C                   ENDSR                           


@ZA是这样声明的
D @ZA             S             50    DIM(1) CTDATA PERRCD(1)
查看资料发现这是一个包含一个元素的数组,CTDATA 表明是编译时赋初始值的数组,PERRCD(1)表明初始值使用底部数据,每行为一个元素
查看了底部数据为
**
OVRDBF @RRNFDB SAUADPU

子程序@RRNO在这个程序里面是首先执行的,QCMDEXC执行的时候参数@ZA应该是OVRDBF @RRNFDB SAUADPU,参数@ZCMDL为50

到现在还是弄不明白@RRNFDB是怎么回事,查看了其他几个功能相同的程序,都用到了@RRNFDB这个东东,感觉它像一个PF,觉的它与OVRDBF命令有关,但是不知道怎么弄





           


   

论坛徽章:
0
8 [报告]
发表于 2012-07-15 22:06 |只看该作者
回复 7# jinaolei

执行了OVRDBF后编译不能通过,报的错误是什么?应该就不会在报找不到@RRNFDB了,可能是其他的错误导致编译不通过,你在查查原因。

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP