Page History
...
Date、Datetime、およびBLOBなどのその他のフィールド・タイプはすべて独自タイプに分類されます。したがって、'A'または'N'タイプの引数/戻り値に有効ではありません。これらのフィールド・タイプを使用するには、組み込みファンクションを使って適切なクラスに強制型変換する必要があります。組み込みファンクションに関する詳細については、「組み込みファンクション」を参照してください。戻り値に有効ではありません。これらのフィールド・タイプを使用するには、組み込みファンクションを使って適切なクラスに強制型変換する必要があります。組み込みファンクションに関する詳細については、「組み込みファンクション」を参照してください。
ユーザーが定義した組み込み関数のフィールド・タイプはすべてのRDMLXフィールド・タイプと正確に一致させる必要があります。そのため、ユーザーが定義した組み込み関数の宣言でStringが使用される場合、呼び出し時に使用できるものはStringのみです。Alpaフィールドは使用できません。しかし、Alphaで引数として宣言された場合は、Stringフィールドを利用できます。これは、下位互換性をサポートするための例外です。ユーザーが定義した組み込み関数は、X、U またはwタイプで引数または戻り値を宣言できません。
...
バイト数 | 最大値 (符号付き) | 最大値 (符号なし) | 最大桁数 (暗黙の長さ) |
|---|---|---|---|
1 | 127 | 255 | 3 |
2 | 32767 | 65535* | 5 |
4 | 2147483647 | 4294967295* | 10 |
8 | 9223372036854775807 | 18446744073709551615* | 19 符号付き 20 符号なし* |
Integerタイプのフィールドは、以下の条件下でのみ、数値の引数または数値の戻り値として使用することができます。
...
バイト数 | 正確な桁数(正確な長さ) | 考えられる小数点以下桁数 |
|---|---|---|
4 | 6 | 0 - 6 |
8 | 15 | 0 - 15 |
Floatタイプのフィールドは、実行時に0から15桁の間のどこにでも小数点を持つことができるため、一般的にBIFの数値引数には不適切であると考えられています。実際の小数点位置を予測することが不可能なためです。数値引数にFloatタイプのフィールドが使用された場合、引数の最大長が2147483647でなければ、FFC警告が発生します。
Floatタイプのフィールドは、実行時に0から15桁の間のどこにでも小数点を持つことができるため、一般的にBIFの数値引数には不適切であると考えられています。実際の小数点位置を予測することが不可能なためです。数値引数にFloatタイプのフィールドが使用された場合、引数の最大長が2147483647でなければ、FFC警告が発生します。
ただし、Floatタイプのフィールドは以下の条件下では、数値の戻り値に適します。ただし、Floatタイプのフィールドは以下の条件下では、数値の戻り値に適します。
- 最大長が2147483647に定義された場合、どのようなサイズも受け入れられます。また戻り値の最大小数点以下桁数が1以上の場合、どのような小数点以下桁数も正常であり受け入れられます。
- 戻り値の最小長および最小小数点以下桁数がFloatフィールドの正確な長さ以下であること。例えば、引数の最小長が10の場合、4バイトのFloatを使用することはできません(6桁までしか正確ではないため)。また、例えば、引数の最小小数点以下桁数が7の場合、4バイトのFloatを使用することはできません(小数点以下6桁までしか正確ではないため)。これは、Float長が上記表のように調整されることを前提として、通常の数値チェックの一部として実行します。最小長が10桁の場合、使用される数値のタイプにかかわらず6桁の数値はエラーとなります。同様に、最小小数点以下桁数が7桁の場合、最小長は7桁以上にする必要があります。したがって、この場合も6桁の数値はエラーになります。
- 現在、LANSAに搭載されているすべてのBIFにおいて、最大の最小小数点以下桁数は1です。では、なぜ最小小数点以下桁数に制限があるのでしょうか。さらに大きな最小小数点以下桁数が必要なユーザー(または新しいLANSA BIF)により、BIFが定義される場合があるからです。
英数字の引数と戻り値の規則
英数字の引数または戻り値が必要な場合、BIF の引数と戻り値のタイプに加えて以下の規則が適用されます。 に加えて以下の規則が適用されます。
- StringまたはCharタイプのフィールドの長さが、引数または戻り値に指定された長さの範囲内であれば、そのフィールドを使用することができます。注:最大長が StringまたはCharタイプのフィールドの長さが、引数または戻り値に指定された長さの範囲内であれば、そのフィールドを使用することができます。注:最大長が 2147483647 の場合、どのような長さでも使用することができます。
- NChar または Nvarchar のフィールド・タイプは、asNativeString組み込みファンクションを使用して英数字の引数に強制型変換し、かつ上記と同様に長さを制限する必要があります。この組み込みファンクションについてはasNativeString のフィールド・タイプは、asNativeString組み込みファンクションを使用して英数字の引数に強制型変換し、かつ上記と同様に長さを制限する必要があります。この組み込みファンクションについては AsNativeString を参照してください。
- 他のすべてのRDMLXフィールド・タイプは、asString組み込みファンクションを使用して英数字の引数に強制型変換し、かつ上記と同様に長さを制限する必要があります。組み込みファンクションの使用に関する詳細については、「組み込みファンクション」を参照してください。
- 他のすべてのRDMLXフィールド・タイプは、asString組み込みファンクションを使用して英数字の引数に強制型変換し、かつ上記と同様に長さを制限する必要があります。組み込みファンクションの使用に関する詳細については、「組み込みファンクション」を参照してください。
- BLOBおよびCLOBタイプのフィールドに実際に含まれているのは、ファイル名BLOBおよびCLOBタイプのフィールドに実際に含まれているのは、ファイル名(最大長は256)です。ファイル名にアクセスするには#Myblob.Value構文のほかに #Myblob.asString も使用することができます(BLOBまたはCLOBファイル名の内容をBIFの引数や戻り値として有効とするかどうかについては開発者が決定します)。
- Date(長さは常に10桁)、Time、Time(長さは常に8桁)、およびDateTime、およびDateTime(長さは19から29桁の間)は、asStringと指定通りの長さチェックが必要です(Date、Time、またはDateTimeの内容をBIFの引数や戻り値として有効とするかどうかについては開発者が決定します)。
...