1. INITIALIZE

INITIALIZEステートメントは、identifier-1に記述したカテゴリに従って、特定の値をidentifier-1に設定するか、REPLACING句が指定されている場合は、identifier-2またはliteral-1の値をidentifier-1に設定します。機能的に1つ以上のMOVEステートメントと同じです。

figure pd initialize
Figure 1. INITIALIZEステートメントの形式

以下は、ステートメントの各設定項目についての説明です。

  • identifier-1

    • RENAMES節を持つことはできません。

    • 値が設定される受け取り領域として、以下のような項目が指定できます。

      項目 説明

      グループ項目

      英数字データ項目が指定できます。REPLACING句が指定されている場合、identifier-1が英数字グループ項目であると、identifier-1の下部要素項目はREPLACING句の規則に従って初期化されます。

      基本データ項目

      英文字、英数字、英数字編集、DBCS、数字、数字編集、内部浮動小数点、外部浮動小数点のカテゴリに属するデータ項目です。

  • identifier-2、literal-1

    • MOVEステートメントまたはSETステートメントで送り出し領域に指定可能な基本データ項目またはリテラルを指定することができます。

      identifier-1、identifier-2に特殊レジスターを指定する場合は、それぞれMOVEステートメントの受け取り領域または送り出し領域として指定が可能でなければなりません。

  • REPLACING句

    • REPLACING句に指定したデータ・カテゴリとidentifier-1のカテゴリが一致する場合、identifier-2またはliteral-1の値がidentifier-1に設定されます。

    • 浮動小数点項目の場合、NUMERICカテゴリとして扱われます。

    • REPLACING句に同じカテゴリを重複して指定してはなりません。

identifier-1、identifier-2、REPLACING句に指定したカテゴリの有効性は内部的にチェックされません。したがって、ユーザーがMOVEステートメントまたはSETステートメントの規則に従ってデータ項目およびカテゴリを指定する必要があります。

以下は、REPLACING句が指定されていない場合、identifier-1に設定される値についての説明です。

  • identifier-1のカテゴリが英字、英数字、英数字編集、DBCSの場合は、表意定数SPACEが設定されます。

  • identifier-1のカテゴリが数字、数字編集、外部浮動小数点の場合は、表意定数ZEROが設定されます。

  • identifier-1のカテゴリがポインターの場合は、表意定数NULLが設定されます。