9.29 CONVERTDATE_NUMERIC

注意 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



技術上の注記

すべての日付の年は4桁である必要があります。

これは、比較および計算を正確に実行するためです。ユーザーが入力した年が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以外の場合は、メッセージが、実行している言語のメッセージ・ファイルに存在していることを確認する必要があります。

RDMLX 専用の例:

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) です。

RDMLの例:

日付形式がYYMMDD(Dタイプ)の日付フィールド#YMDを、日付形式がDDMMYY(Bタイプ)の日付フィールド#DMYに変換するには、次のように指定します。

     USE        BUILTIN(CONVERTDATE_NUMERIC) WITH_ARGS(#YMD D B) TO_GET(#DMY)