@Object 已经导出,无法更改包”,同时进行批量包分配
@Object already exported, no package change is possible" while mass package assignment
我需要为大约 250 个 SAP 开发对象(ABAP 类、数据元素、表格等)更改一个包。当我尝试通过 se24/se80 事务或通过 RSWBO052 报告进行更改时,我收到错误消息 TR242(对象已导出,无法更改包)。
SAP 帮助文档说对象必须以新名称复制,旧的必须删除,新的必须重命名为旧名称。但是,对于 250 个对象,这不是一个好方法。
对于这种情况,除了调用 tranaction/LSMW 之外,还有其他方法可以批量更改包裹吗?
如果您尝试将对象从启用传输的包移动到不可传输的包(如 $TMP
),则会出现此消息。这背后的理由是:
- 该对象曾经在一个可运输的包裹中,因此它必须至少被添加到一个运输请求中。
- 传输请求可能已传输到另一个系统(直接或通过 ToC),因此另一个系统可能有该对象。
- 当前系统是对象的原始系统,因此当对象被删除时,它负责通知其他系统(通过传输)。
- 将对象移动到不可传输的包在语义上等同于在系统环境的其余部分删除它。
- 由于该过程很少发生,通常指导开发人员复制和删除对象就足够了。
问题的发生是因为我试图将开发对象移动到一个不可传输的包中,就像上面@vwegert 提到的那样。目标包被标记为不可传输,因为它被标记为遗留包。发生这种情况是因为目标包是从基础级别低于当前系统基础级别的系统中移出的。解决问题需要采取后续步骤:
必须通过报告 RS_MIGRATE_PACKAGES 迁移旧包(请参阅注释 1711900)。标记 'legacy package' 将被删除,但包裹仍然不可运输。但是,您将能够在迁移后重新创建包。
删除不可传输的目标包并创建一个新的非 TMS 包的副本。
使用 RSWBO052 报告将所有必要的对象分配给在步骤 2 中创建的包。
我需要为大约 250 个 SAP 开发对象(ABAP 类、数据元素、表格等)更改一个包。当我尝试通过 se24/se80 事务或通过 RSWBO052 报告进行更改时,我收到错误消息 TR242(对象已导出,无法更改包)。
SAP 帮助文档说对象必须以新名称复制,旧的必须删除,新的必须重命名为旧名称。但是,对于 250 个对象,这不是一个好方法。
对于这种情况,除了调用 tranaction/LSMW 之外,还有其他方法可以批量更改包裹吗?
如果您尝试将对象从启用传输的包移动到不可传输的包(如 $TMP
),则会出现此消息。这背后的理由是:
- 该对象曾经在一个可运输的包裹中,因此它必须至少被添加到一个运输请求中。
- 传输请求可能已传输到另一个系统(直接或通过 ToC),因此另一个系统可能有该对象。
- 当前系统是对象的原始系统,因此当对象被删除时,它负责通知其他系统(通过传输)。
- 将对象移动到不可传输的包在语义上等同于在系统环境的其余部分删除它。
- 由于该过程很少发生,通常指导开发人员复制和删除对象就足够了。
问题的发生是因为我试图将开发对象移动到一个不可传输的包中,就像上面@vwegert 提到的那样。目标包被标记为不可传输,因为它被标记为遗留包。发生这种情况是因为目标包是从基础级别低于当前系统基础级别的系统中移出的。解决问题需要采取后续步骤:
必须通过报告 RS_MIGRATE_PACKAGES 迁移旧包(请参阅注释 1711900)。标记 'legacy package' 将被删除,但包裹仍然不可运输。但是,您将能够在迁移后重新创建包。
删除不可传输的目标包并创建一个新的非 TMS 包的副本。
使用 RSWBO052 报告将所有必要的对象分配给在步骤 2 中创建的包。