EWM模块的RF开发和其他模块的开发有很大的差别,很大一部分都是通过SPRO配置来实现的。
如下图,就是一个基本的RF界面在SAP上的展示:
首先,新建一个函数组,根据开发清单要求,有多少个屏幕,就新建多少对函数模块,如下图,PBO和PAI要成对出现:
建立的函数模块,根据需求,我们定义一些屏幕上输入的结构和表,放入正在更改中,同理PAI和PBO中的定义必须是相同的:
最后对屏幕进行绘制,表类型我们必须使用分组->步骤循环
做完以上处理之后,我们打开函数组中的包含,选择其中的TOP
需要在TOP中添加系统标准的RF include
INCLUDE /scwm/irf_sscr.
之后我们再次回到函数模块中,对源代码进行编辑,在PAI模块中,写按钮的功能,每个按钮对应屏幕的数据处理
DATA:lv_fcode TYPE /scwm/de_fcode.
lv_fcode = /scwm/cl_rf_bll_srvc=>get_fcode( ).
CASE lv_fcode.
WHEN 'ENTER'."回车,获取HU数据 "
PERFORM get_data CHANGING zcs_hubz_01 zct_hubz_02 zct_hubz_03.
WHEN 'ZHU'."HU行项目打包"
IF zct_hubz_03[] IS INITIAL.
MESSAGE e000(zewm01) WITH '无未包装的行项目存在'.
ENDIF.
WHEN 'ZGR'."展示已收货HU 。
WHEN OTHERS.
ENDCASE.
PBO模块中定义是固定的,如下图,和定义的正在更改必须一致:
/scwm/cl_rf_bll_srvc=>init_screen_param( ).
/scwm/cl_rf_bll_srvc=>set_screen_param( 'ZCS_HUBZ_01' ).
/scwm/cl_rf_bll_srvc=>set_screen_param( 'ZCT_HUBZ_02' ).
/scwm/cl_rf_bll_srvc=>set_screen_param( 'ZCT_HUBZ_03' ).
/scwm/cl_rf_bll_srvc=>set_line( 1 ).
代码编写完成之后,我们进入配置界面,输入Tcode SPRO
首先我们定义应用程序参数,填入所有在函数中写入的结构和表
之后定义逻辑事物
之后定义逻辑事物步骤流,功能代码就是每个屏幕的按钮,下一步就是这个按钮处理完之后跳转到哪一个屏幕
之后定义功能代码参数文件,是定义按钮位置以及按钮快捷键
配置完成之后整个程序定义就完成了。