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

このトピックでは、要求アイテムのロードに使用される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'はサポートされません。

予約された列名

考慮事項

  • プロパティが予約された列と同じ名前を持つ場合、代替列名を使用できます。サポートされる代替名は、以下を参照してください。

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

表10-1 標準の列

列名 代替列名 説明
Action Code

注:

ロード・ファイルに、この名前または「Action Code」列のいずれかの代替名の列が含まれていない場合、ファイル内のすべての要求アイテムのアクション・コードがUpdateに設定されます。
  • Action_Code
  • ActionCode
  • {Action Code}
ノードの処理方法を指定します。たとえば、ノードを追加、移動、削除するためのアクション・コードがあります。アクション・コードの詳細は、表10-2を参照してください。
Description   ノードの説明。
Name   ノード名。ノード名とノード・タイプの組合せは一意である必要があります。

この列は必須です。

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

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

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

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

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

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

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

注:

親列で<Unknown>キーワードを使用して、要求アイテムの親の値を計算して格納します。
Parent Node Type   親ノードのノード・タイプ(存在する場合)。
Sibling  

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

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

Sibling Node Type  

兄弟のノード・タイプ。

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

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

アクション・コード 説明
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という既存のノードを挿入します。