Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Abap 导出的SAP开发对象的包批量更改_Abap_Release Management_Sap Basis - Fatal编程技术网

Abap 导出的SAP开发对象的包批量更改

Abap 导出的SAP开发对象的包批量更改,abap,release-management,sap-basis,Abap,Release Management,Sap Basis,我需要为大约250个SAP开发对象(ABAP类、数据元素、表等)更改一个包。当我试图通过se24/se80事务或RSWBO052报告进行更改时,收到一条错误消息TR242(对象已导出,不可能更改包) SAP帮助文档指出,必须以新名称复制对象,必须删除旧名称,并且必须将新名称重新命名为旧名称。但是,对于250个对象来说,这不是一个好方法 在这种情况下,除了call Transaction/LSMW之外,是否有其他方法可以进行批量包更改?如果您尝试将对象从启用传输的包移动到不可传输的包,如$TMP,

我需要为大约250个SAP开发对象(ABAP类、数据元素、表等)更改一个包。当我试图通过se24/se80事务或RSWBO052报告进行更改时,收到一条错误消息TR242(对象已导出,不可能更改包)

SAP帮助文档指出,必须以新名称复制对象,必须删除旧名称,并且必须将新名称重新命名为旧名称。但是,对于250个对象来说,这不是一个好方法


在这种情况下,除了call Transaction/LSMW之外,是否有其他方法可以进行批量包更改?

如果您尝试将对象从启用传输的包移动到不可传输的包,如
$TMP
,则会出现此消息。这背后的理由是:

  • 该对象曾经位于可传输包中,因此它必须已添加到至少一个传输请求中
  • 传输请求可能已传输到另一个系统(直接或通过ToC),因此另一个系统可能具有该对象
  • 当前系统是对象的原始系统,因此它负责在删除对象时通知其他系统(通过传输)
  • 将对象移动到不可传输的包在语义上等同于在系统的其余部分删除它
  • 由于该过程很少发生,因此通常只需指示开发人员复制和删除对象即可

出现问题的原因是我试图将开发对象移动到上面提到的@vwegert-metnioned的不可传输包中。目标包被标记为不可传输,因为它被标记为旧包。这是因为目标包是从基准级别低于当前系统基准级别的系统中移动的。解决此问题需要采取以下步骤:

  • 必须通过报告RS_MIGRATE_程序包迁移遗留程序包(请参见注释1711900)。“遗留软件包”标记将被删除,但该软件包仍不可运输。但是,您可以在迁移后重新创建包

  • 删除不可传输的目标包,并创建非TMS包的新as副本

  • 使用RSWBO052报告将所有必要的对象分配给在步骤2中创建的包


  • 您从哪些对象获得此消息?您是否正在尝试从启用TMS的包更改回$TMP之类的不可传输包?您是对的。我试图从支持TMS的软件包改为不可传输的软件包。如果我尝试将对象重新分配给任何启用TMS的包,一切都会正常工作!谢谢你@Skalozub,所以请将此标记为您问题的进一步读者的答案。完成!我还添加了关于问题解决方案的更多细节。