ロード・ファイル形式の要求

このトピックでは、要求アイテムのロードに使用されるMicrosoft Excelスプレッドシートの形式について説明します。

考慮事項

  • スプレッドシート・ファイルの各ワークシートは、ビューポイントに対応しています。

  • 複数のワークシートを複数のビューポイントにロードできます。

  • ワークシート(および対応するビューポイント)では、30文字以下のラベルを使用する必要があります。

    注:

    ビューポイント名が30文字を超える場合、要求アイテムをビューポイントにロードする際、ワークシートに使用するラベルを作成する必要があります。ラベルの使用の詳細は、ビューポイントの検査を参照してください。

  • スプレッドシートは、標準列のプロパティ値を導出するための式を含むことができます。スプレッドシートの式は、アプリケーション固有のプロパティ(FCGL、PLN)やカスタム・プロパティでも使用できます。式の値が空と等しいプロパティ・セルはスキップされます。式の値が<clear>または<blank>と等しいプロパティ・セルです。

  • ワークシートは、左から右の順序で処理されます。

  • インポート・ファイルで重複する行は、ロード時に処理されません。

  • サポートされるロケールの日付とタイムスタンプは、次のJava日付形式パターンのいずれかである必要があります。

    • Short

    • Default

    • Long

    • Medium

    注:

    Java日時形式については、事前定義された形式の使用を参照してください。
  • 10,000を超えるノードがある場合、10,000未満のノードを含む複数のロード・ファイルを作成します。

  • 親が不明な階層ビューポイントに追加または挿入されたノードの場合は、「親」列で<Unknown>キーワードを使用して、親の値を計算し、要求アイテムごとに格納します。管理者は、親値を計算するための式を定義しておく必要があります。ノードの親の計算および保管を参照してください。

  • 追加または挿入されるノードの名前を計算するには、名前列を空白のままにするか、<cn>キーワードまたは<cn ####>キーワードを使用します。ノードは、名前値を計算するように設定する必要があります。ノードの名前の計算および保管を参照してください。

列の考慮事項

  • スプレッドシートには、予約された列名またはプロパティの名前と一致する列ヘッダーが必要です(予約された列名を参照)。

    注:

    名前列がない場合、シートをロードできません。

  • プロパティの列ヘッダーは、プロパティ名またはプロパティのカスタム表示ラベル(設定されている場合。このオプションはビューポイント・インスペクタのプロパティ・タブで設定されます)で構成される必要があります。プロパティ名にネームスペースを含めることはできません。たとえば、Core.Descriptionは無効です。
  • 列の順序は任意です。
  • 列のヘッダーが予約された列名またはプロパティ名と一致しない場合、その列は無視されます。つまり、スプレッドシートにはロードされないコメントを含めることができます。
  • ロード・ファイルに代替名プロパティの列がある場合:
    • ロード先のノード・タイプに代替名プロパティが含まれる場合、ファイルのロード時に次の操作が実行されます:
      • 行にノード名が含まれる場合、代替名が代替名列にロードされます。
      • 行にノード名が含まれない場合、代替名を使用して、代替名プロパティ値が同一の一致するノードがビューポイントで検索されます。
    • ロード先のノード・タイプに代替名プロパティが含まれない場合、列は無視されます。

行の処理順序

要求ファイルからレコードをロードする際、親ノードが子ノードより先にビューポイントに追加されるように、ロード・プロセスによってファイル・コンテンツがソートされます。これにより、ロード・ファイルで子ノードの行がその親ノードの行より前にある場合に、検証エラーを回避します。

たとえば、次のロード・ファイルでは、親の行Analyticsがあり、ファイル内でそれよりも前に2つの子の行EmilyおよびJackがあり、その両方がAnalyticsを親としています:


子ノードの行が最上位ノードの行よりも前に来たスプレッドシート。

このファイルがロードされると、Analyticsが最初に追加され、次にEmilyJackおよびMaryが追加されるように、ロード・プロセスによりコンテンツがソートされます。

<Blank>および<Clear>処理と空のフィールド

要求ロード・ファイルに<blank>または<clear>キーワードを入力する場合と、セルを空のままにする場合とでは、要求ファイルの処理時に異なる処理が実行されます:

  • <clear>キーワードにより、既存の値がプロパティからクリアされます。
  • <blank>キーワードにより、空白の定義済のプロパティ値が設定されます。
  • ファイル内の空のセルは無視されます。

<blank>および<clear>キーワードと空のセルはすべてのデータ型でサポートされています。ただし、リスト・データ型の場合、リストの空白エントリはサポートされません。つまり、リスト自体は空にできますが、リスト内のエントリは空にできません。

次に例を示します:

  • リスト値: '<blank>'はサポートされます。リストに空白をインポートすると、リスト内の既存の定義済値、継承値またはデフォルト値が上書きされることに注意してください。
  • リスト値: 'A,B,C'はサポートされます。
  • リスト値: 'A,,C'はサポートされません。

要求ロード・ファイルでのコピーおよびモデル元操作の実行

要求ロード・ファイルを使用して、既存のノードのコピーまたは既存のノードのモデル元(階層ビューポイント内)に基づいて新規ノードを作成するには、Copy Node列およびCopy Action列を使用します。(モデル元操作の詳細は、既存のノードのモデル元アクションによるノードの追加を参照してください。)

考慮事項

  • Copy Node列およびCopy Action列は、追加または更新操作でのみ使用されます。Action Code列に他の操作が含まれている場合、Copy Node列およびCopy Action列は無視されます。
  • ロード・ファイルにすでに要求アイテムがあるノードがCopy Node列に含まれている場合、そのノードのCopy Node列およびCopy Action列は無視されます。
  • コピーまたはモデル元操作を介して追加されるノードのノード・タイプのCore.Nameプロパティが計算および保管されるように構成されている場合(計算および格納されたプロパティを参照)、新規ノード名は自動的に計算されます。
  • モデル元操作で親を無視する必要があることを示すには、親列で<Ignore>キーワードを使用します。新しいノードは、コピーされるノードの親の下にのみ挿入されます。

要求ロード・ファイルでコピーまたはモデル元操作を実行するには:

  • Copy Node列を使用して、コピーまたはモデル元操作を行うノードを指定します。
  • Copy Action列を使用して、コピー操作のタイプを指定します。次のいずれかの値を指定します。
    • Properties: Copy Node列に指定されたノードに対してコピー操作を実行します。コピー操作により、定義されたノードおよび関係レベルのプロパティ値が、指定されたノードからコピーされ、要求アイテムの更新アクションとして追加されます。(コピー操作のタイプを指定していない場合は、これがデフォルト値になります。)
    • Model After (階層ビューポイントのみ): Copy Node列に指定されたノードに対してモデル元操作を実行します。モデル元操作は次のように処理されます:
      • 指定されたノードから親関係がコピーされ、要求アイテムの挿入アクションとして追加されます
      • 各親に定義された関係レベルのプロパティ値がコピーされ、要求アイテムの更新アクションとして追加されます

      注:

      関連ビューポイントを使用したモデル元は、要求ファイル・アップロードではサポートされていません。そのため、リスト・ビューポイントでの要求ファイルのアップロード時にモデル元操作を実行することはできません。

要求ロード・ファイルのデータ・ソースの操作

ベスト・プラクティス

要求アイテムは、複数のデータ・ソースから単一のロード・ファイルに追加できますが、各データ・ソースごとに個別のロード・ファイルを作成することがベスト・プラクティスです。ロード・ファイルの要求アイテムには、1つのデータ・ソースしか使用できないため、複数のデータ・ソースで同じ名前のノードがある要求ファイルをロードすると、ファイルの最初のデータ・ソースのみが保持されます。データ・ソースごとに個別のロード・ファイルを作成すると、すべてのデータ・ソースについて、そのノードの照合を実行できます。

データ・ソース列

ロード・ファイルの要求アイテムは、「データ・ソース」列に指定したデータ・ソースで更新されます(データ・ソースの理解を参照)。これにより、ビューポイントの既存のノードへのリンクまたは照合およびマージが可能になります(ノード・リンクについておよび要求アイテムの照合およびマージを参照)。

注:

ファイルの要求アイテムを更新するには、データ・ソースを有効にする必要があります。

考慮事項

  • ロード・ファイルでデータ・ソースを識別するには、データ・ソースのコードまたは名前を使用できます。名前は時間の経過とともに変更される可能性があるため、データ・ソース・コードを使用することがベスト・プラクティスです。
  • 登録済データ・ソースからノードをロードできるのは、ロード・ファイルが元々その登録済データ・ソースから生成されていた場合のみです(たとえば、生成されたサブスクリプション要求ファイルを再ロードする場合)。ロードするには、ロード・ファイルの行に登録済データ・ソースから生成されたソース・ノードIDとソース・ノード・タイプが含まれている必要があります。
  • 要求アイテムが行のデータ・ソースとは異なるデータ・ソースをすでに参照している場合、その行はスキップされます。

予約された列名

考慮事項

  • プロパティが予約された列と同じ名前を持つ場合、代替列名を使用できます。たとえば、Data Sourceという名前のプロパティがある場合は、Data_SourceDataSource{Data Source}などの代替名を使用できます。

  • スプレッドシートがリストのビューポイントにロードされる場合、階層の列とアクションは無視されます。たとえば、移動および挿入アクションはリスト・ビューポイントで無視されます。

表10-2 標準の列

列名 説明
Action Code

ノート: ロード・ファイルに、この名前または「Action Code」列のいずれかの代替名の列が含まれていない場合、ファイル内のすべての要求アイテムのアクション・コードがUpdateに設定されます。

ノードの処理方法を指定します。たとえば、ノードを追加、移動、削除するためのアクション・コードがあります。アクション・コードの詳細は、表10-3を参照してください。
Copy Action Copy Node列にノードが含まれている場合、この列には、実行するコピー操作のタイプを指定します。次のいずれかの値を入力します:
  • Properties: Copy Node列に指定されたノードに対してコピー操作を実行します。
  • Model After (階層ビューポイントのみ): Copy Node列に指定されたノードに対してモデル元操作を実行します。

要求ロード・ファイルでのコピーおよびモデル元操作の実行を参照してください。

Copy Node コピーまたはモデル元操作を行うノードの名前を指定します。Copy Action列を使用して、コピー操作のタイプを指定します。

要求ロード・ファイルでのコピーおよびモデル元操作の実行を参照してください。

Data Source ノードのデータ・ソースを指定します。データ・ソースのコードまたは名前を使用できます。ただし、名前は時間の経過とともに変更される可能性があるため、データ・ソース・コードを使用することがベスト・プラクティスです。
Description ノードの説明。
Name ノード名。ノード名とノード・タイプの組合せは一意である必要があります。

この列は必須です。

New Name ノードの名前が変更される場合、このセルには新しいノード名が含まれます。
Node Type ノードのノード・タイプ。

ビューポイントに1つのノード・タイプのみが含まれる場合、列はオプションです。Node Typeセルが空の場合、ロード・プロセスではそのノード・タイプを使用します。ただし、ビューポイントに複数のノード・タイプが含まれる場合は、行ごとにノード・タイプを指定する必要があります。

Old Parent Name ノードが異なる親の下に移動される場合、このセルには古い親ノードの名前が含まれます。

移動されるノードが1つの親の下にのみ存在する場合、このセルは空になります。ノードが複数の親ノードの下に存在する場合、ノードを除去する親ノードの名前を指定する必要があります。

Old Parent Node Type ノードが異なる親の下に移動される場合、このセルには古い親ノードのノード・タイプの名前が含まれます。

移動されるノードが1つの親の下にのみ存在する場合、このセルは空になります。ノードが複数の親ノードの下に存在する場合、ノードを除去する親ノードのノード・タイプを指定する必要があります。

Parent 親ノードの名前(存在する場合)。このセルが空の場合、ノードは最上位ノードとしてインポートされます。

ノート: 親列で<Unknown>キーワードを使用して、要求アイテムの親の値を計算して格納します。

Parent Node Type 親ノードのノード・タイプ(存在する場合)。
Sibling

指定した親の下にある兄弟ノードの名前。この後にノードを配置する必要があります。または、並べ替えているノードを親の下の最初の兄弟にする場合は、<First>を入力します。

「並替え」、「追加」、「挿入」および「移動」アクションと一緒に使用します。

Sibling Node Type

兄弟のノード・タイプ。

「並替え」、「追加」、「挿入」および「移動」アクションと一緒に使用します。

Source Node ID 登録済データ・ソースからのソース・ノードのID。この列は、サブスクリプション、比較結果、またはビューポイント間でのノードのコピーによって生成された要求ファイル行にのみ使用する必要があります。
Source Node Name

登録済データ・ソースからのソース・ノードの名前。この列は、サブスクリプション、比較結果、またはビューポイント間でのノードのコピーによって生成された要求ファイル行にのみ使用する必要があります。

Source Node Type

登録済データ・ソースからのソース・ノード・タイプのID。この列は、サブスクリプション、比較結果、またはビューポイント間でのノードのコピーによって生成された要求ファイル行にのみ使用する必要があります。

表10-3 アクション・コード

アクション・コード 説明
Add 新しいノードを作成します。
Delete ノードを削除します。
<Empty cell>

Action Codeセルが空の場合、行はUpdateアクション・コードを使用して処理されます。

Insert 既存のノードを、階層のParentおよびParent Node Typeセルで指定されたノードの下に挿入します。
Move 既存のノードを階層の新しい位置に移動し、ノードを既存の位置から除去します。
Prop_Update

既存のノードのプロパティ値のみを更新します。他のアクションを実行するにはUpdateアクション・コードを使用します。

定義済みプロパティのプロパティ値をクリアできます。プロパティ値をクリアすると、格納値が削除され、値はデフォルト値または継承値に戻ります。たとえば、下のProp_Updateアクションは説明値をクリアします。


プロパティをクリアする例
Rename 既存のノードの名前を変更します。
Reorder

階層ビューポイントのノードを並べ替えます。

ノードを並べ替えることができるのは、そのタイプのノード(親または最下位ノード)の並替えを許可する階層セットを使用するビューポイントのみです。詳細は、ノードの並替えを参照してください。

Remove ノードを指定した親ノードから除去します。
Update 既存のノードのプロパティ値を更新します。

このようなアクションが必要であることを行のセルが示している場合、Updateアクションで追加アクションも実行されます。次に、この仕組みについて説明します。

  • ノードが存在しない場合、ノードが追加されます。ビューポイントが階層である場合、ParentおよびParent Node Typeセルで指定された階層の位置にノードが挿入されます。
  • ビューポイントが階層で、ノードは存在するが指定した親の下にない場合、実行されるアクションは、階層セットで共有ノードが許可されるかどうかに依存します。
    • 共有ノードが許可される場合、ノードは指定した親の下に挿入されます。
    • 共有ノードが許可されない場合、ノードは指定した親の下に移動されます。

プロパティで空白が許可される場合、プロパティを空白値に更新できます。セルで<空白>インジケータを使用する必要があります。空のセルは、同じ結果を生成しません。

たとえば、下の更新アクションは、法的エンティティ・プロパティを空白値に設定します。説明のセルが空白であっても、EMAの既存の説明は変更されません。


空白のプロパティ値のロード

例10-1 例

次の例では、いくつかのノードが階層ビューポイントに追加、更新、挿入されています。


ノードを追加、更新、挿入するための行を持つスプレッドシートを示す図。

次に、例のキーポイントを説明します。

  • すべてのノードには、Employeesノード・タイプがあります。
  • Business Unit列は、ノード・タイプにBusiness Unitというプロパティがあることを示しています。
  • 2番目の行では、Billというノードを追加します。ParentおよびParent Node Typeセルは空で、これらが最上位ノードであることを示しています。
  • 3番目と4番目の行では、Billというノードの下に子ノードを追加します。
  • 5番目の行では、Business UnitプロパティをSupportという値に設定して、既存のノードを更新します。
  • 6番目の行では、Joeという親ノードの下にJamesという既存のノードを挿入します。