关于数据区DTAARA(解决)

发布于 2022-08-26 13:35:01 字数 290 浏览 11 评论 7

在指定库中用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 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

仄言 2022-08-26 18:48:06

谢谢各位的解答~

腹黑女流氓 2022-08-26 18:48:05

原帖由 wzjwqs 于 2009-5-22 09:20 发表
十分感谢ccying地回答
我之前想定义数据区里的结构,现在换成上面的定义方法后,程序不会报错了,但是DSPDTAARA无法看到写入的'HELLO'。

没有赋值

一身软味 2022-08-26 18:47:40

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
将注视掉的改一下!!!

自由如风 2022-08-26 18:45:05

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

想你只要分分秒秒 2022-08-26 18:45:05

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

唱一曲作罢 2022-08-26 17:58:33

程序贴出来看看

猫七 2022-08-26 17:54:06

补充一下
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 . . . . . . . . . . . . . . . :      

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文