9.162 OBJECT_PROPAGATE

LANSA

9.162 OBJECT_PROPAGATE


Þ 注:組み込み関数の規則

指定のリポジトリ・グループにオブジェクトを伝播します。

各製品の対応

Þこれは、 開発環境のみで使用される特殊BIF です。

LANSA/AD

使用可

RDMLX ファンクションでは使用不可
RDMLX区画内のRDMLおよびRDMLXオブジェクトに対して動作可能
RDML区画内のRDMLオブジェクトに対して動作可能

Visual LANSA for Windows

未対応 

 

Visual LANSA for Linux

未対応 

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

オブジェクト名

タイプ:オブジェクト名
フィールド:フィールド名
ファイル:ファイル名
ファンクション:プロセス名
プロセス:プロセス名
システム変数:システム変数名の最初の10文字
言語変数:言語変数名の最初の10文字

1

10

0

0

2

A

必須

オブジェクト拡張子

タイプ:オブジェクト拡張子
フィールド:ブランク
ファイル:ファイル・ライブラリ名
ファンクション:ファンクション名
プロセス:ブランクまたは区画モジュール・ライブラリ
システム変数:システム変数名の最後の10文字
言語変数:言語変数名の最後の10文字

1

10

0

0

3

A

必須

オブジェクト・タイプ

有効なオブジェクト・タイプは以下のとおりです。
DF = フィールド
FD = ファイル
PF = ファンクション
PD = プロセス
SV = システム変数
MT = 複数言語文字変数

 

 

 

 

4

A

必須

ワーク・グループ

*ALL または有効なワーク・グループ

 

 

 

 

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

戻りコード

有効な戻りコード:
OK = 成功した
ER = 成功しなかった

1

2

0

0

技術ノート

区画IDは、この組み込み関数が実行される現在の区画です。

以下のRDMLコードは、組み込み関数を別の環境で使用する方法を示します。

LANSAコマンドに以下のパラメータを指定して、以下のファンクションを直接呼び出すことができます。

LANSA REQUEST(RUN) PROCESS(Process_name) FUNCTION(Function_name) PARTITION(DEM)

FUNCTION   *DIRECT                                                 
 DEFINE     FIELD(#OBJNM) TYPE(*CHAR) LENGTH(10) DESC('Object Name' 
            )                                                       
 DEFINE     FIELD(#OBJEX) TYPE(*CHAR) LENGTH(10) DESC('Object Ex')  
 DEFINE     FIELD(#OBJTY) TYPE(*CHAR) LENGTH(2) DESC('Object Type') 
 DEFINE     FIELD(#WRKGP) TYPE(*CHAR) LENGTH(10) DESC('WorkGroup ') 
 DEFINE     FIELD(#TSKID) TYPE(*CHAR) LENGTH(10) DESC('Task ID')    
 DEFINE     FIELD(#RTNCD) TYPE(*CHAR) LENGTH(2) DESC('Return Code') 
 GROUP_BY   NAME(#PARM_GRP) FIELDS((#OBJNM) (#OBJEX) (#OBJTY) (#WRK GP) (#RTNCD))
 **********                                                         
 BEGIN_LOOP                                                         
 REQUEST    FIELDS((#PARM_GRP))                                     
USE        BUILTIN(OBJECT_PROPAGATE) WITH_ARGS(#OBJNM #OBJEX #OBJT Y #WRKGP) TO_GET(#RTNCD)
 END_LOOP                                                           
*
FUNCTION   *DIRECT                                                 
DEFINE     FIELD(#OBJNM) TYPE(*CHAR) LENGTH(10) DESC('Object Name')
DEFINE     FIELD(#OBJEX) TYPE(*CHAR) LENGTH(10) DESC('Object Ex')  
DEFINE     FIELD(#OBJTY) TYPE(*CHAR) LENGTH(2) DESC('Object Type') 
DEFINE     FIELD(#WRKGP) TYPE(*CHAR) LENGTH(10) DESC('WorkGroup (* ALL)')
DEFINE     FIELD(#TSKID) TYPE(*CHAR) LENGTH(10) DESC('Task ID')    
DEFINE     FIELD(#RTNCD) TYPE(*CHAR) LENGTH(2) DESC('Return Code') 
DEFINE     FIELD(#MSGDTA1) TYPE(*CHAR) LENGTH(30)                  
DEFINE     FIELD(#MSGDTA) TYPE(*CHAR) LENGTH(132)                  
CHANGE     FIELD(#MSGDTA1) TO('RETURN CODE--> ')                   
GROUP_BY   NAME(#PARM_GRP) FIELDS((#OBJNM) (#OBJEX) (#OBJTY) (#WRK GP) )
IF         COND('*JOBMODE = I')                                    
BEGIN_LOOP                                                         
REQUEST    FIELDS((#PARM_GRP))                                     
SUBMIT     PROCESS(TESTBIF) FUNCTION(BIF02) EXCHANGE(#PARM_GRP)    
CHANGE     FIELD(#PARM_GRP) TO(*NULL)                              
END_LOOP                                                           
ELSE                                                               
USE        BUILTIN(OBJECT_PROPAGATE) WITH_ARGS(#OBJNM #OBJEX #OBJTY #WRKGP) TO_GET(#RTNCD)
**********                                                         
USE        BUILTIN(BCONCAT) WITH_ARGS(#MSGDTA1 #RTNCD #OBJNM) TO_GET(#MSGDTA)
     MESSAGE    MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(#MSGDTA)
ENDIF