Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1298484
  • 博文数量: 287
  • 博客积分: 11000
  • 博客等级: 上将
  • 技术积分: 3833
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-16 08:43
文章分类
文章存档

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2009-03-29 01:36:45

帮助理解《RPGIV编程问题百解(5)》与网友的QQ对话
 
 
厦门★passthru(448081936) 23:36:03
    云宝贝,第五个编程解答,你看明白了吗?就我写的程序而言
大连☆云宝贝<> 23:46:52
    引用外部ds不可以用dim来重新定义。
大连☆云宝贝<> 23:47:31
    程序没觉得有什么啊?
厦门★passthru(448081936) 00:00:04
    这只是第一个问答。第二个回答呢?程序你看懂了吗?
大连☆云宝贝<> 00:02:04
    嗯。大致看得懂
大连☆云宝贝<> 00:02:25
    我以前没做过rpg4, 但是外部ds常用。
厦门★passthru(448081936) 00:02:36
    说说看,哪处是关键点?
大连☆云宝贝<> 00:03:11
    关键是想使用外部ds的数据结构
厦门★passthru(448081936) 00:03:06
    我表达的是什么意思?
大连☆云宝贝<> 00:03:19
    要更新外部数据结构
大连☆云宝贝<> 00:03:42
    如果只是要当输入参数的话,用input就可以了
厦门★passthru(448081936) 00:03:40
    你的回答太一般了,没有理解。
大连☆云宝贝<> 00:04:00
    如果要输入输出,qualified
厦门★passthru(448081936) 00:04:14
    qualified的应用你明白了吗?
大连☆云宝贝<> 00:05:04
    我的理解就是以何种方式引用外部ds。
厦门★passthru(448081936) 00:05:31
    为什我第一个回答,不能用DIM;而在第二个回答中又用到DIM?
大连☆云宝贝<> 00:06:50
    qualified 指定引用外部ds。
大连☆云宝贝<> 00:07:09
    DNonBill_jobsIn           likeds(ds_NonBill_jobs_in) dim(100)
    DNonBill_jobsOut          likeds(ds_NonBill_jobs_Out) dim(100)
厦门★passthru(448081936) 00:07:30
    为什么呢?
大连☆云宝贝<> 00:07:39
    重定义两个跟NonBill_Jobs  结构一样的
厦门★passthru(448081936) 00:08:12
  ‘重定义两个跟NonBill_Jobs  结构一样的’?
大连☆云宝贝<> 00:08:45
   dim(100)是数组吧。
厦门★passthru(448081936) 00:08:45
   对,
大连☆云宝贝<> 00:09:13
   我的理解就是这样的了,不知道对不对。
厦门★passthru(448081936) 00:09:18
   为什我第一个回答,不能用DIM;而在第二个回答中又用到DIM?
大连☆云宝贝<> 00:10:08
   因为没有在同一个地址空间?
厦门★passthru(448081936) 00:10:16
   不对,
厦门★passthru(448081936) 00:11:53
   我指出不能用dim的ds位置与可以用dim的ds位置有何区别?
大连☆云宝贝<> 00:12:21
   Qualified
厦门★passthru(448081936) 00:12:49
   没有表达清楚
大连☆云宝贝<> 00:13:12
   ds用Qualified定义,不受dim限制。
厦门★passthru(448081936) 00:13:23
   错误的概念
大连☆云宝贝<> 00:13:32
   所以程序不好用。
大连☆云宝贝<> 00:13:53
   总之,就是先头的程序不好用。
厦门★passthru(448081936) 00:13:49
   我第一个回答已经否定了
大连☆云宝贝<> 00:14:15
   第一个dim是无效的,对吧?
厦门★passthru(448081936) 00:14:33
   qualified是引用外部已经定义好的ds结构。(第一个dim)是行不通,编译就报错的ds。
大连☆云宝贝<> 00:16:02
   哦。
大连☆云宝贝<> 00:16:19
   如果要实现程序要做的操作,只能先引用到程序中来。变成内部的ds。然后再用likeds,定义成数组。然后对新定义的数组操作就可以了。
厦门★passthru(448081936) 00:17:44
   要点:
   1)qualified是引用外部已经定义好的ds结构;
   2)在qualified ds中要使用dim,只能放到这个被引用的ds的次级以下项中定义;
大连☆云宝贝<> 00:18:25
  哦。
大连☆云宝贝<> 00:18:32
   就跟table似的。
厦门★passthru(448081936) 00:18:37
   不能这么说
大连☆云宝贝<> 00:19:03
   原来这样。
厦门★passthru(448081936) 00:19:00
   ds可以嵌套ds
大连☆云宝贝<> 00:19:19
   嗯,是的。
厦门★passthru(448081936) 00:19:35
   所以,我的程序中,在次级的ds中,可以定义dim。就是这个qualified的ds下包含两个含dim的ds结构。
大连☆云宝贝<> 00:20:43
   NonBill_jobsIn是次级ds么?
厦门★passthru(448081936) 00:20:42
   对
大连☆云宝贝<> 00:21:31
   哦,我还以为跟NonBill_Jobs 没有任何关系。
厦门★passthru(448081936) 00:21:30
   (这类次级ds)定义的语法,与单独定定义ds的语法不一样。
大连☆云宝贝<> 00:21:43
   只是参照数据结构。
厦门★passthru(448081936) 00:22:48
   这个不一样的地方,决定了这两个带dim的ds归属于上面的ds。
大连☆云宝贝<> 00:24:01
   哦。
大连☆云宝贝<> 00:24:25
   dIndex              s                4  0
   dJob#In             s                5  
   d hoursin           s                9P 2 
   d namein            s               23
大连☆云宝贝<> 00:24:32
   这几个是单独的变量没有从属关系吧?
大连☆云宝贝<> 00:25:08
     DNonBill_Jobs     ds                      qualified
     D  NB_Job#                       5A   overlay(NonBill_Jobs)     
     D  NB_JNme                      23A   overlay(NonBill_Jobs:*next)
     D  NB_JobHrs                     9P 2 overlay(NonBill_Jobs:*next)
 
厦门★passthru(448081936) 00:25:07
    如果,我这段的解释你能够理解的话,才是真正理解了《RPGIV编程问题百解(5)》。
大连☆云宝贝<> 00:25:38
    这个是重新定义了NonBill_Jobs的数据结构。
厦门★passthru(448081936) 00:25:39
    这样定义是错误的。
大连☆云宝贝<> 00:26:15
     DNonBill_Jobs     ds                      input
     D  NB_Job#                       5A   overlay(NonBill_Jobs)     
     D  NB_JNme                      23A   overlay(NonBill_Jobs:*next)
     D  NB_JobHrs                     9P 2 overlay(NonBill_Jobs:*next) 
     这样子可以的?
厦门★passthru(448081936) 00:26:23
    qualified的意思你还没有明白。
大连☆云宝贝<> 00:26:41
    嗯。
厦门★passthru(448081936) 00:27:05
    最后一个定义可以这样使用。前一个qualified定义是错误的。
    只要定义俩qualified的ds,下面除非定义likeds,都不能再定义任何的字段元素。因为这些元素是在外部已经定义好的,这里只是引用这些元素或次级ds。
大连☆云宝贝<> 00:31:11
    明白了。
大连☆云宝贝<> 00:31:40
    这个是专门用来比较两个数组的不同的吗?
厦门★passthru(448081936) 00:31:40
    我相信,说到这个份上应该也明?
阅读(863) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~