首页 > 解决方案 > 将命名空间 /FOO/ 的代码和数据类型复制到第二个 SAP 系统

问题描述

在过去的几周里,我开发了一些带有命名空间/前缀 /FOO/ 的代码。命名空间是官方的。它在 SAP 注册。

如果第二个客户想要使用我们的代码,如何将所有代码和数据从这个命名空间从一个 sap 系统转移到另一个 sap 系统?

在这个命名空间下有一些数据类型和一些 abap 代码,一些只有旧的 SAP(netweaver 7.4),没有 HANA。

这个问题与通常的传输无关(dev -> qual -> prod)。这行得通。

相关:https ://github.com/guettli/why-i-like-django-and-sap/blob/master/README.md#packaging

标签: abapsap-basis

解决方案


以下是在没有访问操作系统和文件系统的情况下如何做到这一点的方法。

  1. 发布包含您的代码的工作台传输(在SE01或中SE10)。
  2. 每次发布传输时,都会写入两个文件,data并且cofiles可以在目录中找到DIR_TRANS目录(请参阅 参考资料AL11)。这些文件的命名与您的传输完全一样,带有RK前缀以及以 SAP 系统名称命名的扩展名,XYZ为了本示例而使用它。
  3. RSBDCOS0使用报告(事务SE38)在 SAP GUI 中启动命令行。
  4. 将工作目录设置为您选择的目录,并在那里创建一个名为的文件夹,transport其中包含两个子文件夹datacofiles.
  5. 将传输文件复制到transport工作目录中的目录中。在 Windows 系统上,它可能看起来像这样。

    copy %DIR_TRANS%\data\R<your_transport_number>.XYZ .\transport\data copy %DIR_TRANS%\cofiles\K<your_transport_number>.XYZ .\transport\cofiles

  6. 使用 SAP Archiver ( ) 应用程序将目录的内容打包到transport您的工作目录中。sapcar在 Windows 系统上,它可能看起来像这样。

    cd transport sapcar -cvf XYZK<your_transport_number>.SAR data\R<your_transport_number>.XYZ cofiles\K<your_transport_number>.XYZ

  7. 将文件从应用程序服务器下载到您的本地客户端,例如使用SE37和功能模块ARCHIVFILE_SERVER_TO_CLIENT

  8. 使用功能模块将文件上传到目标 SAP 应用服务器ARCHIVFILE_CLIENT_TO_SERVER

  9. 在目标服务器中启动操作系统命令行,就像在第 1 点中所做的那样。3.

  10. 解压SAR文件。

    sapcar -xvf XYZK<your_transport_number>.SAR copy cofiles\K<your_transport_number>.XYZ %DIR_TRANS%\cofiles copy data\R<your_transport_number>.XYZ %DIR_TRANS%\data

  11. 转到事务STMS并刷新您的传输导入队列。您首先要导入的传输现在应该在队列中可见。

%DIR_TRANS%必须替换为您可以在AL11源系统和目标系统中看到的目录。


推荐阅读