发布多个有效性信息
部件或产品根据所应用的有效性制造。将应用的有效性发布到下游企业资源计划 (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 进行比较,而不考虑有效性上下文。
在以 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 差异计算”设置为“是”时,则支持基于有效性发布“构成集”和“联合生产”对象。 |
在 SAP 系统中发布有效性信息
在 SAP 系统中发布有效性信息时,请考虑以下几点:
• TIBCO 中间件中的全局变量 RenderEffectivityInSeparateElement 用于确定是否在 ESI 响应的单独元素中发布有效性信息。默认情况下,该全局变量设置为 true。要在部件元素内或作为部件属性发布有效性信息,则必须将此全局变量设置为 false。
• 考虑在 SAP 中耗用与 ESI 响应的 AddedEffectivities 元素中呈现的对象关联的有效性。
• 将在 SAP 系统中耗用相同类型的有效性信息的多个实例。
• 而忽略不同有效性类型的多个有效性,即发布对象时不使用任何有效性信息。
• 当在 ESI 响应的单独元素中发布有效性信息时,与 TIBCO 全局变量 PartEffectivityFlag 相关的行为不适用。
• 仅使用变更通告发布的有效性信息会在 SAP 系统中耗用。而未使用变更通告发布的有效性信息不会在 SAP 系统中耗用。
• TIBCO Business Logic 不会耗用企业数据和工厂数据的有效性。上述情况同样适用于部门数据。
SAP 中基于有效性上下文的增量 BOM 耗用
• 仅当有效性在 ESI 响应的单独元素中发布且中间件中的全局变量 RenderEffectivityInSeparateElement 设置为 true 时,基于有效性上下文发布的增量 BOM 才会在 SAP 中耗用。
• 基于有效性上下文发布的增量 BOM 的耗用取决于相应对象的 EffectivityCxtPartNumber 属性值。如果使用某个值发布了此属性,但 ESI 响应不包括变更通告,则中间件会生成一条错误消息。
• SAP 允许发布具有多个有效性上下文的多个 BOM;但是,会将所有有效性上下文应用至所有 BOM,这将导致错误结果。
• 对于单个变更通告,必须仅对所有 BOM 发布一个有效性上下文。如果变更通告包含与多个有效性上下文相关联的多个 BOM,则中间件会生成一条错误消息。
• 基于有效性上下文的增量 BOM 耗用仅与序列有效性相关。在 SAP 系统中,日期有效性不包括上下文信息。