发布多个有效性信息
部件或产品根据所应用的有效性制造。将应用的有效性发布到下游企业资源计划 (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
2. 在 BOM 变换器中打开部件,并使用 > “插入‘构成’”操作来添加原材料部件。有关详细说明,请参阅将原材料部件或半成品部件与部件关联
3. 创建变更通告ECN_001,将其与 BOM 结构关联,并添加有效性
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 差异计算”设置为“是”。可导航至“实用程序” > ESI > “设置” > 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 系统中,日期有效性不包括上下文信息。
这对您有帮助吗?