9.24 CONVERTDATE_NUMERIC

LANSA

9.24 CONVERTDATE_NUMERIC


Þ 注:組み込み関数の規則

日付を数値形式に変換します。

各製品の対応

LANSA/AD

使用可

Visual LANSA for Windows

使用可

Visual LANSA for Linux

使用可

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

N

必須

変換する日付

4

8

0

0

2

A

必須

変換前の日付形式

1

1

 

 

3

A

必須

戻り値で必要な日付形式

1

1

 

 

 

有効な日付形式

·         変換前の日付形式として有効な値は、A、B、D、F、H、J、L、V、W、X、Y、Zおよび1です。

·         変換後に戻される日付形式として有効な値は、A、B、D、F、H、J、L、V、W、X、Y、Zおよび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バイト長、小数点以下桁数0桁の符号付き数値です。
 

RDMLの例

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

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