使用BMIDE创建供结构管理器应用程序使用的自定义对象。结构管理器对象由Foundation基础模板提供。不需要额外的模板。
一、配置BOM分级 Configuring BOM grading
BOM分级是物料清单(BOM)的验证引擎(validation engine)。它允许客户验证其产品的BOM,并确保所有零件符合可配置标准,如批准零件,不过时,并符合RoHS。如果手工完成,这可能会很困难,因为BOM可能包含数千个部件。在Business Modeler IDE中,用户可以创建条件,并使用验证规则将条件与业务对象关联起来。
此外,批准在一个项目上使用的部件可能不被批准在另一个项目上使用。例如,一个部件可以通过欧洲合规标准,但不能通过美国标准。这意味着根据产品环境(目标市场、制造工厂等等),所有BOM都可能根据多组条件进行分级。Validation Manager应用程序通过创建检查器来允许用户定义环境(条件集)。
结构管理器中的“工具→BOM分级菜单命令”对选定的检查器执行BOM验证。BOM分级结果查看器允许用户查看、分析、过滤和覆盖验证结果。
1. 如果还没有这样做,请创建一个自定义模板项目来保存数据模型更改。
2. 创造条件。您必须创建条件来评估零件,以确保它们在BOM中有效。要创建条件,请打开扩 展(Extensions\Rules)文件夹——规则文件夹,右键单击条件,然后选择New condition。 BOM分级支持以下条件签名:
(Workspaceobject r)
(Workspaceobject r, BOMLine o)
例如,如果您想要使用BOM分级检查某个部件是否具有发布状态,请设置类似于下面的条 件,使用INLIST函数:
TestReleaseStatusCondition(ItemRevisiono)=: INLIST("Obsolete",o.release_status_list,"name")
3.使用Teamcenter组件和验证规则将条件分配给业务对象。
创建一个Teamcenter 组件来将条件链接到业务对象,并创建验证规则来设置范围。
要创建一个Teamcenter 组件,在“扩展文件夹”中,右键单击Teamcenter 组件并选择“新建 Teamcenter 组件”。(具体方法参考:创建数据模型元素——Teamcenter组件对象)
创建验证规则,在菜单栏上选择“BMIDE→编辑器→验证规则编辑器”,单击“验证规则”表右侧的 “添加”按钮。
以下COTS对象用于BOM分级:
1)Fnd0BOMGrading Teamcenter组件对象在“扩展—Teamcenter组件文件夹”中提供。
2)Fnd0BOMGrading值列表(LOV)位于“扩展→LOV文件夹”。
4. 将模板部署到服务器上,用于BOM分级。
二、 向BOM列添加自定义属性 Add custom properties to BOM columns
您可以在结构管理器或其他显示BOMl行的应用程序中向BOM列添加自定义属性。下以下是导致需要向BOM列添加自定义属性的一组典型情况:
1)您已经向BMIDE添加了自定义业务对象,这些业务对象是ItemRevision业务对象下的子 类,并且您已经向这些自定义业务对象添加了自定义属性。
2)您已经决定应该将这些自定义业务对象的实例组织到结构中,并且希望在查看结构时可以 看到自定义属性
3)您已经决定使用一个应用程序来显示结构,例如结构管理器、SystemsEngineering和 Manufacturing Process Planner等。
一种更简单的方法是在BMIDE中使用Fnd0BOMLineRevConfigProps全局常量来添加自定义项Revision业务对象的自定义属性。
您还可以直接在BOMLine业务对象上定义复合属性,并将它们添加到列中。但是,不能在ImanltemLine业务对象上直接定义复合属性。
注意:
Fnd0BOMLineRevConfigProps全局常量的行为类似于控制派生BOM行属性的其他全局常量。对于每一个,将您的自定义业务对象类型添加到常量中,并且自定义类型属性被添加,作为BOMLine业务对象上的bl_属性。
1)BOMLineFormConfiguredProperties
从Item Master 添加属性
2) BOMLineRevConfiguredProperties
从Item Revision Master添加属性。
3)Fnd0BOMLineltemConfigProps
从Item添加属性。
4)Fnd0BOMLineRevConfigProps
从Item Revision添加属性。
1.如果还没有这样做,请创建一个自定义模板项目来保存数据模型更改。
2. 在菜单栏上选择“BMIDE→编辑器→全局常量编辑器” 。
3. 选择Fnd0BOMLineRevConfigProps全局常量并单击Edit按钮。
4.在“修改全局常数”对话框中,单击“添加”按钮,添加自定义Item Revision业务对象,并单击“Finish”。
5. 在BMIDE视图中右键单击"the project项目"并选择"构建数据集Reload Data Model"。
6. 在“Business Objects文件夹”中,打开“BOMLine业务对象”并单击“属性选项卡”。在属性表中,您可以看到自定义业务对象的属性是按照以下命名约定添加的:
bl_business-object-name_property-name
7. 选择一个新的bl_属性,单击"Edit"按钮,然后在Display Name框中键入您希望在此属性作为BOM列标题出现在用户界面中时使用的名称(例如,My property)。
注意:
如果不执行此步骤,则该属性将以内部属性名称显示在用户界面中。为了避免混淆并清楚地表明它们实际上是相同的属性,请使此属性的显示名称与源自定义属性上的显示名称相同。
8.在菜单栏选择“BMIDE→保存数据模型”。
9.通过在菜单栏上选择“BMIDE→部署模板”,将模板部署到测试服务器。
10.执行以下步骤来验证用户界面中的新属性。
1)在测试服务器上运行胖客户端。
2)向具有BOM表(如Structure Manager)的应用程序发送Item Revision。
3)右键单击BOM表中的列标题,然后选择“插入列Insert column (s)”。
4)在“可用列”框中,向下滚动,直到看到自定义属性。
5)选择自定义属性并单击“+按钮”将其添加到显示列列表中。然后单击Apply。新属性显 示BOM表列。
注意:
您可以使用BOM_Properties_For_Column_Selection首选项来限制按组或角色显示在列上的属性。
三、创建条件来控制允许的结构内容Create conditions to control permitted structure content
您可以使用BMIDE创建条件(conditions),来定义产品结构中被允许的内容类型。以下类型的限制可以通过条件来定义:
1)只有某些Item 可以是其他类型的子项或父项。
2)父对象或子对象的属性必须满足指定的值,否则为NULL。
创建条件后,使用Fnd0OccurrenceConditionValidation Teamcenter组件对象创建验证规则,将其分配给特定的业务对象类型及其子对象。
将包含条件的模板安装到服务器后,end用户无法添加定义条件禁止的内容。在Structure Manager中,end用户可以根据条件验证产品结构,方法是在产品结构中选择一个Item并选择“工具→Validate Occurrences"(验证事例)。
创建这些条件时请记住以下几点:
1)如果系统中没有控制occurrence(事例)结构的条件,则只允许那些遵循系统中现有父子 继承的结构。
2)在创建条件时,子业务对象从父业务对象继承条件。
3)如果用户试图将对象放入没有匹配条件规则的结构中,则会失败。例如,如果用户试图将Dataset对象放置为Item对象的子对象,并且没有设置允许的条件,则会失败,因为Dataset业务对象不是Item业务对象的子对象。因此,您必须为您组织的产品结构中可能出现的所有可能的父子组合创建条件。
4)Siemens PLM Software建议您为这些最常用的父子发生结构Item-Item和Item-GDE创建解析为true的条件。这避免了如果系统中没有occurrence验证条件时可能发生验证失败。
四、Control parent-child product structures 控制父子产品结构
下面的示例展示了如何创建条件,以允许或禁止将对象实例作为产品结构中另一个对象实例的子对象。
在本例中,您首先创建一个解析为true的ItemRevision-ItemRevision条件(表达式1=1)和一个解析为true的ItemRevision - GeneralDesignElement条件,然后创建验证规则,将这些条件添加到Fnd0OccurrentConditionValidation Teamcenter Component组件对象中。
注意:
Siemens PLM Software建议您创建这些类型的条件,来允许用户创建所有所需的父子产品结构。
该示例还向您展示了如何更改条件以解析为false(表达式1=0),以防止这些父子occurrence structures。这演示了如何创建一个条件来防止一个对象类型成为另一个对象类型的子对象。
1. 如果还没有这样做,请创建一个自定义模板项目来保存数据模型更改。
2. 在Business Modeler IDE中,创建以下条件。
注意:
在下面的示例中,O5_是与模板关联的命名前缀。当您创建自己的条件时,请使用与模板关联的命名前缀。
O5_ItemltemRule
此条件允许用户在其他ItemRevision实例下添加ItemRevision实例。
05_ItemGDERule
这个条件允许用户在ItemRevision实例下添加GeneralDesignElement实例。
3.创建验证规则。
1) 在菜单栏上,选择“BMIDE→编辑器→验证规则编辑器( BMIDE→Editors→Verification Rules Editor)”。
2) 单击“验证规则(Verification Rule)”页签中的“添加”按钮,添加验证规则,如下图所示。这 些规则使用Fnd0OccurrenceConditioValidation Teamcenter Componen组件对象,该对象为产品结构验证的业务对象类型分配条件。
注意:
验证规则的上下文过滤器(The context filter )必须设置为isTrue。如果父-子对应用了多个条件,并且至少匹配了其中一个,则解析为true。
4. 要将更改保存到模板,请在菜单栏上选择BMIDE→ Save Data Model(保存数据模型)。选择“BMIDE→ Generate Software Package(生成软件包)”对模板进行打包。最后,使用Teamcenter Environment Manager将打包的模板安装到服务器上。验证条件。
5.Verify the conditions.a.Log on to the rich client and open Structure Manager.b.To verify that you can add an item as a child under another item, create an item revision under another item revision. Then choose Tools→Validate Occurrences. You should receive the following message.5.验证条件。
(1)登录到胖客户端并打开结构管理器。
(2)若要验证是否可以将项添加为另一项下的子项,请在另一项 item revision 下创建项 item revision 。然后选择 Tools→Validate Occurrences(验证事例)。您应该收到以下消息。
C.Create a GeneralDesignElement instance under an item revision and repeat the validation step. It should also pass the occurrence validation.Note:To create GeneralDesignElement instances, choose File→New→Item Element. All available item elements are children of the GeneralDesignElement business object type, and therefore inherit the product structure conditions created for the GeneralDesignElement business object.C。
(3)在 item revision 下创建GeneralDesignElement实例,并重复验证步骤。它还应该通过发生验证。
注意:
要创建GeneralDesignElement实例,请选择File→New→Item Element(零组件元素)。所有可用的组件元素都是GeneralDesignElement业务对象类型的子元素,因此继承了GeneralDesignElement业务对象创建的产品结构条件。
In the Business Modeler IDE, change the expressions on the conditions to resolve to false.05_ItemltemRuleChange the Expression to 1-0 so that it resolves to false.Also change the Description to read:05 ItemItemRule: You cannot make an ItemRevisiona child of another ItemRevisionThis text is included in the error message when occurrence validation fails when an ItemRevision instance is added under another ItemRevision instance.
在Business Modeler IDE中,将条件上的表达式更改为解析为false。
O5_ItemltemRule
将表达式更改为1=0,使其解析为false。
同时将”描述“更改为:
05 itemrule:You cannot make an ItemRevisiona child of another ItemRevision
当在另一个ItemRevision实例下添加一个ItemRevision实例时,发生验证失败时,此文本将包含在错误消息中。
05_ItemGDERuleChange the Expression to 1=0 so that it resolves to false.Also change the Description to read:05_ItemGDERule: You cannot make a GeneralDesignElementa child of an ItemRevisionThis text is included in the error message when occurrence validation fails when aGeneralDesignElement instance is added under an ItemRevision instance.
O5_ItemGDERule
将表达式更改为1=0,使其解析为false。
同时将”描述“更改为:you cannot make a GeneralDesignElementa child of an ItemRevision
当在ItemRevision实例下添加GeneralDesignElement实例时,发生验证失败,并且此文本将包含在错误消息中。
7.验证条件。
(1)登录到胖客户端并打开结构管理器。
(2) 在一个item revision下创建一个item revision,或者选择您之前创建的结构(一个item revision下的item revision),并选择Tools——Validate Occurrences(验证事例)。您应该会收到类似以下的错误消息:
The condition description text is incorporated into the error message. This verifies that the condition successfully prevents adding an item revision as a child of another item revision.Attempt to make a product structure with a general design element under an item revision, or select the structure you previously created. You receive an error message similar to the following:
条件描述文本被合并到错误消息中。这将验证该条件是否成功阻止将 item revision添加为另一 item revision的子版本。
尝试在 item revision下使用general design element制作产品结构,或选择之前的结构。您将收到类似如下的错误消息::
既然您知道了如何创建父子条件来允许或禁止某些发生结构,那么您就可以自己进行实验来创建其他条件了。此示例仅用于说明目的。您应该创造适合您业务需求的条件。
五、Control structures based on properties 基于属性的控制结构
下面的示例展示了如何创建条件,允许或禁止基于对象的属性将 object instance(对象实例)作为产品结构中另一个对象实例的子对象。
在此示例中,如果子项属于特定项目,则只能将item revision放置为另一item revision的子项。首先,创建一个条件,如果project_ids属性等于一个特定的属性,它就解析为true,然后创建一个父子关系指向第一个条件。
1. 如果还没有这样做,请创建一个自定义模板项目来保存数据模型更改。
2. 在Business Modeler IDE中,创建以下条件
注意:
在下面的示例中,O5_是与模板关联的命名前缀。当您创建自己的条件时,请使用与模板关联的命名前缀。
O5_isPropertyValue
这个条件规定project_ids属性必须等于一个特定的值,在本例中是MyProject
O5_ItemPropertyRule
规则只有当O5_isPropertyValue条件解析为true时,这个条件允许用户在其他ItemRevision实例下添加ItemRevision实例。
3.创建验证规则。
(1)在菜单栏上选择“BMIDE→编辑器→验证规则编辑器”。
(2)单击验证规则选项卡上的Add按钮,并使用fnd0OccurrenceConditionValidation Teamcenter Component组件对象为O5_ItemPropertyRule条件添加一个验证规则。Teamcenter组件对象将条件添加到业务对象类型中,用于产品结构验证。
注意:
The context filter for the verification rule must be set to isTrue. If multiple conditions are applied for theparent-child pair and at least one of them is matched, it resolves to true.验证规则的关联过滤器(Context Filter)必须设置为 isTrue。如果多个条件被父-子对应用,要至少匹配其中一个解析为true。
要保存对模板的更改,请在菜单栏上选择 BMIDE→save Data Model。选择“ BMIDE→生成软件包”对模板进行打包。最后,使用Teamcenter Environment Manager将打包的模板安装到服务器上。
验证条件:
(1)登录到胖客户端。
(2)在Project应用程序中,创建一个名为MyProject的项目。
(3)在My Teamcenter中,右键单击一个item(不是item revision),并选择Project - Assign,将其分配给MyProject项目。 item下的 item revision自动分配给该项目。
注意:
要验证项目设置是否正确,可以查看对象的Project IDs 属性。
在结构管理器中,将 item revision 与MyProject项目分配粘贴为另一个item revision下的子项目。要验证验证事例,选择结构并选择Tools——验证事例。
您将收到以下消息:
(4)右键单击子 item revision (带有MyProject project assignment),然后选择Project→Remove来删除 MyProject assignment。
(5)择产品结构并选择Tools→Validate Occurrences。您将收到类似如下的错误消息:
这将验证,如果一个对象的属性之一具有特定值,则该对象只能作为子对象添加到产品结构中。
既然您已经知道了如何创建条件来允许或禁止基于属性值的某些事例结构,那么您就可以自己尝试创建其他条件了。请记住,此示例仅用于说明目的。您应该创造适合您业务需求的条件。ndou
六、BOM line naming behavior BOM行命名行为
A BOM internally evaluates the BOM line name from the DisplayName business object constant on the Item Revision business object. However, the lightweight BOM (LWB) functionality determines the BOM line name from the object string property of the FndOltemLineLite business object as defined in the FndOltemLineLite_bl_line_name_expression preference. The default value of this preference is similar to the naming convention used by regular BOM line.
BOM在内部确认BOM行的名称,依据Item Revision业务对象上的DisplayName业务对象常量。
然而,轻量级BOM (LWB)功能根据Fnd0ltemLineLite业务对象的对象字符串属性确定BOM行名称,该属性在Fnd0ltemLineLite_bl_line_name_expression首选项中定义。此首选项的默认值类似于常规BOM行使用的命名规则。
Fnd0ltemLineLite_bl_line_name_expression优先级的默认值如下:
şbl_item_item_id+"/"+sbl_rev_item_revision_id+";"+sbl_rev_sequence_id+"-"+şbl_rev_object_name
轻量级BOM命名规则仅在ItemRevision的子类型更改其DisplayName业务对象常量表达式的情况下才偏离常规BOM。
在下面的示例中,结构中的两行(一行是Item类型,另一行是Part类型)是DisplayName业务对象常量在PartRevision业务对象上被更改。
七、 Add a compound property on a GDE line using the bl line object property 使用bl行对象属性在GDE行上添加复合属性
使用bl_ line_object属性而不是bl_ revision属性来创建复合属性,以便在GDE行上显示底层GDE对象的属性。
通用设计元素(GDE)对象是不可修改的对象。这些对象可以在结构管理器中显示为GDE行,就像item在结构管理器中显示为item行一样。在结构管理器术语中,GDE行和item行都是BOM行。目前,结构管理器可以显示这些BOM行的属性。其中一些属性是特定于item行,其他用于GDE行,而有些用于GDE行和item行。
特定于item行的BOM行属性不适用于GDE行。例如,某些特定于项目修订的BOM行属性仅特别适用于项目行,而不适用于GDE行。其中一些在其名称中有修改属性特定的文本,并且由于GDE是不可修改的对象,因此它们仅用于item行。
以下是一些不适用GDE代码行的属性示例: