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中的参数了。
阅读(1725) | 评论(0) | 转发(0) |