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

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2008-09-14 12:05:46

BASED DS是指针型DS类型数据变量。主要用于对某种DS的地址引用。
 
(一)改变400系统默认值为用户自定义名称
     最近CU上有朋友发帖,说可不可以把400的指示灯*in改变为自己习惯的名称。答案是肯定的。可以通过以下定义,BSEED DS用法,改变到用户自己习惯的用法:
 
D IndicatorPtr          *      INZ(%ADDR(*IN))
D                   DS             BASED(IndicatorPtr)
D F03Key   3  3
D F05Key   5  5
D FileEOF 96 96
 
这样RPG程序中就可以以下的用法:
 
C      IF F03Key = *ON
C         EVAL *INLR = *ON
C      EndIF
 
或,
C      READ file                           96
C      IF   FileEOF = *ON
C  ......
 
(二)程序间DS参数的引用
在大型项目中,比较好的程序间调用采用:
    callp(项目DS参数:模块DS参数:程序参数)
那么,如何引用项目DS参数呢?
 
试用程序定义,来说明如何使用这个DS参数:
DBDR01401DS       DS                  LIKEDS(BDR01401)
D                                               BASED(BDR01401PTR)
...
C*程序入口
C        *ENTRY        PLIST
C                         PARM                    XBXCOMPTR
C                         PARM                    RC
.....
//**************************************************************
//  子例程 :Init
//  功能   :初始化
//**************************************************************
  begsr Init ;
     BDR01401PTR = XBXBCOM.BTX_REQ_PTR ;
 
这样,就可以通过BDR01401DS直接引用项目参数ds XBXBCOM中的参数了。
 
 
阅读(1686) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~