1849203 - <GET DATA FROM KPRO> (SO013) 和/或文件无法导出的数据库错误 (SO315)

  1. 服务和支持/
  2. 知识库文章和注释/
  3. 基础组件/
  4. 基本服务/通信接口/
  5. 通用业务工具/
  6. 通用对象服务 (BC-SRV-GBT-GOS)

1849203 - <GET DATA FROM KPRO> (SO013) 和/或文件无法导出的数据库错误 (SO315)

SAP Knowledge Base Article, Version: 15, 审批日期: 2023-06-08

显示更改描述产品

参考

属性可用语言评价此文档激活项目以转到页面中的部分

注意事项: 此文档为机器翻译结果,其准确性未经审核。 若要针对机器翻译内容提供反馈,请单击此处
您可以通过以下链接访问原始文档:/notes/1849203/E

症状

在附件列表中打开文档时,引发错误消息 <GET DATA FROM KPRO> (SO013) 和/或文件无法导出 (SO315) 的数据库错误

环境

独立于 SAP Basis 版本
(已在系统中实施 SAP Note 1605054。有关详细信息,请参阅原因和解决方法部分。)

重现问题

  1. 打开应用程序事务,
  2. 打开 GOS 菜单,
  3. 打开附件列表,
  4. 打开附件

原因

  1. 以下 RFC 目标之一的修改不足:
    • SAPHTTP
    • SAPHTTPA
    • SAPFTP
    • SAPFTPA
  2. 无法从 SAP 系统访问请求的文件。原因可能如下:
  • 从内容资源库返回 HTTP 或任何其他错误消息。
    或者
  • 前端 PC 和服务器之间的通信受阻:
    • 在 SAP Note 1107236 提供的代码更正交付到大于 10 MB 的系统文件之后,将使用 SAPFTP 而不是 GUI_DOWNLOAD 打开。没有对表 SAPFTP_SERVERS 执行正确的定制。
    • 通信被防火墙等阻止。

解决方案

由于问题可能有许多不同的原因,因此可以使用(一个或多个)解决方案解决,如下所述。

  1. 首先,检查是否存在相应的 KPRO 日志。
    为此,请执行以下步骤:
    1. 调用事务 SLG1,
    2. 在字段“对象”中输入 "SCMS" 或 "SDOK",
    3. 检查相应日志
      选择日志:
      1. ,用户 ,该人员收到错误。
      2. 含时戳 ,当出现错误。
      3. 通过事务 ,其中出现错误。
    4. 显示完整的日志文本并检查可能的原因。

      您可以在 KBA 2782452 中找到 SLG1 使用的附加说明 - 如何检查 SLG1 日志以进行归档链接、KPro 或 SAP 内容服务器分析。
       
  2. 更正 RFC 目标:
    1. 在事务 SM59 中删除 RFC 目标 SAPHTTP 和 SAPHTTPA。
    2. 使用报表 RSHTTP05 重新生成它们。
    3. 在事务 SM59 中删除 RFC 目标 SAPFTP 和 SAPFTPA。
    4. 使用 RSFTP005 重新生成它们。
       
  3. 如果在系统中实施 SAP 注释 1605054,则允许访问相应的 FTP 服务器,如此 SAP Note 中所述。
    帮助文档:保护 AS ABAP 的 FTP 访问对其进行了描述(表 SAPFTP_SERVERS),因此请在表 SAPFTP_SERVERS 中输入允许的 FTP 服务器。
     
  4. 实施 SAP Note 2108866 以移除不必要的 FTP 权限检查。
     
  5. 如果 HTTP 跟踪从内容资源库返回“HTTP 404 错误消息”,则直接在内容资源库上检查文件是否存在。
    请阅读并遵循知识库文章 2251113 中的说明 -   检查 SAP 内容服务器数据库中是否存在文档。

    通过提供内容资源库和 DocId 运行报表 RSHTTP52,可以测试与文档的直接通信。
     
  6. 检查报表 RSCMST (RSCMSTH0) 显示 SAPOffice 文档用户(缺省为 SOFFDB)内容资源库的错误消息。
    有关 SAPOffice 由内容服务器使用的更多信息,请查看 SAP Note 530792 -  Storing documents in the generic object services。
    在这种情况下,解决方案在很大程度上取决于返回的错误消息。
    示例:
    • 使用数据库表类型内容资源库(如 SOFFDB)时,错误消息与服务相关(事务 SICF)/bc/sap/contentserver,例如 HTTP 401 错误消息或没有为服务定义用户。更多信息,请查看 KBA 1898201 -  Access to repository on 'R/3 system database'。
       
  7. 如果通信已冻结:
    • 根据 SAP Note 93042 -  Questions with SAPFTP,在前端和应用服务器上安装最新的 SAPFTP。
    • 如 SAP 注释 93042 中所述,为目标 SAPFTP 和 SAPFTPA 创建 RFC 跟踪。
      跟踪将提供有关失败连接的详细信息。
      在这种情况下,尽管根据 SAP 注释 211365 检查配置可能会有所帮助,但基于各种错误消息,无法提供通用解决方案。)

另请参阅

SAP Note:

1605054 - 限制访问 FTP 服务器和使用测试报表
1107236 - 通过 FTP 下载下载大于 10 MB 的文件
2108866 - 删除 FTP* 功能模块的 S_ADMI_FCD 权限检查
164203 - SAPHTTP 的问题
93042 - SAPFTP 的问题
211365 - RfcAttach 错误(含 DNS 或多个主机名)

知识库文章:

2782452 - 如何检查 SLG1 日志以获取归档链接、KPRo 或 SAP 内容服务器分析
2251113 - 检查 SAP 内容服务器数据库中是否存在文档
1898201 - 访问“R/3 系统数据库”上的资源库失败
1773364 - 没有 SAPFTP SR073 权限(文件大于 10MB)

SAP 帮助:

SAP NetWeaver Application Server ABAP 安全指南 > 保护 AS ABAP 的 FTP 访问

关键字

无法导出 GOS、附件、SO013、SO315、数据库错误、从 kpro 获取数据

产品

产品

SAP NetWeaver all versions

参考

本文档参考

SAP Note/KBA

组件

标题

1898201BC-SRV-KPR访问“R/3 系统数据库”上的资源库失败
1773364BC-SRV-GBT-GOS无权访问 SAPFTP SR073(文件大于 10MB)
93042BC-SRV-COM-FTPSAPFTP 的问题
530792BC-SRV-GBT-GOS将文档存储在通用对象服务中
211365BC-MID-RFCDNS 或多个主机名出现 RfcAttach 错误
2108866BC-SRV-COM-FTPFTP* 功能模块的 S_ADMI_FCD 权限检查移除
164203BC-SRV-COM-FTPSAPHTTP 的问题
1605054BC-SRV-COM-FTP访问 FTP 服务器和测试报表使用的限制
1107236BC-SRV-KPR-CMS使用 FTP 下载大于 10 MB 的文件
问题:文档访问中出错
保护 AS ABAP 的 FTP 访问

此文档被以下对象引用:

SAP Note/KBA

组件

标题

2693806CA-DMS错误:CV03N 中 <GET DATA FROM KPRO> 的数据库错误
2174356BC-SRV-GBT-GOSGOS 附件的错误消息:内部错误:<对象服务> <事务服务> (SO428)

属性

键值

价值

其他组件基础组件 > 基础服务/通信接口 > ArchiveLink (BC-SRV-ARL)
其他组件基础组件 > 基础服务/通信接口 > 知识提供者 > 内容管理服务 (BC-SRV-KPR-CMS)
其他组件基本组件 > 基础服务/通信接口 > 通信服务:邮件、传真、短消息服务、电话 (BC-SRV-COM)
其他组件基本组件 > 基础服务/通信接口 > 通信服务:邮件、传真、短消息服务、电话 > 通过 FTP 传输文件 (BC-SRV-COM-FTP)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了和后端 Python 交互,你可以使用 JavaScript 来实现动态更新时间和设备状态。具体实现步骤如下: 1. 在 HTML 文件中,为需要更新的元素添加 `id` 属性,例如: ```html <td id="device-a-status" class="status-ok">正常运行</td> <td id="device-a-last-update">2021-10-01 10:30:00</td> ``` 2. 在 JavaScript 中,使用 `setInterval` 函数定时向后端发送 HTTP 请求获取最新的设备状态和最近更新时间,并将数据更新到对应的 HTML 元素中,例如: ```javascript // 定义更新间隔时间(单位为毫秒) const UPDATE_INTERVAL = 5000; // 获取需要更新的 HTML 元素 const deviceAStatus = document.getElementById('device-a-status'); const deviceALastUpdate = document.getElementById('device-a-last-update'); // 定时更新设备状态和最近更新时间 setInterval(() => { // 向后端发送 HTTP 请求获取最新数据 fetch('/api/device-a-status') .then(response => response.json()) .then(data => { // 更新设备状态 deviceAStatus.textContent = data.status; deviceAStatus.className = `status-${data.status.toLowerCase()}`; }); fetch('/api/device-a-last-update') .then(response => response.json()) .then(data => { // 更新最近更新时间 deviceALastUpdate.textContent = data.lastUpdate; }); }, UPDATE_INTERVAL); ``` 3. 在后端 Python 中实现一个 RESTful API,接收前端的 HTTP 请求,查询数据库或其他数据源,返回最新的设备状态和最近更新时间,例如: ```python from flask import Flask, jsonify app = Flask(__name__) @app.route('/api/device-a-status') def get_device_a_status(): # 从数据库或其他数据源获取最新设备状态 status = 'OK' return jsonify({'status': status}) @app.route('/api/device-a-last-update') def get_device_a_last_update(): # 从数据库或其他数据源获取最近更新时间 last_update = '2021-10-01 10:30:00' return jsonify({'lastUpdate': last_update}) ``` 通过上述方式,你就可以实现一个动态更新设备状态和最近更新时间的电子看板,并且可以和后端 Python 进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值