发布多个有效性信息
部件或产品根据所应用的有效性制造。将应用的有效性发布到下游企业资源计划 (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,而不考虑有效性上下文。
* 
要实现基于有效性上下文的增量发布,有关有效性上下文的其他元数据将与 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 中进行发布时,中间件会显示一条错误消息。
这对您有帮助吗?