9.106 GET_LICENSE_STATUS

LANSA

9.106 GET_LICENSE_STATUS


このLANSAシステムのLANSAライセンスのステータスを特定の日付で取得します。

この組み込み関数を使って定期的にジョブを実行することにより、ライセンス期限切れの警告を事前に受け取ることができます。

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

各製品の対応

LANSA/AD

使用可

RDMLX では使用不可

Visual LANSA for Windows

未対応 

 

Visual LANSA for Linux

未対応 

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

N

任意

日付(YYYYMMDD)時点のライセンス状況
この引数が指定されていないか0の場合、今日の日付が使用されます。

8

8

0

0

2

A

任意

ライセンス・コード。このライセンス・コードのステータスを要求します。この引数の指定がない場合、引数1で指定された日付のライセンスすべてのステータスが戻されます。(*)

3

3

 

 

3

A

任意

ライセンス・バージョン(*)

この引数の指定がないか空白の場合、ライセンス・バージョンは「1」と仮定されます。

1

1

0

 

0

 

4

A

任意

チェックが必要な長いライセンス・コード(*)

24

24

0

 

0

 

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

L

必須

ライセンス・ステータスを含める作業リスト(*)

*

*

0

 

0

 

2

A

任意

戻りコード

OK = ライセンス・ステータスのリスト(満載または一部)が戻された。リストに戻された以上のフィールドは存在しない

OV = リスト(満載)が戻された。ただしリストに収まらなかったエントリーがさらに存在する

2

2

 

 

(*)   ライセンス・バージョンが「1」に設定されている場合、4番目の引数が指定されても無視されます。呼び出し元のRDMLファンクションは、項目の長さの合計が正確に4バイトかつ32,767エントリー以下の作業リストを提供しなければなりません。戻されるそれぞれのリスト項目は、次のような形式にする必要があります。

開始

終了

説明

1

3

ライセンス・コード

4

4

状況 Y/N.
Y = 引数1の日付時点で、このコンピュータのライセンスは有効です。

ライセンス・バージョンが「2」に設定されている場合、2番目の引数は無視され、指定されても、 4番目の引数が要求されているライセンス・コードのステイタスとして使用されます。呼び出し元のRDMLファンクションは、項目の長さが正確に25バイトかつ9,999エントリー以下の作業リストを提供しなければなりません。戻されるそれぞれのリスト項目は、次のような形式にする必要があります。

開始

終了

説明

1

24

ライセンス・コード

25

25

状況 Y/N.
Y = 引数1の日付時点で、このコンピュータのライセンスは有効です。

技術ノート

IBM iライセンス:戻されるライセンス・コードには、このLANSA システムの永久ライセンスが含まれます。さらにIBM iの導入処理を使ってIntegratorがインストールまたはアップグレードされている場合はLANSA Integratorキー・ライセンスが含まれます。LANSA Integratorが単独でインストールされている場合、GET_LICENSE_STATUSでIntegratorのライセンスは戻されません。

現在有効で、かつ来月期限の切れるライセンスを検索します。

DEFINE     FIELD(#CODE1) TYPE(*CHAR) LENGTH(3)                     
DEFINE     FIELD(#CODE2) TYPE(*CHAR) LENGTH(3)                     
DEFINE     FIELD(#STATUS1) TYPE(*CHAR) LENGTH(1)                   
DEFINE     FIELD(#STATUS2) TYPE(*CHAR) LENGTH(1)                   
DEF_LIST   NAME(#WLIST1) FIELDS((#CODE1) (#STATUS1)) TYPE(*WORKING 
           )                                                       
DEF_LIST   NAME(#WLIST2) FIELDS((#CODE2) (#STATUS2)) TYPE(*WORKING 
           )                                                       
DEF_LIST   NAME(#BLIST) FIELDS((#CODE2) (#STATUS2))                
DEFINE     FIELD(#EXPDATE) TYPE(*DEC) LENGTH(8) DECIMALS(0)        
DEFINE     FIELD(#YESTERDAY) TYPE(*DEC) LENGTH(8) DECIMALS(0)      
                                                                   
DEFINE     FIELD(#RETCODE) TYPE(*CHAR) LENGTH(2)                   
********** Today + 31 days : to get licenses which will expire 
********** next month 
USE        BUILTIN(FINDDATE) WITH_ARGS(#YYYYMMDD 31 J J) TO_GET(#E 
           XPDATE)                                               
********** WLIST2 will contain license status in 31 days time.
CLR_LIST   #wlist2                                                 
USE        BUILTIN(GET_LICENSE_STATUS) WITH_ARGS(#EXPDATE) TO_GET( 
           #WLIST2) 
********** Today - 1 day : to get yesterday's date                 
USE        BUILTIN(FINDDATE) WITH_ARGS(#YYYYMMDD -1 J J) TO_GET(#Y 
           ESTERDAY)                                               
********** WLIST1 will contain license status yesterday.
CLR_LIST   #wlist1                                                 
USE        BUILTIN(GET_LICENSE_STATUS) WITH_ARGS(#YESTERDAY) TO_GE 
           T(#WLIST1)                                              
********** Compare the status in a month's time with the status 
********** yesterday to find licenses which will expire in the 
********** next month. 
CLR_LIST   #blist                                                  
SELECTLIST #wlist2                                                 
IF         COND('#status2 = N')                                 
LOC_ENTRY  IN_LIST(#WLIST1) WHERE('#code1 = #code2')               
IF         COND('(#IO$STS = OK) *AND (#STATUS1 = Y)')              
ADD_ENTRY  #BLIST                                                  
ENDIF                                                              
ENDIF                                                              
ENDSELECT                                                          
DISPLAY    FIELDS((#EXPDATE)) BROWSELIST(#BLIST)