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 的過程。