免费注册 查看新帖 |

Chinaunix

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

对数据区的操作的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-18 16:43 |只看该作者 |倒序浏览
我在练习对数据区的操作的编程的时候遇到下面的问题,麻烦大家给分析一下

谢谢大家!!!!!!!!!!!

首先我在我的库里创建了数据区 如下:MYLIB/MYDAARA
我在网上找到如下程序:

*************** Beginning of data **********************
0001.00     I#DTA            DS                                      20                    
FMT J     .....I...........................PFromTo++DF i e l d+L1M1FrPlMnZr.
0002.00      I                                    1       8 CURDAT            
0003.00      I                                  11     16 CURTME            
0004.00     C                   *NAMVAR     DEFN MYDTAARA  #DTA     
0005.00     C                   *LOCK          IN#DTA                              
0006.00     C                                       TIME   DATTME 140               
0007.00     C                                        MOVE DATTME    CURDA
0008.00     C                                        MOVELDATTME    CURTME  
0009.00     C                                        OUT    #DTA                       
0010.00     C                                        UNLCK#DTA                        
0011.00     C                                        SETON                              LR  
    ****************** End of data***********************

可我在编译的时候系统给出如下信息:
QRG4005    :文件名或记录名未定义或无效

Qrg7030    :字段或指示符未定义

QRG1020  :写至数据区域返回码时出错,未记录编译状态.

我不知道那除了出错了? 麻烦大家给指点一下.


谢谢大家!!!!!!!!!!!!!

论坛徽章:
0
2 [报告]
发表于 2005-08-18 17:43 |只看该作者

对数据区的操作的问题

你没有建立MYDTAARA 引起的,先建立

论坛徽章:
0
3 [报告]
发表于 2005-08-19 10:05 |只看该作者

对数据区的操作的问题

从编译的屏幕上看,主要是没有有定义#DTA和DATA两个字段.
可是我在我的库中已经定义了DATA数据区域.

1.jpg.gif (19.07 KB, 下载次数: 45)

1.jpg.gif

论坛徽章:
0
4 [报告]
发表于 2005-08-19 10:09 |只看该作者

对数据区的操作的问题

看看库列表什么的.中文的400,爽.

论坛徽章:
0
5 [报告]
发表于 2005-08-23 13:31 |只看该作者

对数据区的操作的问题

我在编译之前先把库加入到了库列表.

然后在编译还是出现上面的情形呀?


郁闷中.......................................

论坛徽章:
0
6 [报告]
发表于 2005-08-23 17:08 |只看该作者

对数据区的操作的问题

0004.00     C                   *NAMVAR     DEFN MYDTAARA  #DTA   
—>;
0004.00     C                   *DTAARA      DEFN MYDTAARA  #DTA

论坛徽章:
0
7 [报告]
发表于 2005-08-23 17:51 |只看该作者

对数据区的操作的问题

[quote]原帖由 "qingzhou"]    DEFN MYDTAARA  #DTA[/quote 发表:

这两个参数qinzhou大哥能讲讲具体的差别吗?

论坛徽章:
0
8 [报告]
发表于 2005-08-23 17:55 |只看该作者

对数据区的操作的问题

原帖由 "kempzhang" 发表:

这两个参数qinzhou大哥能讲讲具体的差别吗?

这几天我抽空整理成一篇文章、专讲DTAARA运用的,请等待。。。

论坛徽章:
0
9 [报告]
发表于 2005-08-24 08:01 |只看该作者

对数据区的操作的问题

谢谢了qingzhou大哥!!!!!!!!!

小弟期待着..................................

论坛徽章:
0
10 [报告]
发表于 2005-08-24 17:41 |只看该作者

对数据区的操作的问题


  1.   列  . . . :       1  71           编辑                            LIB/QRPGSRC
  2. SEU==>;                                                                MYDTAARA
  3. FMT DS .....IDsname....NODsExt-file++.............OccrLen+....................
  4.         ******************** 数据开始 *****************************************
  5. 0001.00      I#DTA        DS                             20                     
  6. 0003.00      I                                        1   8 CURDAT              
  7. 0004.00      I                                       11  16 CURTME              
  8. 0005.00      C           *NAMVAR   DEFN MYDTAARA  #DTA                          
  9. 0006.00      C           *LOCK     IN   #DTA                                    
  10. 0007.00      C                     TIME           DATTME140                     
  11. 0008.00      C                     MOVE DATTME    CURDAT                        
  12. 0009.00      C                     MOVELDATTME    CURTME                        
  13. 0010.00      C                     OUT  #DTA                                    
  14. 0011.00      C                     UNLCK#DTA                                    
  15. 0012.00      C                     SETON                     LR                 
  16. 0013.00      C                     RETRN                                       
  17.         ******************** 数据结束 *****************************************
  18.                                                                                 
  19.                                                                                 
  20.                                                                                 
  21.                                                                                 
  22. F3= 退出   F4= 提示   F5= 刷新   F9= 检索   F10= 光标   F11= 切换              
  23. F16= 重复查找         F17= 重复更改       F24= 其余键                          
  24.                                          (C) COPYRIGHT IBM CORP. 1981, 2002.   
复制代码


我也本地测试了一下,先创建一个名为MYDTAARA的字符形的数据区,然后编译RPG,发现LZ有2个比较明显的错误:
1、“ C                     MOVE DATTME    CURDAT ”行应该是CURDAT,而不是CURDA;
2、程序最后一行少一句“ C                     RETRN ”;
但编译结果还是出现了一个30级别的*QRG7044的错误信息,也找了半天没找出原因。
错误信息如下:

  1.                                显示假脱机文件                                   
  2.   文件 . . . . . :   MYDTAARA                          页/行     2/23         
  3.   控制 . . . . . .                                     列         1 - 75        
  4.   寻找 . . . . . .                                                              
  5.   *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+   
  6.        1300  C                     RETRN                                       
  7.              * * * * *    源结束    * *                  * * *                  
  8.              其他诊断消息                                                      
  9.   * 7044       700   DATTME 必须是数字字段,才能进行此操作。                    
  10.    5722WDS V5R2M0  020719                IBM RPG/400                           
  11.                             交叉引用                                            
  12.     字段引用:                                                                  
  13.            字段         属性      参考   ( M= 已修改  D= 已定义)              
  14.           *LOCK                600                                             
  15.           *NAMVAR              500                                             
  16.           #DTA        DS(20)   100D  500   600  1000  1100                     
  17.                       EXTNAME  MYDTAARA                                         
  18.           CURDAT      A(8)     300D  800M                                       
  19.           CURTME      A(6)     400D  900M                                       
  20.           DATTME      A(140)   700D  800   900                                 
  21.           MYDTAARA             500                                             
  22.                                                                         尚有 ...
  23. F3= 退出  F12= 取消    F19= 左    F20= 右     F24= 其余键                     
  24.                                                                                 
复制代码


哪位高人指点一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP