免费注册 查看新帖 |

Chinaunix

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

关于数据区DTAARA(解决) [复制链接]

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-21 09:18 |只看该作者 |倒序浏览
在指定库中用CL建立数据区ARA1(非本地数据区)
程序中 对其结构字段付值,OUT要求写入数据区ARA1,调用程序中总是提示以下信息
Data area type or length does not match program data area *LIBL/TESTARA1 (C

ARA1定义为最大长度2000*CHAR
付值为'HELLO'

谢谢大家帮助解答~

[ 本帖最后由 wzjwqs 于 2009-5-25 15:21 编辑 ]

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
2 [报告]
发表于 2009-05-21 09:55 |只看该作者

回复 #1 wzjwqs 的帖子

补充一下
joblog信息
                                                                                
Message . . . . :   Data area type or length does not match program data area  
   *LIBL/TESTARA1 (C G D F).                                                   
Cause . . . . . :   RPG procedure TEST002 in program WJQLIB/TEST002 tried to   
   access data area *LIBL/TESTARA1 at statement *INIT. The attributes of the   
   actual data area are different from the attributes of the data area         
   *LIBL/TESTARA1 described in the program. If a *LGL data area is expected, a  
   data area of type *CHAR and length 1 is also allowed.                        
Recovery  . . . :   See message RNX0411 in the joblog for more information.   
   Contact the person responsible for program maintenance to determine the      
   cause of the problem.                                                        
Possible choices for replying to message . . . . . . . . . . . . . . . :      

这里的意思是否是当前生效的是默认的数据区,而我想要写入的数据长度与其不符呢?
如果是的话,怎样将当前生效的数据区设置为之前建立的数据区呢?
麻烦高人解答~~

论坛徽章:
0
3 [报告]
发表于 2009-05-21 09:57 |只看该作者
程序贴出来看看

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
4 [报告]
发表于 2009-05-21 10:00 |只看该作者

回复 #1 wzjwqs 的帖子

0004.05 DTESTARA1        UDS                                    
0004.06 DARAFLD1                        10A                     
0004.07 D                                                      
0004.08 C     *DTAARA       Define                  Testara1   
0004.11 C                   Eval      Arafld1 = 'HELLO'         
0004.12 C     *Lock         Out       Testara1                  
0004.13 C
ccying 该用户已被删除
5 [报告]
发表于 2009-05-21 23:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
6 [报告]
发表于 2009-05-22 09:20 |只看该作者

回复 #1 wzjwqs 的帖子

十分感谢ccying地回答
我之前想定义数据区里的结构,现在换成上面的定义方法后,程序不会报错了,但是DSPDTAARA无法看到写入的'HELLO'。

论坛徽章:
0
7 [报告]
发表于 2009-05-23 09:41 |只看该作者

回复 #4 wzjwqs 的帖子

0004.05 D*TESTARA1        UDS                                    
0004.05 DTESTARA1        UDS        1024                           
0004.06 DARAFLD1                        10A                     
0004.07 D                                                      
0004.08 C*     *DTAARA       Define                  Testara1   
0004.08 C     *DTAARA       Define      ara1            Testara1   
0004.11 C                   Eval      Arafld1 = 'HELLO'         
0004.12 C     *Lock         Out       Testara1                  
0004.13 C
将注视掉的改一下!!!

论坛徽章:
0
8 [报告]
发表于 2009-05-23 10:13 |只看该作者
原帖由 wzjwqs 于 2009-5-22 09:20 发表
十分感谢ccying地回答
我之前想定义数据区里的结构,现在换成上面的定义方法后,程序不会报错了,但是DSPDTAARA无法看到写入的'HELLO'。

没有赋值
ccying 该用户已被删除
9 [报告]
发表于 2009-05-23 23:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
10 [报告]
发表于 2009-05-25 15:20 |只看该作者
谢谢各位的解答~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP