注意: 9.1 組み込み関数の規則 利用オプション |
日付を数値形式に変換します。
番号 | タイプ | 必須/ 任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | N | 必須 | 変換する日付 | 4 | 8 | 0 | 0 |
2 | A | 必須 | 変換前の日付形式 | 1 | 1 | ||
3 | A | 必須 | 戻り値で必要な日付形式 | 1 | 1 |
番号 | タイプ | 必須/ 任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | N | 必須 | 戻される変換後の日付 | 4 | 8 | 0 | 0 |
2 | A | 任意 | 変換が成功したかどうかを示す戻りコード (YまたはN) | 1 | 1 |
これは、比較および計算を正確に実行するためです。ユーザーが入力した年が2文字(例:DDMMYY、YYMMDD、MMYY)の場合、システム定義データ・エリアから世紀の値が検索されます。指定された年をデータ・エリアの年と比較します。指定された年が比較年よりも小さいか等しい場合、前の世紀が使われます。指定された年が比較年よりも大きい場合、後の世紀が使われます。
最初の引数および最初の戻り値には、INTEGERフィールドおよびFLOATフィールドは使用できません。
DATEフィールドを直接使用することはできません。ただし、.AsNumber 組み込みファンクションを使用してNumberに変換中の場合は、DATEフィールドを間接的に使用することができます。
2番目の引数の値は、組み込み関数に指定する値の形式と同じにする必要があります。
例えば、DATEFL1という名前のDATEフィールドがあり、このフィールドを最初の引数として組み込み関数に使用する場合は、以下のような変換を行う必要があります。
DATEFL1.AsNumber(DDMMCCYY)
他の形式の組み込み関数を参照してください。
2番目の引数の値はHにする必要があります。これは、DDMMYYYYの日付形式を表しています。
最初の戻り値を保持するフィールドとしては、INTEGERおよびFLOATを含むすべてのNUMERICフィールドを使用することができます。.
P、Q、R、S、T、Uの日付形式を使用すると、日付は、DC@M01のメッセージBIF0101およびBIF0102で指定された形式で返されます。英語以外の言語で日付が返されるようにする場合は、これらのメッセージが適切な言語に翻訳されるようにしてください。
LANGがENGまたはNAT以外の場合は、メッセージが、実行している言語のメッセージ・ファイルに存在していることを確認する必要があります。
CONVERTDATE_NUMERICでは、フィールド・タイプはDATEのみを使用してください。
USE BUILTIN(CONVERTDATE_NUMERIC) WITH_ARGS(#DATEFL1.AsNumber(DDMMCCYY) H J)TO_GET(#NUM80 )
より洗練されたプログラミング・スタイルにするには、以下のコードを使用する必要があります。
#NUM80 := #DATEFL1. AsNumber (CCYYMMDD)
#NUM80 は、8 バイト長の符号付き数値 (10 進数 0) です。
日付形式がYYMMDD(Dタイプ)の日付フィールド#YMDを、日付形式がDDMMYY(Bタイプ)の日付フィールド#DMYに変換するには、次のように指定します。
USE BUILTIN(CONVERTDATE_NUMERIC) WITH_ARGS(#YMD D B) TO_GET(#DMY)