セグメントの挿入

セグメントは、基本コマンドまたは接頭部コマンドを使用して挿入できます。基本コマンド (INSERT) を使用すると、データベース階層内のセグメントを挿入することを選択できます。接頭部コマンド (I) を使用する場合、表示されているタイプと同じタイプのセグメントのみを挿入できます。

注: SNGL 形式で表示している場合は、INSERT 基本コマンドのみを使用できます。

INSERT 基本コマンドを使用して新規セグメントを挿入するには、次のようにします。

  1. 「IMS Data (IMS データ)」パネルで、コマンド行に INSERT 基本コマンドを入力します。「Segment Selection (セグメント選択)」パネルが表示されます。
  2. 挿入するセグメント・タイプの「Cmd」フィールドに「S」を入力します。「Insert Segment (セグメントの挿入)」パネルが表示されます。

    ルート・セグメントを選択した場合は、「Insert Segment (セグメントの挿入)」パネルにルート・セグメントの 初期化済みフィールドが表示されます。

    子セグメントを選択した場合は、「Insert Segment (セグメントの挿入)」パネルの一番上のセクションに、 ルート・セグメントのキー値の詳細、および階層内のルートと選択した子セグメント・タイプの間にある 各親セグメントのキー値の詳細が表示されます。 また、パネルの一番下のセクションには、子セグメントの初期化済みフィールドが表示されます。使用されるルート・セグメントは、コマンドの入力時にデータベース・ウィンドウの一番上に表示されていた セグメントのルートです。

    新規セグメントのフィールドは、次のように初期化されます。

    • 表示形式が CHAR、HEX、または LHEX である場合は、セグメント全体がブランクに初期化されます。
    • 表示形式が SNGL または TABL である場合は、セグメントが現行レイアウトのフィールド作成属性に従って初期化されます。作成属性が指定されていない場合は、以下のようになります。
      • 数値フィールドはゼロに初期化されます。
      • 英数字フィールドはブランクに初期化されます。
      • セグメント・タイプに可変長配列が含まれている場合は、 セグメントが配列エレメントの最小数を使用して初期化され、 配列サイズ・フィールド (多次元配列の場合は、複数の配列サイズ・フィールド) がそれに応じて初期化されます。
  3. 必要に応じて、ルートと親の「Key Value (キー値)」フィールドの値を調整して、 子セグメントを別の親またはルートに割り当てることができます。
  4. Tab または Return キーを使用して、新規セグメントの最初の使用可能フィールドに移動します。
  5. フィールドに必要なデータを入力し、Enter キーを押します。親の「Key Value (キー値)」フィールドで行った変更または新規セグメントに入力したデータが データベースの規則に違反する場合は、この時点でメッセージが表示されるので、入力内容を修正する必要があります。
  6. 「Exit」機能キー (F3) を押して、セグメントを挿入し、「IMS Data (IMS データ)」パネルに戻ります。

新規ルート・セグメントを挿入するには、I 接頭部コマンドを使用して、次のようにします。

  1. CHAR、HEX、LHEX、または TABL 表示形式では、ルート・セグメントの接頭部域にカーソルを移動します。I 接頭部コマンドを入力し、Enter キーを押します。

    「Insert Segment (セグメントの挿入)」パネルが表示され、新規セグメントのフィールドが初期化されます。

  2. Tab または Return キーを使用して、最初の使用可能フィールドに移動します。
  3. 必要なデータを入力します。
  4. 「Exit」機能キー (F3) を押して、セグメントを挿入し、「IMS Data (IMS データ)」パネルに戻ります。

新規子セグメントを挿入するには、I 接頭部コマンドを使用して、次のようにします。

  1. 「Database Positioning (データベース位置決め)」パネルで、 表示する子セグメント・タイプが選択されていることを確認します。

    親セグメント・タイプを選択する必要はありませんが、 これを選択すると、必要な親の子セグメントを識別するのが容易になります。

  2. 「IMS Data (IMS データ)」パネルで、必要な親の子セグメントを見つけます。必要な親に子セグメントがまだない場合は、挿入するものと同じタイプの子セグメントを見つけます。
  3. CHAR、HEX、LHEX、または TABL 表示形式では、既存の子セグメントのいずれかの接頭部域にカーソルを移動します。I 接頭部コマンドを入力し、Enter キーを押します。

    「Insert Segment (セグメントの挿入)」パネルが表示され、選択した子の 親セグメント (ルート・セグメントまで) と新規の子セグメントが表示されます。子セグメントのフィールドが初期化されます。

  4. 必要に応じて、親セグメントのキー値を、新規の子セグメントの必要な親のキー値に変更します。
  5. Tab または Return キーを使用して、子セグメントの最初の使用可能フィールドに移動します。
  6. 必要なデータを入力します。
  7. 「Exit」機能キー (F3) を押して、セグメントを挿入し、「IMS Data (IMS データ)」パネルに戻ります。
注:
  1. 新規セグメントが、そのセグメント・タイプの適切なキー順でソートされます。新規セグメントのキーのために、そのセグメントがソートされると、データベースの開始位置より 前にきてしまう場合は、終了して「Database Positioning (データベース位置決め)」パネル まで戻り、そのセグメントのデータベース階層の開始キー値を変更しなければならない可能性があります。
  2. 挿入されたセグメントは、「IMS Data (IMS データ)」パネル または「Database Positioning (データベース位置決め)」パネルで SAVE コマンドが出されるまで、 「Database Positioning (データベース位置決め)」パネルを EXIT するまで、 あるいは次の自動チェックポイントが出されるまで (AUTOSAVE がオンになっている場合)、 データベースにコミットされません。

関連トピック