发布多个有效性信息
部件或产品根据所应用的有效性制造。将应用的有效性发布到下游企业资源计划 (ERP) 系统这一点非常重要。
有效性可应用于部件、扩展数据和部门数据对象。有效性可以是日期、批号或序列号。有关详情,请参阅
关于有效性。
用户可以使用 ERP Connector 将已应用的有效性信息发布到针对分发目标的 Windchill Enterprise Systems Integration (ESI) 响应中。默认情况下,系统会提供在 Windchill ESI 响应中发布有效性信息时所需的配置。
您可以与 BOM 一起从原材料链接对象发布有效性。
1. 要通过变更通告从制造历史对象发布有效性:
a. 在 esi.properties.xconf 文件中,将以下特性的默认值设置为 true:
<Property default="false" name="com.ptc.windchill.esi.publishEffectivityInformationFromManufacturingHistory"/>
b. 运行以下命令:
xconfmanager -pf
c. 传播此特性后,您将会在 esi.properties 文件中看到 com.ptc.windchill.esi.publishEffectivityInformationFromManufacturingHistory。
4. 单击 > 。“更新分发目标”页面随即打开。在此页面上,搜索并选中要发布到的目标的相应复选框。
5. 单击“确定”。
6. 在上游或下游视图中选择根部件,然后单击 > 。随即打开“发送至分发目标”页面。
7. 单击“下一步”。“包含的对象”部分会显示已选中用于发布的目标列表。
8. 单击“发送”。随即弹出一条消息,用来确认发布已启动。
9. 解决该变更通告。
生成以下响应:
有效性
<Effectivity>
<ObjectID>OR:wt.effectivity.WTDatedEffectivity:198919:222562873-1634234454365-525180031-1-0-0-127@vagrant.ptcnet.ptc.com</ObjectID>
<Class>com.ptc.windchill.esi.Part</Class>
<StartEffectivity>2021-10-27 00:00:00</StartEffectivity>
<EndEffectivity>2021-10-31 00:00:00</EndEffectivity>
<EffectivityCxtPartNumber/>
<EffectivityType>Date Effectivity</EffectivityType>
<EffectivityQualifier>Exact</EffectivityQualifier>
<PartMaster>0000000064</PartMaster>
<TargetID>FILE_0001</TargetID>
</Effectivity>
将有效性作为单独组中的元素发布
Windchill ESI 可用于通过 ERP Connector 将与对象关联的多个有效性信息发布到分发目标。默认情况下,与以下对象关联的有效性可在 ESI 响应中作为单独的组发布:
• 部件
• 构成集
• 联合生产
• BOM 标题
• BOM 组件
• 企业数据
• 工厂数据
• 部门数据
• 生产版本
在 ESI 响应中,有效性在“已添加”、“未更改”或“已删除”组中发布。应用于扩展数据和部门数据的有效性将在各自组的外部发布。即使扩展数据和部门数据属性与部件属性相组合,此信息也不会与部件有效性信息合并。
请参阅下列有关 ESI 响应中部件和有效性元素的示例。请知悉,部件中的 AssociatedEffectivityID 属性与有效性中的 ObjectID 属性相同。
<AddedBOMs NAME="AddedBOMs" TYPE="Unknown" STATUS="0">
<BOMHeader>
<ObjectID>OR:wt.part.WTPart:234172:885848332-1727961145874-1013430185-147-200-228-10@vagrant.ptcnet.ptc.com</ObjectID>
<Class>com.ptc.windchill.esi.BOMHeader</Class>
<LastChangedBy>wcadmin</LastChangedBy>
<Number>SXKMB00224</Number>
<Version>A</Version>
<Iteration>2</Iteration>
<EnterpriseVersion/>
<PreviousVersion/>
<Usage/>
<Alternate/>
<IsCADPhantom>false</IsCADPhantom>
<IsCollapsible>false</IsCollapsible>
<AssociatedEffectivityID>OR:wt.part.ProductSerialNumberEffectivity:234224:885848332-1727961145874-1013430185-147-200-228-10@vagrant.ptcnet.ptc.com</AssociatedEffectivityID>
<EffectivityCxtPartNumber>SXKMB00164</EffectivityCxtPartNumber>
<PreviousChangeNumber/>
<Type>Part</Type>
<TargetPlant/>
<Quantity/>
<Unit/>
<AssociatedMadeFromObjectID/>
<IsAllocatedAsResource>false</IsAllocatedAsResource>
<TargetID>FILE_DT_01</TargetID>
</BOMHeader>
</AddedBOMs>
...
<AddedEffectivities NAME="AddedEffectivities" TYPE="Unknown" STATUS="0">
<Effectivity>
<ObjectID>OR:wt.part.ProductSerialNumberEffectivity:234224:885848332-1727961145874-1013430185-147-200-228-10@vagrant.ptcnet.ptc.com</ObjectID>
<Class>com.ptc.windchill.esi.Part</Class>
<StartEffectivity>32</StartEffectivity>
<EndEffectivity>98</EndEffectivity>
<EffectivityCxtPartNumber>SXKMB00164</EffectivityCxtPartNumber>
<EffectivityType>End Item Serial Number Effectivity</EffectivityType>
<EffectivityQualifier>Exact</EffectivityQualifier>
<PartMaster>SXKMB00224</PartMaster>
<TargetID>FILE_DT_01</TargetID>
</Effectivity>
</AddedEffectivities>
默认情况下,有效性作为单独组中的元素发布。要更改默认行为,请设置下列其中一个特性:
• 要在与关联对象相同的组中发布有效性,请使用 xconf 管理器将以下特性设置为 true:
xconfmanager -s com.ptc.windchill.esi.renderEffectivityElementInPartElement=true -t codebase/com/ptc/windchill/esi/esi.properties -p
• 要将有效性作为对象元素内的属性发布,请使用 xconf 管理器将以下特性设置为 true:
xconfmanager -s com.ptc.windchill.esi.renderEffectivityWithPartAttributes=true -t codebase/com/ptc/windchill/esi/esi.properties -p
基于有效性上下文的增量 BOM 发布
要根据有效性上下文发布 BOM,请将“启用基于有效性上下文的 BOM 差异计算”首选项设置为“是”。可导航至 > > > ,将此首选项配置为“站点”或“组织”级别。如果此首选项设置为“是”,则会比较正在发布的 BOM 与其之前发布的版本,后者是使用相同有效性上下文针对相同分发目标发布的。如果此首选项设置为“否”(默认值),则会比较正在发布的 BOM 与上次发布的 BOM,而不考虑有效性上下文。
| 要实现基于有效性上下文的增量发布,有关有效性上下文的其他元数据将与 BOM 标题、BOM 组件、特定替换部件链接和位号链接的发布活动一起保存。但是,使用 Windchill 早期版本发布的 BOM 不会保留所需的元数据。要将此功能与使用 Windchill 早期版本发布的 BOM 一起使用,您可以手动加载具有有效性上下文和变更编号信息的相关发布活动。有关详情,请参阅 加载发布历史记录。 |
在以 ECN 为中心的发布模式下,应对“包括有效性上下文”和“验证有效性上下文”首选项进行相应设置,以根据有效性上下文发布 BOM。在“启用基于有效性上下文的 BOM 差异计算”首选项设置为“是”的情况下发布 BOM 时,请考虑以下场景:
场景 | BOM 结构 | ESI 响应 | 备注 |
|---|
1 | 创建并发布具有以下有效性的部件结构: ParentPart_1 (A.1) ChildPart_1 ChildPart_2 将有效性应用至 ParentPart_1 上下文:Cntxt_1 (部件编号 - 0000000001) 序列号:1-100 | 添加的部件: ParentPart_1 ChildPart_1 ChildPart_2 添加的有效性: 成品序列号有效性 1-100 EffectivityCxtPartNumber:0000000001 (Cntxt_1) 添加的 BOM 标题: ParentPart_1 添加的 BOM 组件: ChildPart_1 ChildPart_2 | 在此场景中,创建所有部件、BOM 标题和组件。 添加有效性。 |
2 | 修订 ParentPart_1 以添加 ChildPart_3,并使用其他有效性上下文来发布以下结构。 ParentPart_1 (B.1) ChildPart_1 ChildPart_2 ChildPart_3 将有效性应用至 ParentPart_1 上下文:Cntxt_2 (部件编号 0000000002) 序列号:1001-1100 | 添加的部件: ChildPart_3 已更改的部件: ParentPart_1 未更改的部件: ChildPart_1 ChildPart_2 添加的有效性: 成品序列号有效性:1001-1100 EffectivityCxtPartNumber:0000000002 添加的 BOM 标题: ParentPart_1 添加的 BOM 组件: ChildPart_1 ChildPart_2 ChildPart_3 | • 根据所执行的操作,部件可能已添加、已更改或未更改。 • 有效性发布为“已添加”。 • 添加 BOM 标题和组件,因为 ParentPart_1 (B.1) 与 ParentPart_1 (A.1) 的有效性上下文不同。 |
3 | 修订 ParentPart_1。更新 ChildPart_1 和 ChildPart_2 的数量。使用与场景 1 中的有效性上下文来发布以下结构。 ParentPart_1 (C.1) ChildPart_1 (包括更新后的数量) ChildPart_2 (包括更新后的数量) ChildPart_3 将有效性应用至 ParentPart_1 上下文:Cntxt_1 (部件编号 0000000001) 序列号:101-200 | 已更改的部件: ParentPart_1 未更改的部件: ChildPart_1 ChildPart_2 ChildPart_3 删除的有效性: 成品序列号有效性:1-100 EffectivityCxtPartNumber:0000000001 添加的有效性: 成品序列号有效性:101-200 EffectivityCxtPartNumber:0000000001 更改的 BOM 标题: ParentPart_1 添加的 BOM 组件: ChildPart_3 更改的 BOM 组件: ChildPart_1 ChildPart_2 | • 根据所执行的操作,部件可能已添加、已更改或未更改。 • 先前的有效性将被删除,新的有效性将发布为“已添加”。 • 部件 ParentPart_1、ChildPart_1 和 ChildPart_2 的 BOM 标题和组件发布为“已变更”,因为它们之前已发布 (请参见场景 1)。 • ChildPart_3 的 BOM 组件发布为“已添加”,因为此部件未存在于 A.1 版本的 BOM 中 |
| • 如果“启用基于有效性上下文的 BOM 差异计算”首选项设置为“是”,则支持基于有效性发布“构成集”和“联合生产”对象。 • 如果有效性上下文部件不是直属父部件,且“启用基于有效性上下文的 BOM 差异计算”首选项设置为“是”,则会生成 ESI 响应。但是,在 Oracle Applications 中进行发布时,中间件会显示一条错误消息。 |