rpg中dtaara 问题,(已解决)

发表于:2007-05-26来源:作者:点击数: 标签:
如何在rpg中改变一个外部的dtaara; 报程序错如下: DataareaZLTSTARAisnotallocatedforoutput(CGDF) xuguopeng 回复于:2004-11-10 19:38:42 RPG是不可以操作*DTAARA的吧只有CLP才可以 RPG只能处理*LDA吧 CLP中用CHGDTAARA bobofish29 回复于:2004-11-10 2

如何在rpg中改变一个外部的dtaara;
报程序错如下:
Data area ZLTSTARA is not allocated for output (C G D F)

 xuguopeng 回复于:2004-11-10 19:38:42
RPG是不可以操作*DTAARA的吧 只有CLP才可以

RPG只能处理*LDA吧

CLP中用CHGDTAARA

 bobofish29 回复于:2004-11-10 20:35:54
[quote:7aea14e36d="xuguopeng"]RPG是不可以操作*DTAARA的吧 只有CLP才可以

RPG只能处理*LDA吧

CLP中用CHGDTAARA[/quote:7aea14e36d]

嘻嘻.....兄弟,RPG中也可以使用*DTAARA的,要先用CRTDTAARA命令生成一个*DATARA,例如: (生成FAXARA)
[code:1:7aea14e36d]
                               Display Data Area          
                                                          
 Data area . . . . . . . :   FAXARA                           *NAME                     
   Library . . . . . . . :     DOCLIB                            
 Type  . . . . . . . . . :   *DEC                                  *数字型
 Length  . . . . . . . . :   5 0                                    *长度
 Text  . . . . . . . . . :   (SD) Fax Sequence (CHN)   *描述   
 Value . . . . . . . . . :   81014                                *值
[/code:1:7aea14e36d]

在RPGLE中代码: (对FAXARA进行+1操作)
[code:1:7aea14e36d]
C     *DTAARA       DEFINE                  FAXARA            5 0         *在RPG中定义*DTAARA ,长度与上面的*DTAARA一样
C     *LOCK         IN        FAXARA                              
C                   ADD       1             FAXARA                
C                   OUT       FAXARA                              
C                   UNLOCK    FAXARA                              
[/code:1:7aea14e36d]

 cqlifu 回复于:2004-11-11 08:31:07
[quote:ae7a9894ba="bobofish29"][/quote:ae7a9894ba]
大侠讲得对,
*LOCK         IN        FAXARA 
这个语句很管用呀,如果没有factor1的*lock,就会报错误;
赞!

 xuguopeng 回复于:2004-11-11 09:03:28
RPG可以么 ????你说的是RPGLE

IBMer说RPG COBOL都是不能操作DTAARA的 所以一般都用LOCAL DATA AREA

 袋鼠卡拉 回复于:2004-11-11 09:47:33
骑士说的对,数据区域可以被读出写入

 bobofish29 回复于:2004-11-11 10:10:53
[quote:db6625f481="xuguopeng"]RPG可以么 ????你说的是RPGLE

IBMer说RPG COBOL都是不能操作DTAARA的 所以一般都用LOCAL DATA AREA[/quote:db6625f481]
xuguopeng兄弟说得对,刚才在RPG上试了一下,好象是没有办法用DEFN定义一个*DTAARA,不知道还有没有其它的方法可以解决?关注......

 xuguopeng 回复于:2004-11-11 10:25:42
刚才查过书了,CBL或RPG都是不能直接操作DTAARA的 

CBLLE或RPGLE都可以

CBL或RPG只能操作*LDA(local data area)

 bobofish29 回复于:2004-11-11 10:43:26
收到,不过我们公司现在大部分PGM都是RPGLE或是CL,RPG已经比较少用了!

 xuguopeng 回复于:2004-11-11 11:08:32
但是有很多业务系统都是很古老的 为了统一 只能用CBL 或RPG了

我现在都用CLLE的

 流浪深圳 回复于:2004-11-11 12:57:19
把rpg转化为rpgle

 hsiang_wang 回复于:2004-11-11 13:06:16
RPG可以读写DTAARA,我一直在用!楼主检查DTAARA是否被锁!

 bobofish29 回复于:2004-11-11 16:14:04
很想学学CBL,感觉现在好象用CBL的公司还是很多的!反而用RPGLE的不是很多!找工作都不好找了!

 hsiang_wang 回复于:2004-11-11 16:50:33
[quote:2dfde09945="bobofish29"]很想学学CBL,感觉现在好象用CBL的公司还是很多的!反而用RPGLE的不是很多!找工作都不好找了![/quote:2dfde09945]
学COBOL?可以交流!我用过!

 流浪深圳 回复于:2004-11-11 16:53:33
rpg转到CBL应该很容易,其实最好是转行

 hsiang_wang 回复于:2004-11-11 17:00:29
有道理!

 cqlifu 回复于:2004-11-11 18:20:57
向大虾,特别是斑竹们致敬!

原文转自:http://www.ltesting.net