SAP Smart Form 挂错传输请求后,如何迁移单个对象

SAP Smart Form 挂错传输请求后,如何迁移单个对象
在 SAP GUI 中修改 Smart Form 时,如果保存时选错了传输请求,不能只凭请求描述判断影响范围。本次排查中,目标表单被记录在一个旧请求的工作细项里;同一工作细项还包含一个函数群组。处理重点是只移动 Smart Form 的传输条目,保留其他对象,并在正确工作细项中重新锁定它。
文中的请求号和对象名已脱敏。操作前请以自己系统中显示的编号、状态和对象清单为准。
先确认对象究竟挂在哪里
在 SE03 → 以请求/作业搜寻物件 中,按对象类型和名称搜索 Smart Form。Smart Form 的传输对象通常写作 R3TR SSFO <表单名>。SAP Smart Forms 文档也列出这一对象类型。
搜索结果显示的是工作细项时,不要把它误认成上层请求。在 SE09 的按用户筛选列表中,上层请求若由其他用户持有,也未必容易定位。本次通过 SE01 的单项显示直接输入工作细项号,确认了它所属的上层请求,并看到了同级的其他工作细项。
随后打开该工作细项的 Objects/物件 页核对清单。本例有两条记录:
R3TR FUGR Z_GROUP_OLD:原有函数群组。R3TR SSFO Z_FORM_EXAMPLE:误挂的 Smart Form。
还应到 SE37 查看本次新功能模块所属的函数群组。若它与清单中的 FUGR 名称不同,就不能把这条函数群组记录直接当作新功能模块的传输记录;仍需分别核查两者的归属。请求描述也可能沿用旧文字,判断依据应是实际对象清单。
从错误工作细项中移除表单条目
前提是错误工作细项和目标工作细项都仍可修改。进入错误工作细项的编辑画面,打开 Objects/物件 页并切换到修改模式:
- 选中
R3TR SSFO Z_FORM_EXAMPLE这一行。 - 执行 Delete Line/删除行,只移除该表单的传输条目,不删除整个工作细项,也不动其他对象。
- 如果弹出蓝色信息提示“对象已锁住”,先确认提示,再检查这一行是否消失;以保存后的对象清单为准。
- 保存工作细项。
这里的“删除行”不会删除开发系统中的 Smart Form,但表单改动不会因为它仍存在于系统中就自动进入正确请求。SAP 文档明确提醒:移出对象清单后,应把对象加入另一个请求并在那里锁定。SAP:从工作细项和请求中删除对象
如果确认信息提示后,行仍在,或者出现明确的错误消息,应先核对消息和对象锁归属。不要为了省事对整个旧请求运行 SE03 的 Unlock Objects(Expert Tool);SAP 对该工具标注了可能造成目标系统不一致的风险。SAP:Transport Organizer Tools
加入正确工作细项并锁定
打开正确请求下属于自己的工作细项,进入 Objects/物件 页,切换修改模式,新增一行:
| 字段 | 示例值 |
|---|---|
| 程式 ID | R3TR |
| 物件类型 | SSFO |
| 物件名称 | Z_FORM_EXAMPLE |
保存后,选中新增的表单条目,执行 Lock Object/锁定物件,再保存。手工加入对象清单时,对象一开始不会自动带传输锁,必须检查状态是否变为 Object Locked。SAP:手工加入对象、SAP:对象锁
交付前核查
再次查看新旧工作细项的对象清单,确认:
- 旧工作细项不再包含该
SSFO,原有的其他对象仍在。 - 新工作细项包含该
SSFO,且显示已锁定。 - 上层请求的目标系统、对象套件与预期传输路径一致。
- 与功能相关的程序、函数群组、表和锁对象分别已在正确请求中;不能因为 Smart Form 已加入,就认为这些依赖会自动一起传输。
本次已确认误挂条目从旧工作细项中移除。目标工作细项是否已成功加入并锁定,需要以 SAP GUI 中最终保存后的对象清单为准。
