9.15 CHECKSTRING
文字列が許可されている文字のみを含んでいるか検査します。
各製品の対応
LANSA/AD |
使用可 |
Visual LANSA for Windows |
使用可 |
Visual LANSA for Linux |
使用可 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
チェックする文字列 |
1 |
無制限 |
|
|
2 |
A |
必須 |
許可されている文字のリスト |
1 |
256 |
|
|
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
OKかどうかを示す戻りコード(Y/N) Y:指定されている文字のみを含んでいる N:それ以外の文字を含んでいる |
1 |
1 |
|
|
技術ノート
Alphaフィールドには、常に、フィールド長になるまで末尾にブランクが埋め込まれます。このBIFを使用するときにAlphaフィールドを使用する場合は、これらの末尾ブランクを考慮する必要があります。検査対象の文字列で末尾ブランクが許可されている場合は、許可されている文字のリストでブランクが指定されている必要があります。
許可されている文字のリストでリテラルを使用することもできます。
許可されている文字のリストでAlphaフィールドを使用する場合は、末尾ブランクを含めることができます。以下に例を示します。
USE BUILTIN(CHECKSTRING) WITH_ARGS(#STRING #ALLOW) TO_GET(#YN)
#ALLOWが値'A 'のAlpha(2)の場合、文字Aおよびブランクが#STRINGで検査されます。
#ALLOWに'AB'が保持されている場合、文字AおよびBが#STRINGで検査されます。#STRINGに末尾ブランクが含まれていると、戻りコードはN (他の文字を含む)になります。
なお、RDMLXでは、以下の操作が可能です。
· 組み込みメソッドの使用。組み込み関数の引数でトリミングし、フィールド値から末尾ブランクを切り捨てます。
· ContainsOnly組み込みメソッドによるCHECKSTRING組み込み関数の置き換え。この組み込みメソッドでは、Alphaフィールドの末尾ブランクが重要ではないものとして扱われ、DBCS文字が処理されます。
· タイプStringのフィールドの使用