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

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2010-03-17 12:22:40

RPGIV编程问题百解(34)MCH3601,利用pointer进行程序间Ds结构传递分析和技巧
 
    RPGLE程序通过pointer进行Ds结构参数传递,如果没有定义合理,就会在程序调用时OS会报出错信息:
 
    MCH3601,Pointer not set for location referenced.
 
    通常情况下,如果一个程序要通过pointer接收Ds结构信息,必须要在程序或copybook中定义这个Ds 在一个pointer的based键字,如:
 
    d            ds         based() qualified
    d                        *
 
    如果传递放rpgle程序要使用同样的Ds结构,放入传递的数据,不能直接使用copybook中已经based的Ds结构名,必须在传递程序中定义likeds,即另外使用一个相同Ds结构的名称。在传递时,把这个Ds结构用%addr赋值给pointer,如:
    d           ds        likeds() qualified
      ......
      = ......
      = ......
      ......
      = %addr();
      ......
      return ;
      ......
 
阅读(1331) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~