与其他应用程序集成 > Windchill ESI 简介 > 将 Windchill ESI 与 SAP 集成 > 故障排除 > 辨别文档问题
  
辨别文档问题
本节描述与文档有关的常见问题和可能的原因。以下是常见问题列表。可以使用链接直接获得您所遇到问题的信息。如果在列表上找不到您所遇到的问题,或者表中建议的方法不能完全解决问题,请与系统管理员联络。
无法创建文档 (在 SAP 中找不到文档)
无法创建文档链接 (在 SAP 中找不到文档链接)
文档链接仍存在于 SAP 中,即使已在 Windchill 中针对 ESITarget 工厂将其删除
创建文档的操作看起来是成功的,但显示警告消息 (40433)
更改文档的操作看起来是成功的,但显示警告消息 (40445)
在所有工厂中显示一个文档链接,尽管该链接仅位于一个工厂中。
文档链接未显示在物料图形用户界面中
试图查看在 SAP 中创建的文档或 BOM 时,说明字段为空白
部件的未来有效日期未显示在 SAP 中,却显示了文档有效日期
接收到消息 "Change Master status 02 does not allow changes"
与部件关联的文档未发布到所有关联分布目标
与部件关联的参考文档未使用 ESI 响应进行发送
将文档的生命周期状态设置为“已发布”时未发布文档
无法在 ESI 响应中发布文档子类型的自定义 IBA
无法创建文档 (在 SAP 中找不到文档)
以下原因可能造成这个问题:
文档编号超出范围
无效或缺失属性
无效 URL
将不正确或无效的 ESITarget 工厂分配给部件
用户在 SAP 中所查看的 ESITarget 工厂有误
文档未与 Windchill 中的部件关联,因此,在发布部件时未发布文档
文档与 Windchill 中的部件关联,但是,分布目标属性“发布相关文档”的值为“否”
前导零被从文档编号中截去
无法创建文档链接 (在 SAP 中找不到文档链接)
以下原因可能造成这个问题:
文档未与 Windchill 中的部件关联,因此,在发布部件时未发布文档
文档与 Windchill 中的部件关联,但是,分布目标属性“发布相关文档”的值为“否”
SAP 中不存在部件
文档链接仍存在于 SAP 中,即使已在 Windchill 中针对 ESITarget 工厂将其删除
有一个中间件配置标志,用于请求在 MARA 表中为工厂特定文档链接 (ESIFlags/EnableDocumentLinksToMARA) 创建文档链接。如果将此标志设置为真,则会在 SAP 中的 MARA 表上,自动为发送自 Windchill 的所有工厂特定文档链接创建文档链接。也会在 MARC 表中创建工厂特定链接。只有当 Windchill 发送删除非工厂特定文档链接的请求后,才会删除 MARA 表中的链接。
创建文档的操作看起来是成功的,但显示警告消息 (40433)
40433:SAP 返回一个功能错误,调用 BAPI_DOCUMENT_CREATE2 时,文档已经存在。假定功能成功并继续处理文档。
SAP 中的文档不是工厂特定的;因此,发送到同一 SAP 系统和客户端中多个 ESITarget 工厂的文档会导致 Windchill ESI 向 SAP 发送可忽略而不会影响安全性的多余消息。
更改文档的操作看起来是成功的,但显示警告消息 (40445)
40445.*.*=在 SAP 中更改文档失败
SAP 中的文档不是工厂特定的;因此,发送到同一 SAP 系统和客户端中多个 ESITarget 工厂的文档会导致 Windchill ESI 向 SAP 发送可忽略而不会影响安全性的多余消息。一旦在一个 ESITarget 工厂中更改文档后,Windchill ESI 会将其状况设置为“已发布”,从而阻止后续更改。
在所有工厂中显示一个文档链接,尽管该链接仅位于一个工厂中。
有一个中间件配置标志,用于请求在 MARA 表中为工厂特定文档链接 (ESIFlags/EnableDocumentLinksToMARA) 创建文档链接。如果将此标志设置为真,则会在 SAP 中的 MARA 表上,自动为发送自 Windchill 的所有工厂特定文档链接创建文档链接。也会在 MARC 表中创建工厂特定链接。在 MARA 表中创建链接后,可通过物料 GUI 在对象所在的所有工厂中看到文档链接,但文档链接仅由为特定业务目的所指定的工厂使用。
文档链接未显示在物料图形用户界面中
有一个中间件配置标志,用于请求在 MARA 表中为工厂特定文档链接 (ESIFlags/EnableDocumentLinksToMARA) 创建文档链接。如果将此标志设置为假,则不会在 SAP 中的 MARA 表上,为发送自 Windchill 的工厂特定链接创建文档链接。将仅在 MARC 表中创建工厂特定链接。
未在 MARA 表中创建链接时,无法通过物料 GUI 看到文档链接,但文档链接将由为特定业务目的所指定的工厂使用。只能通过文档 GUI 查看该链接。
试图查看在 SAP 中创建的文档或 BOM 时,说明字段为空白
在 SAP 中,每个自由文本字段都有一个相应的语言关键字。
登录到 SAP 后,仅以分配给用户的语言关键字的文档说明填充“文档数据”选项卡上的“说明”字段。文档用户界面中的“文档说明”选项卡将保留所有说明。如果“文档数据”选项卡上未显示文档说明,则它列在“文档说明”选项卡中。文档说明的语言关键字在创建文档时设置。此值在 API 中发送。此值作为默认值驻留在 ESIDefaults.properties 文件中。可配置此值。
登录到 SAP 后,只有分配给用户的语言关键字的 BOM 说明显示在 BOM 编号旁。BOM (物料) 说明的语言关键字在创建物料时设置。此值在 API 中发送。此值作为默认值驻留在 ESIDefaults.properties 文件中。可配置此值。
有关在您的公司中对 ESI 进行配置的问题,请与 ESI 管理员联系。
部件的未来有效日期未显示在 SAP 中,却显示了文档有效日期
这是预期行为。ESI 将部件的有效日期设置为当日,将文档的有效日期设置为未来日期。
接收到消息 "Change Master status 02 does not allow changes"
试图将添加或删除的文档链接 (部件与文档间的关系) 从 Windchill 发布到 SAP 时,在 Windchill ESI 事务处理日志中出现消息 "Change Master status 02 does not allow changes",且 SAP 中的文档链接不变。
可对 Windchill ESI 进行配置以允许或不允许更新文档链接,而不必修改文档版本。此配置由 TIBCO 中名为 ESIFlags/EnableDocumentECNLock 的全局变量控制。
如果将 ESIFlags/EnableDocumentCNLock 设置为真,则创建或更改文档时会将“更改主数据”信息写入 SAP 中的文档对象。一旦将文档版本发布到 SAP 后,除非修订该文档,否则将不能对其进行任何更改。在这种情况下,SAP 将返回消息 "Change Master status 02 does not allow changes"。
如果将 ESIFlags/EnableDocumentCNLock 设置为假,则创建或更改文档时不会将“更改主数据”信息写入 SAP 中的文档对象。在这种情况下,仅限对文档链接和分布目标进行更改,并且可对同一文档版本进行更改,而不必修订文档。
无论如何设置此全局变量,对文档数据 (而不是文档链接和分布目标) 的更改始终需要进行版本更改。在以部件为中心的环境中,此全局变量不适用,并且可在不必修订文档的情况下修改文档链接和分布目标。
如果将该全局变量设置为真且用户试图更改已发布的文档版本,则会出现此行为。
如果已将 Windchill ESI 配置为在 SAP 中不启用使用修订的更改管理,则也可能导致此问题。
有关在您的公司中对 Windchill ESI 进行配置的问题,请与 Windchill ESI 管理员联系。
与部件关联的文档未发布到所有关联分布目标
当文档与其他分布目标关联时,会出现此问题 (同相关部件相比)。在此情况下,文档将只发布到那些与部件关联的目标。
为了将文档发布至其他目标,可将这些目标关联至部件,也可将文档发布为独立对象或“更改通知”中的生成对象。
与部件关联的参考文档未使用 ESI 响应进行发送
如果下列任一情况属实,则会出现此问题:
Windchill ESI 首选项“发布参考文档”的值为“否”
使用首选项“参考文档配置规范状态”所指定的值,不能将关联至部件的参考文档主数据解析为小版本。确保此首选项进行相应设置。
将文档的生命周期状态设置为“已发布”时未发布文档
如果下列任一情况属实,则会出现此问题:
首选项“自动启动 ESI 工作流”的值为“否”
首选项“文档发布触发的生命周期状态” (或“CAD 文档发布触发的生命周期状态”) 未将“已发布” 作为其值中的标记之一。
确保这些首选项进行相应设置。
无法在 ESI 响应中发布文档子类型的自定义 IBA
不会在 ESI 响应中发布文档子类型的自定义 IBA。如果下列情况属实,则会出现此问题:
如果在 ESI 响应元信息文件 (ESIResponseMetaInfo.xml) 中,则不会在 MapInformation 元素中定义属性和文档的子类型。
解决方案:确保将可重用属性和文档的子类型添加到 ESI 响应元信息文件中,以便为文档子类型发布自定义 IBA。请参阅以下示例以了解提议的解决方案。
1. “类型和属性管理器”中,转至“管理可重用属性”并创建字符串属性,如下所示:
显示名称:string1
内部名称:string1
2. 创建文档的子类型,如下所示:
显示名称:Subtype_Document
内部名称:com.ptc.ptcnet.sub_Doc
3. 在 (步骤 2 中创建的) 文档的子类型中 (使用步骤 1 中创建的可重用属性) 创建 IBA,其中包含以下数据:
内部名称:string1
显示名称:string1
4. 在 ESI 响应元信息文件 (ESIResponseMetaInfo.xml) 中,更新如下所述的各个部分。
a. <!-- ESI Document Mapping --> 部分中,将下面以黄色突出显示的可重用属性 string1 添加到文档的子类型。
b. <!-- ESI Document Mapping Information--> 部分中,通过添加 (步骤 2 中创建的) 文档子类型和文档基本类型并以 "|" 符号分隔的形式更新 <esi:typedef>,如下所示或如 wt.doc.WTDocument|com.ptc.ptcnet.sub_Doc
* 
如果修改了 Map 元素的 ID 属性,则应使用相同的值修改 mapRef 元素。
5. 在 "WT_HOME\codebase\com\ptc\windchill\esi" 位置以其他名称另存为 ESI 响应 XML 文件。重新启动方法服务器。
6. 创建 (步骤 2 中创建的) 子类型的文档并为 string1 属性提供一个值。将此另存文档关联到相应的分布目标。
7. 使用“发送至分布目标”操作发布此文档。检查 string1 属性的值是否已在 ESI 响应文件中发布。
* 
如需了解有关修改 ESI 响应元信息文件的详细信息,请参阅 Windchill ERP Connector Customizer's Guide (《Windchill ERP Connector 自定义者指南》) 中的 "Modify the ESI Response Meta Information File" 和 "Points to note while modifying the ESI response information file" 部分。您可以从参考文档页面搜索本指南。