数据管理功能 > 管理部件结构 > Windchill 选项和变型功能 > 分配表达式 > 独立的已分配表达式 > 将已分配的表达式转换为独立的表达式
  
将已分配的表达式转换为独立的表达式
此实用程序允许您将先前创建的已分配表达式转换为独立表达式。该实用程序也会对环境进行设置以支持独立表达式。
* 
转换为独立的已分配表达式是一项受单独许可证授权约束的高级功能。
* 
您成功运行此实用程序后,系统将被配置为仅创建独立的表达式。
请考虑以下有关转换实用程序的信息:
转换实用程序仅会针对具有已分配表达式的部件修订版本的最新小版本,对分配给使用关系链接和具体值的从属表达式进行转换。
为了优化性能,实用程序会处理块中含表达式的所有对象。
该实用程序将分阶段进行操作:
阶段 1 – 收集和准备待转换数据。
阶段 2 – 将已分配表达式的每个修订版本的最新小版本转换为独立的已分配表达式。
阶段 3 – 在转换后进行清除,并将系统设置为独立的已分配表达式模式。
只有在成功完成前一阶段操作后,该实用程序才会进行下一个阶段的操作。发生故障时,它会记录错误和进程停止的阶段,并在下次运行时从此阶段启动。
该实用程序会尽可能多地转换对象,并对存在错误的对象进行标记,以便重新处理。
该实用程序可提供有助于调试问题的状态和错误日志。
可以有独立的已分配表达式的类是 WTPart、WTPartUsageLink 和 PartUsesOccurrence。该实用程序会将这些对象的所有现有表达式转换为独立的已分配表达式。
该实用程序为业务管理员提供了在可配置模块生命周期状态和独立已分配表达式生命周期状态之间设置映射的机制。
* 
转换过程中,不应使用系统来创建新对象或操作数据,因为这可能会导致数据不一致。
如果转换时出错,建议您解决错误并重新运行实用程序,以便在对现有数据进行任何更改前可实现成功转换。
当正在进行的转换没有被实用程序处理时,创建新建部件和表达式可能会导致数据不一致。
运行实用程序
1. 设置具有适当的状态到状态映射的生命周期状态映射文件:
WT_HOME\com\ptc\windchill\option\tools\iae\IAEConversionStateMapping.properties
映射左侧是正在转换的表达式的父项部件状态,右侧是必须分配给已转换表达式的状态。语法如下:
# <Part_Lifecycle_State> = <Independent_Assigned_Expression_Lifecycle_State>
示例条目如下:
STUDY=INWORK
DEFINITION= INWORK
DEVELOP=INWORK
VERIFY=INWORK
IMPLEMENT=INWORK
COMPLETE=RELEASED
CANCEL=CANCEL
在为已转换表达式分配状态时将应用此映射。如果文件或文件中的条目缺失,则工具默认为父项可配置模块的生命周期状态。请注意,状态值必须为枚举类型关键字格式,类似于 XML 导入/导出文件。空格前面要有 "\";例如:PENDING\APPROVAL=PENDING APPROVAL。请注意,只有 "=" 号前的表达式左侧部分需要如此,而表达式右侧部分不需要这样。
2. 确保系统已经准备好要转换的数据。
3. 重新启动“方法服务器”和“服务器管理器”。
4. 从 windchill shell 中运行以下命令:
Windchill com.ptc.windchill.option.tools.ConvertToIndependentExpression -u wcadmin -p wcadmin
5. 转换过程中将显示状态。进程结束时会给出确认信息,并会报告失败。
6. 审阅日志文件:
WT_HOME\logs\ConvertToIndependentExpression\error.log
WT_HOME\logs\ConvertToIndependentExpression\status.log
* 
由于每次运行该实用程序时都会将报告追加到现有日志文件的后面,因此建议将旧日志重命名并将其保存为记录。这样,每次运行实用程序时,将会创建一个新日志。
7. 要确认旧表达式是否已被转换为独立表达式,请右键单击表达式的使用关系链接。您会看到 2 个新的菜单选项:“查看已分配的表达式”“复制已分配的表达式”。您还可以通过“查看已分配的表达式”页面来确认新创建的已分配表达式是否为独立的表达式。