日付時刻データの転送

MOVE および MOVEL 命令コードは、日付、時刻、およびタイム・スタンプ・デー タ・タイプ・フィールドの転送に使用することができます。

MOVE および MOVEL 命令コードでは次の組み合わせを使用することができます。

演算項目 1 は、転送元および転送先が両方とも、日付、時刻または タイム・スタンプ・フィールドである場合にはブランクでなければなりません。 演算項目 1 がブランクの場合、日付、時刻、またはタイム・スタンプ・フィールド の形式が使用されます。

そうでない場合には、演算項目 1 にこの命令の転送元または転送先の文字また は数値フィールドに対応する日付または時刻の形式が入ります。有効な任意の形式を指定することができます。 日付データ・タイプ時刻データ・タイプ、および タイム・スタンプ・データ・タイプ を 参照してください。

演算項目 1 に指定する場合には、次のことに留意してください。

演算項目 2 は必須で、文字、数値、日付、時刻、またはタイム・スタンプのいずれかの 値でなければなりません。 この項目には、変換するフィールド、配列、配列要素、 テーブル名、リテラル、または名前のついた定数のいずれかを入れます。

演算項目 2 には次の規則が適用されます。

結果フィールドは日付、時刻、タイム・スタンプ、数値、または 文字の各変数でなければなりません。このフィールドは、フィールド、配列、配列要素、または テーブル名のいずれでもかまいません。日付または時刻は、その定義済みの形式 または演算項目 1 に指定された形式コードに従って、結果フィールドに入れられます。 結果フィールドが数値の場合には、命令に先立って区切り文字が除去されます。 使用される長さは、区切り文字が除去された後の長さです。

日付からタイム・スタンプ・フィールドへ転送する場合には、タイム・スタンプの時刻 とマイクロ秒部分は影響を受けませんが、タイム・スタンプ全体が検査されて、正 しくなければエラーが生成されます。

時刻からタイム・スタンプ・フィールドに転送する場合には、タイム・スタンプのマイ クロ秒部分は 000000 に設定されます。 日付部分は影響を受けませんが、タイム・スタンプ全体が検査されて、正しくなければエラーが生成されます。

文字データまたは数値データが必要な長さより長い場合には、左端のデータ (MOVE 命令 の場合は右端) が使用されます。 演算項目 1 によって転送されるデータの長さが 決まることに留意してください。 例えば、数値日付からの MOVE 命令で、 演算項目 1 の形式が *MDY の場合、演算項目 2 の右端の 6 桁のみが 使用されます。