データ管理機能 > 部品構造の管理 > Windchill のオプションとバリエーションの機能 > バリエーションの作成と管理 > バリエーション仕様の情報ページ > バリエーション仕様の読み込み > スプレッドシートからのバリエーション仕様の読み込み
  
スプレッドシートからのバリエーション仕様の読み込み
Windchill のコマンドラインユーティリティを使用して、スプレッドシートから複数のバリエーション仕様を読み込むことができます。このユーティリティは、API を使用して自動的にバリエーション仕様を読み込みます。
* 
この機能を使用するには:
プラットフォーム構造モジュールがインストールされている必要があります。
サイト管理者であり、かつプラットフォーム構造グループのメンバーである必要があります。
スプレッドシートからバリエーション仕様を読み込むには、次の手順に従います。
1. WT_HOME\loadFiles\ato\testdata\variantSpecLoader に用意されているテンプレート VariantSpecLoader1.xlsx を使用してスプレッドシートを作成します。
2. 以下の Windchill コマンドラインユーティリティを実行します。
Windchill com.ptc.windchill.option.variantspec.loader.VariantSpecLoader -d <My_Spreadsheet_Path>\<My_Spreadsheet>.xlsx -u <my_user> -p <my_password>
3. 出力ファイルをレビューしてすべてのエラーを解決します。出力ファイルは WT_HOME\logs にあります。
このスプレッドシートの 3 つのワークシートに、バリエーション仕様と部品構造コンフィギュレーションを関連付ける情報を入力します。
部品コンフィギュレーション仕様ワークシート (Part Config Specs) - このワークシートの情報は、部品を設定する際に「設定」ウィンドウの「コンフィギュレーション仕様」タブで指定する情報とほぼ同じです。このワークシートには「Configuration Specification Name」「View」「Life Cycle State」「Baseline」「Effectivity Date」の 5 つのフィールドがあります。名前は必須です。「View」「設定」ウィンドウの「ビュー」フィールドに対応する有効なエントリである必要があります。入力した値はシステムによって検証されます。
オプションフィルタコンフィギュレーション仕様ワークシート (Option Filter Config Specs) - このワークシートはオプションフィルタのコンフィギュレーション仕様を定義します。このワークシートには「Config Spec Name」「Life Cycle State」「Effectivity Date」の 3 つのフィールドがあります。入力する情報は、「オプションフィルタ」ウィンドウの アイコンをクリックすると開く「オプションフィルタのコンフィギュレーション仕様を設定」ウィンドウで指定する情報とほぼ同じです。入力した値はシステムによって検証されます。
ナビゲーション基準ワークシート (Navigation Criteria) - オプションフィルタ内の選択を取り込むため、選択肢規則および選択されている選択肢についての情報を指定します。このワークシートには次のフィールドがあります。
バリエーション仕様セクション:
「名前」- バリエーション仕様に割り当てる名前を入力します。
「番号」- 既存のバリエーション仕様を再設定する場合にのみこの列を使用します。有効な番号を指定し、その番号のバリエーション仕様が存在する場合、永続化された名前が使用されます。
* 
「名前」「番号」の (両方ではなく) いずれかを指定する必要があります。
「説明」- バリエーション仕様の説明を入力します (最大 2000 文字)。
「場所」- バリエーション仕様を保存する場所を指定します。このフィールドが空の場合、デフォルトの場所が使用されます。バリエーション仕様の作成時にこのフィールドが空の場合は、エラーになります。
「Create Variants」 - これはブール値です。true に設定した場合、そのバリエーション仕様のモジュールバリエーションが作成されます。モジュールバリエーションの作成は非同期なので、実際のバリエーションではなく、各バリエーションのキューエントリ作成の成否だけが通知されます。このフィールドを false に設定した場合、バリエーション仕様だけが作成されます。
部品セクション - このセクションでは、バリエーション仕様を使用して設定する部品の詳細を指定します。部品にオプションセットが割り当てられている必要があります。割り当てられているオプションセットがない場合、その行は処理されません。
「番号」- 部品の番号 (Bicycle1 など)。
「改訂」- 部品の改訂 (A など)。
「作業版数」- 部品の作業版数 (1 など)。この例では、部品は Bicycle1 A.1 です。
* 
部品の情報を指定した場合、オプションセットについての情報は冗長になります。「部品」フィールドと「オプションセット」フィールドの両方ではなくいずれかに情報を入力する必要があります。
オプションセットセクション - オプションセットを使用してバリエーション仕様が作成されます。バリエーション仕様の行に部品が指定されていない場合、オプションセットを使用したバリエーション仕様が作成されます。
「名前」- オプションセットの名前。
「改訂」- 部品の改訂 (A など)。
「作業版数」- 部品の作業版数 (1 など)。
ナビゲーション基準セクション - このセクションには、ユーザーインタフェースの「コンフィギュレーション仕様」タブと「オプションフィルタ」タブで指定されている情報が取り込まれます。
「Apply to Top」 - この属性を true に設定することは、「設定」ウィンドウの「コンフィギュレーション仕様」タブにある同様のボックスをオンにすることに相当します。「Apply to Top」true に設定されている場合、指定した部品構造の最上位の部品にそのコンフィギュレーション仕様が適用されます。
* 
オプションセットのみを使用して作成されるバリエーション仕様にはこの情報は不要です。この情報を指定した場合、バリデータによってエラーが報告されます。
「部品のコンフィギュレーション仕様」- ワークシート 1 を使用してすでに読み込まれている部品コンフィギュレーション仕様のリストを指定します。複数のコンフィギュレーション仕様をコンマ (,) で区切って指定できます。列 F-H で部品が指定され、この列が空になっている場合、最新の部品コンフィギュレーション仕様が読み込まれ、それを使用してバリエーション仕様が作成されます。
「Option Filter Configuration Specification」 - ワークシート 2 を使用してすでに読み込まれているオプションフィルタコンフィギュレーション仕様のリストを指定します。複数のコンフィギュレーション仕様をコンマ (,) で区切って指定できます。この情報が空になっている場合、最新のオプションフィルタコンフィギュレーション仕様が読み込まれ、それを使用してバリエーション仕様が作成されます。
「規則の確認を無効化」- デフォルトで、これは false に設定されています。true に設定した場合、「設定」ウィンドウでこのボックスをオンにした場合と同じ結果になります。
「Filter Mode」 - これは「オプションフィルタ」タブのドロップダウンリスト (「標準」または「代替」を選択) とほぼ同じです。
オプション開始列 - この空の列は、これ以降の列がオプションフィルタで選択する選択肢の定義であることを表します。
追加列 - オプションフィルタで選択肢を選択するオプションごとに 1 つの列を定義します。
たとえば、OptionA から ChoiceA、ChoiceB、ChoiceC を選択し、Option B から ChoiceD を選択する場合、オプション開始列に続けて OptionA と OptionB の 2 つの列を作成する必要があります。バリエーション仕様情報を作成する行で、OptionA の下に ChoiceA、ChoiceB、ChoiceC を、OptionB の下に ChoiceD をコンマで区切って入力します。次の行 (つまり次のバリエーション仕様) の選択肢が別のオプションから選択されている場合、そのオプションの名前で新しい列を作成し、その下の入力する行のセルに各選択肢を入力します。この行の OptionA と OptionB の下のセルは空白のままにできます。
* 
同じバリエーション仕様のバージョンがシステムに存在する場合、その番号によってバリエーション仕様を参照する必要があります。
オプション終了 - これはワークシートの最後の列です。そのオプションフィルタのオプションと選択肢の選択がすべて終了したことを示します。
出力ファイル
スプレッドシートをインポートするユーティリティを実行すると、出力ファイルが作成されます。出力ファイルはログフォルダ WT_HOME\logs に配置され、VariantSpecLoaderReport_<random_generated_number>* という名前が付きます。
出力ファイルには次の情報が含まれています。
処理されているナビゲーション基準ワークシートの行番号。
操作ステータス: SUCCESS または FAILED。
バリエーション仕様の番号 (バリエーション仕様が正常に作成された場合)。
CREATED - 新しいバリエーション仕様が作成された場合、CREATED が true に設定されます。そうでない場合、CREATED は false に設定されます。
UPDATED - バリエーション仕様が既存のものである場合、UPDATED が true に設定されます。つまり、そのバリエーション仕様はスプレッドシートに記載されているバリエーション仕様番号に基づいて再設定されています。
ERROR - スプレッドシートの処理中に行われる検証時、またはオブジェクトの作成時に発生したエラーを報告します。エラーが発生した場合、その行は処理されず、エラーがレポートに記録され、次の行に進みます。
WARNING - 行の処理中に警告が発生するか仮定に基づいた処理が行われた場合、それはレポートに警告として記録されます。
バリエーション仕様を読み込むためのスプレッドシートの使用に関するガイドライン
次の点を考慮してください。
バリエーション仕様の読み込みには .xlsx (Microsoft Office Excel 2007 のデフォルト) スプレッドシートフォーマットのみを使用します。
UNIX では、バリエーション仕様を読み込む Windchill コマンドで大文字と小文字が区別されることに注意してください。次の構文を使用します。
windchill com.ptc.windchill.option.variantspec.loader.VariantSpecLoader -d <My_spreadsheetpath>  
スプレッドシートを使用してバリエーション仕様を再設定する場合、そのバリエーション仕様の構造と選択肢の選択に変更がない場合でも、「Create Variants = True」と入力すると (既存のバリエーションがオーバーライドされて) 新しいバリエーションが生成されます。
オプションセットを使用して作成されたバリエーション仕様を再設定することはできません。
ユーザー定義のバリエーション仕様番号を使用したバリエーション仕様の作成は既成の API やスプレッドシートではサポートされていません。
スプレッドシート内にバリエーション仕様のフォルダの場所を指定する際には、その製品の /Default キャビネットに作成されているすべてのフォルダ (/Default/ABC など) を使用できます。
既存のバリエーション仕様を再設定するには、そのバリエーション仕様が関連付けられている部品を指定する必要があります。この場合にはオプションセットを指定しないでください。
バージョンに基づいたバリエーション仕様の再設定はサポートされていません。必ず最新バージョンが再設定されます。
特殊文字については次のガイドラインに従います。
名前に二重引用符が含まれている選択肢は円記号 (\) で囲む必要があります (\a"1\ など)。
名前に特殊文字が含まれている選択肢は二重引用符で囲む必要があります ("a_1" など)。
スプレッドシートの検証
スプレッドシートの処理中に以下について検証が行われます。
部品またはオプションセットの両方ではなくいずれかを指定できます。
部品にオプションセットが割り当てられている必要があります。
部品が存在する必要があります。
オプションセットが存在する必要があります。
フォルダが存在し、バリエーション仕様の新規作成時に指定されている必要があります。
指定された部品コンフィギュレーション仕様が存在する必要があります。
指定されたオプションフィルタコンフィギュレーション仕様が存在する必要があります。
バリエーション仕様の名前と番号は両方ではなくそのいずれかを指定できます。
指定された番号のバリエーション仕様が存在する必要があります。
既存のバリエーション仕様を再設定するには、そのバリエーション仕様が関連付けられている部品を指定する必要があります。この場合にはオプションセットを指定しないでください。
部品またはオプションセットのいずれかを指定する必要があります。
デバッグモードでのユーティリティの実行
このユーティリティをデバッグモードで実行できます。これによって wt_home\logs フォルダに作成された log4j ファイルをエラーのデバッグに使用できます。このログファイルには、処理されているスプレッドシートの各行のエラーが記録されています。
このユーティリティをデバッグモードで使用するには、次の構文を使用します。
Windchill --jap=wt.properties?com.ptc.windchill.option.variantload.java.args com.ptc.windchill.option.variantspec.loader.VariantSpecLoader -d <My_Spreadsheet_Path>\<My_Spreadsheet>.xlsx -u <my_user> -p <my_password>