如何查询 ABAP 传输请求(Transport Request)和使用该请求修改了的程序的信息?

一个朋友咨询我本文标题的问题。

我们用SE38或者SE80打开任意一段 ABAP 代码,在 Utilities->Versions->Version Management 菜单,

都可以看到这段代码的每一个版本,分别是通过哪一个开发请求所修改的:

开发请求的编号,一般是三位的系统ID 开头。

事物码 SE10,可以查看指定用户创建的所有尚未释放和已经释放的传输请求:

也可以使用事物码 SE01,输入单个的请求号码查询其下包含了哪些代码修改:

数据库表 E071 包含了传输请求号和其包含的开发对象的对应关系。

### 创建处理 ABAP 传输副本请求 #### 使用标准功能创建副本请求 在 SAP 系统中,为了确保项目的传输一致性以及减少工作量,通常会使用传输副本请求来管理不同环境之间的对象同步。通过特定的事务码或自定义程序可以实现这一目的[^2]。 对于常规的需求来说,SAP 提供了一个简单的机制用于复制现有的传输请求Transport Request)。这可以通过 SE09 或 STMS 中的功能完成,在这里可以选择要拷贝的目标系统,并指定新请求的名字其他属性。然而这种方式相对手动且不够灵活。 #### 自动化脚本辅助创建 针对更复杂场景下的高效操作,则可能涉及到编写ABAP代码来自动生成这些副本请求。一个典型的应用案例就是开发一段程序让用户输入源传输后自动为其建立新的实例并准备就绪待发送至其他环境如测试服务器等地方[^4]。 这种自动化过程不仅限于单个任务;实际上它还允许同时处理多条记录——即一次提交多个原版transport ID给函数模块,之后由后者负责打包成一个新的整体进行后续步骤比如发布、导入等工作流程[^3]。 ```abap DATA: lt_trkorr TYPE TABLE OF trkorr, ls_trkorr LIKE LINE OF lt_trkorr. SELECT-OPTIONS s_trkorr FOR trkorr-trkorr OBLIGATORY. CALL FUNCTION 'RS_TR_REQUEST_READ' EXPORTING client = sy-mandt * IMPORTING * RESULT_SET = TABLES result_set = lt_trkorr[] EXCEPTIONS OTHERS = 1. IF sy-subrc <> 0. " Handle error... ENDIF. LOOP AT lt_trkorr INTO ls_trkorr. CALL FUNCTION 'C_TRTI_COPY_TRANSPORT' EXPORTING source_client = sy-mandt target_client = 'TARGET_CLIENT' " Specify the target system's mandant here transport_number_src = ls_trkorr-trkorr new_transport_type = 'K' " K for customer transports, S for standard ones etc. IMPORTING transport_number_tgt = DATA(lv_new_req). ENDLOOP. ``` 上述代码片段展示了如何读取选定范围内的运输请求列表,并逐一调用 `C_TRTI_COPY_TRANSPORT` 函数模块为每一个原始请求创建对应的副本来简化跨系统的部署作业。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值