フラット BOM 計算の拡張に関する演習
推定所要時間
このレッスンでは、フラット BOM を拡張して、BOM 内の項目ごとの総コストと BOM 全体の総コストの計算を追加します。
説明:
1 分
演習:
1 時間
説明
ここまでで、基本的なカスタマイズと配布の演習XML のカスタマイズの演習が終了しました。このラボはテキストエディタを使用して実施し、Java プログラミングは行いません。
このラボでは、簡単な BOM (部品表) を作成します。その後、スキーマを拡張して、BOM 内の各項目に関する個別のコストを追加し、BOM 内の各項目の総コストを計算する新たな擬似属性を設定します。フラット BOM タブは、自動で総コストごとの新しい値を合計し、BOM 全体の総コストを算出します。同じ方法で、重さや容量などの有用な計算や、フラット BOM 計算に基づく他の計算を実行することができます。
以下の演習を活用して、フラット BOM 計算の拡張方法を学習してください。
演習
データベースが Data Management スキーマと Desktop スキーマのどちらを使用しているかを知る必要があります。
データベーススキーマの決定
1. 「ホーム」をクリックして、「検索」グループの 「詳細」の隣の矢印をクリックします。
2. 使用可能なオプションから選択します。
「モデル」を選択した場合、Data Management スキーマが使用されます。
3. 「me_model」を選択した場合、Desktop スキーマが使用されます。
この演習の主な手順は以下のとおりです。
テスト BOM を作成する
ラボで使用する簡単な BOM を作成します。
1. Creo Elements/Direct Model Manager Standalone を起動し、管理者としてログインします。
2. 「最近使ったリスト」タブを選択します。
3. 「ファイル」 > 「新規」 > 「部品」の順に選択します。「新規部品」ダイアログで、部品に使用する一意の「名前」を入力し、「了解」をクリックします。この部品は、テスト BOM のルート部品になります。
4. 新規部品を選択します。
5. 「構造」をクリックして、「BOM」グループの「BOM エディタ」をクリックします。「BOM エディタ」ダイアログボックスが開きます。
6. BOM エディタを設定します。
a. 「レポートの表示」列が表示されていない場合、空白部分を右クリックし、「レイアウト」 > 「部品」の順に選択します。「レポートの表示」チェックボックスをオンにします。
b. 次の図のように、「実際の数」列をドラッグして移動します。
7. BOM を作成します。
a. 最初に、3 つの新しい部品エントリをルート部品に追加します。
「追加」 > 「新規部品」の順にクリックします。
「名前」列に一意の名前を入力し、Enter キーを押します。
同じ操作で、他の 2 つの部品を追加します。最終的な構造は次のようになります。
「ファイル」 > 「保存」の順にクリックします。
b. 次に、25 Cent PartTestSubAssembly にドラッグアンドドロップして、TestSubAssembly25 Cent Part の共有を作成します。
「BOM 属性を付けてコピー」ダイアログが表示されたら、「了解」をクリックします。
c. 最後に、75 Cent PartTestSubAssembly に追加します。TestSubAssembly「レポートの表示」のチェックを外し、「実際の数」2 に変更します。
「レポートの表示」のチェックを外す理由
レポートの表示フラグは、フラット BOM レポートでパーツまたはアセンブリを表示するかどうかを制御します。このラボでは、サブアセンブリを表示する必要はありませんが、サブアセンブリ内のパーツを表示する必要があります。
8. 変更を保存して 「BOM エディタ」を閉じます。
部品スキーマを拡張する
次に、部品スキーマを編集し、UNIT_COST という新しい属性を追加します。この属性は、BOM 内の各パーツに関するコストを含み、BOM の総コストを計算するために使用されます。
1. 管理者としてログオンした Creo Elements/Direct Model Manager Standalone で、「管理」タブに移動します。
2. 「管理の対象を選択してください」ペインで、「属性とクラス」をクリックします。
3. 「部品」フォルダを開き、Data Management スキーマを使用している場合は「MASTERDATA」を、Desktop スキーマを使用している場合は「me_part」を選択します。
4. 「部品」を右クリックし、ショートカットメニューの「新規属性の追加」をクリックします。次の値を入力します。
名前: UNIT_COST
表示名: Unit Cost
データ タイプ: Float (プルダウンリストから選択)
「了解」をクリックします。
5. 「管理の対象を選択してください」ペインで、「今すぐ配布」をクリックします。指示に従って、変更を配布します。
6. Creo Elements/Direct Model Manager Standalone を終了し、再起動します。
7. 「最近使ったリスト」タブで、テスト BOM を選択し、「BOM エディタ」をクリックします。
8. BOM エディタで、新しい Unit Cost 属性をレイアウトに追加します。
空白部分を右クリックし、「レイアウト」 > 「部品」の順に選択します。「Unit Cost」にチェックを入れ、「了解」をクリックします。
9. パーツの「Unit Cost」を編集します。25 Cent Part.2550 Cent Part.5075 Cent Part.75 を設定します。「変更の保存」をクリックします。
擬似属性を部品に追加する
次に、BOM の各項目の総コストを計算するための新しい擬似属性を作成する必要があります。擬似属性は、ExpressionAttribute ビジネスオブジェクトを使用します。これにより、クラスの属性を変数として用いて、数式を設定できます。この式の結果は属性の値になります。
1. インストールディレクトリ内の config ディレクトリに移動します。通常、このディレクトリのパスは次のとおりです。
C:\Program Files\PTC\Creo Elements\Direct Manager Server 20.7\config
2. custom.xml ファイルをコピーし、名前を total_cost.xml に変更します。
3. Masterdata クラスに、以下の定義を追加します。
Data Management スキーマ:
<ClassDefs>
<Class extends="DMMasterdata, DMReleaseProcess">
<Name>MASTERDATA</Name>
<Attribute>
UNIT_COST
<Visible>true</Visible>
<DisplayName>Unit Cost</DisplayName>
<RollingNumberGeneratorName />
<BusinessObjectClass>-</BusinessObjectClass>
<AttributeEditorClass />
<CustomAttribute>true</CustomAttribute>
<IncludeInLayoutManager>true</IncludeInLayoutManager>
</Attribute>
<Attribute>
TOTAL_COST
<Visible>true</Visible>
<DisplayName>Total Cost</DisplayName>
<BusinessObjectClass>com.osm.datamgmt.biz.ExpressionAttribute
</BusinessObjectClass>
<Expression>%TOTAL_QTY% * %UNIT_COST%</Expression>
<CustomAttribute>true</CustomAttribute>
<IncludeInLayoutManager>true</IncludeInLayoutManager>
<Aggregate>true</Aggregate>
<Protect>true</Protect>
<IsLinkAttribute>true</IsLinkAttribute>
</Attribute>
</Class>
</ClassDefs>
Desktop スキーマ:
<ClassDefs>
<Class extends="DTDefaultMasterdata, DTReleaseProcess">
<Name>MASTERDATA</Name>
<Attribute>
UNIT_COST
<Visible>true</Visible>
<DisplayName>Unit Cost</DisplayName>
<RollingNumberGeneratorName />
<BusinessObjectClass>-</BusinessObjectClass>
<AttributeEditorClass />
<CustomAttribute>true</CustomAttribute>
<IncludeInLayoutManager>true</IncludeInLayoutManager>
</Attribute>
<Attribute>
TOTAL_COST
<Visible>true</Visible>
<DisplayName>Total Cost</DisplayName>
<BusinessObjectClass>com.osm.datamgmt.biz.ExpressionAttribute
</BusinessObjectClass>
<Expression>%TOTAL_QTY% * %UNIT_COST%</Expression>
<CustomAttribute>true</CustomAttribute>
<IncludeInLayoutManager>true</IncludeInLayoutManager>
<Aggregate>true</Aggregate>
<Protect>true</Protect>
<IsLinkAttribute>true</IsLinkAttribute>
</Attribute>
</Class>
</ClassDefs>
<Expression> タグが次のように設定されていることに注目してください。
<Expression>%TOTAL_QTY% * %UNIT_COST%</Expression>
%TOTAL_QTY% 変数が保持するのは、BOM に含まれている 1 つのパーツの総数です。この数は、Creo Elements/Direct Model Manager のフラット BOM で計算されます。%UNIT_COST% は、新しく作成した UNIT_COST 属性を使用する変数です。
合計できるのは、リンク属性のみです。TOTAL_COST を合計するには、次のようにこの属性をリンク属性として設定し、合計を有効にする必要があります。
<Aggregate>true</Aggregate>
<IsLinkAttribute>true</IsLinkAttribute>
計算をテストする
1. Creo Elements/Direct Model Manager Standalone を終了し、再起動します。
2. 「最近使ったリスト」タブで、テスト BOM 用のルート部品を選択し、「部品タスク」ペインで「BOM エディタ」をクリックします。
3. 「BOM タスク」ペインの「レポートの作成」をクリックします。ウィザードの「終了」をクリックします。位置番号の重複についての警告ダイアログが表示された場合、「了解」をクリックします。
レイアウト マネージャを使用して、レポートに総コスト (Total Cost) 列を追加します。
「総コスト」列には、BOM のアイテムごとに合計した値が表示されます。BOM の詳細パネルの総コストには、「総コスト」列の合計が表示されます。
4. コストのフォーマットを設定するには、TOTAL_COST および UNIT_COST 属性の両方に以下のタグを追加します。
<DisplayFormat>$%.2f</DisplayFormat>
これにより、コストは小数点以下 2 桁の値に丸められ、値の先頭に「$」が付加されます。
Creo Elements/Direct Model Manager Standalone を終了し、再起動して、テスト BOM でフラット BOM レポートを再生成します。レポートは次のようになります。
これは役に立ちましたか?