SAP RF 移动屏幕定制
ITSmobile 是 SAP 当前将移动设备连接到 SAP 系统的技术基础。它基于 SAP Internet Transaction Server (ITS),从 Netweaver 2004 开始作为 Netweaver 平台的一部分提供。ITSmobile 提供了一个框架,用于为任何 SAP 事务生成基于 HTML 浏览器的屏幕。在本博客中,我们将重点讨论射频移动(LMxx)事务,该事务旨在支持各种仓库流程。
RF 移动事务通常不能很好地适应移动设备,而且往往缺少支持业务流程所需的数据字段和功能。因此,几乎总是需要定制来满足业务需求,并针对所选的移动设备优化屏幕。
在 IMG 中,物流执行->移动数据录入是 RF 移动定制的入口。从这里我们选择 “定义屏幕管理”,检索我们希望定制的屏幕的逻辑和原始屏幕编号。射频移动屏幕通常在 SAPLLMOB 模块池(功能组 LMOB)中实现。在本例中,我们将定制 LM00 登录屏幕,它是逻辑屏幕 889,原始屏幕 0889(窄格式)。
将功能模块 LMOB 0889 屏幕的原始屏幕复制到 “退出 ”功能模块 XLRF 9889 屏幕(标准做法是将原始屏幕编号的第一位数字替换为 9)。将新界面改为子界面并删除 ok 代码。
然后使用屏幕布局编辑器重新格式化并激活屏幕(在本例中,我们只是移动了一个按钮,并在布局底部添加了用户名):
BEFORE:
AFTER:
接下来,我们需要实现用户退出,以填充新字段并执行支持业务流程所需的任何附加处理。增强功能的命名惯例是 MWMRFxxx(xxx = 逻辑屏幕编号)。因此,在这种情况下,我们需要在 CMOD 中创建一个新项目,并分配增强功能 MWMRF889。完成后,进入组件查看屏幕退出前和退出后,本例中为 E XIT_SAPLLMOB_720(前)和 EXIT_SAPLLMOB_730(后)。 这些函数模块是退出函数组 XLRF 的一部分,也就是我们在上面添加自定义屏幕的那个函数组。标准数据结构和任何自定义数据字段都需要添加到顶部包含 ZXLRFTOP 中。在本例中,需要为用户名 W_USERNAME 声明 include LLMOBDAT 和自定义数据字段。
*&———————————————————————*
*& Include ZXLRFTOP
*&———————————————————————*
include llmobdat.
data: w_username type adrp-name_text.
We need to transfer the “before” exit input parameters to the screen fields, as well as perform any additional processing needed. The following code is added to the “before” exit EXIT_SAPLLMOB_720 (include ZXLRFU67):
*&———————————————————————*
*& Include ZXLRFU67
*&———————————————————————*
* populate screen fields
lrf_wkqu = i_lrf_wkqu.
rlmob = i_rlmob.
logon_data-queue = i_logon_data_queue.
logon_data-lgnum = i_logon_data_lgnum.
logon_data-devty = i_logon_data_devty.
logon_data-exver = i_logon_data_exver.
lrf_wkqu-mmenu = i_logon_data_mmenu.
* read user full name
select adrp~name_text into w_username
from usr21
join adrp
on adrp~persnumber eq usr21~persnumber
where bname eq sy-uname.
exit.
endselect.
同样,屏幕字段值需要返回到 “后 ”退出 EXIT_SAPLLMOB_730(包括 ZXLRFU68)中的输出参数:
*&———————————————————————*
*& Include ZXLRFU68
*&———————————————————————*
o_rlmob_pback = rlmob-pback.
o_rlmob_psave = rlmob-psave.
o_rlmob_pmlgf = rlmob-pmlgf.
o_rlmob_pclear = rlmob-pclear.
o_logon_data_exver = logon_data-exver.
o_logon_data_mmenu = logon_data-mmenu.
o_logon_data_devty = logon_data-devty.
o_current_field = current_field.
现在只需激活增强项目,我们就快成功了。
回到 IMG,再次进入 “定义屏幕管理”,为变量 “1 ”添加一个表项,将逻辑屏幕指向新的退出屏幕。
然后进入 RF 队列管理->为队列分配处理器,并为测试用户配置文件分配适当的屏幕格式和变体。
一个好的测试方法是运行 LM00,看看是否出现新的登录屏幕。编辑
最后一步是生成互联网服务和模板,有关说明可在此处找到:
http://help.sap.com/saphelp_nw70/helpdata/en/46/668d4b72255de4e10000000a1553f6/frameset.htm
我们还需要创建 ICF 服务:
http://help.sap.com/saphelp_nw70/helpdata/en/46/668d4b72255de4e10000000a1553f6/frameset.htm
需要为公司业务流程中使用的所有屏幕生成模板。我们很可能还需要创建一个 Z 版本的 ITSmobile HTML 生成类,并针对使用中的射频设备对其进行调整,主要是调整屏幕尺寸等。这同样适用于 HTML 模板,以便我们添加公司徽标等。Blue Harbors 可以在所有这些方面提供帮助,我们计划在后续博客中逐步介绍定制 ITSmobile 的过程。