Page History
[ |../../index.htm#lansa/get_license_status.htm]
現在地:
...
9.93 GET_LICENSE_STATUS
| Note |
|---|
注意 |
...
: 9.1 |
...
このLANSAシステムのLANSAライセンスのステータスを特定の日付で取得します。 このLANSAシステムのLANSAライセンスのステータスを特定の日付で取得します。 この組み込み関数を使って定期的にジョブを実行することにより、ライセンス期限切れの警告を事前に受け取ることができます。
この組み込み関数を使って定期的にジョブを実行することにより、ライセンス期限切れの警告を事前に受け取ることができます。
この BIF は、9.2 開発環境のみで使用される組み込み関数 です。
引数
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
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 iライセンス:戻されるライセンス・コードには、このLANSA システムの永久ライセンスが含まれます。さらにIBM iの導入処理を使ってIntegratorがインストールまたはアップグレードされている場合はLANSA Integratorキー・ライセンスが含まれます。LANSA Integratorが単独でインストールされている場合、GET_LICENSE_STATUSでIntegratorのライセンスは戻されません。 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)
...