研究、分享我学习零售业SAP的历程
------------打造中国第一个零售SAP博客

1. 设置RF警告消息

/scwm/cl_rf_bll_srvc=>message(
               iv_msg_view = '1'
               iv_flg_continue_flow = 'X'
               iv_msgid           = '/SCWM/WHO'
               iv_msgty           = 'W'
               iv_msgno           = '539' ).

2. 查询商品

TRY.
CALL FUNCTION '/SCWM/MATERIAL_READ_SINGLE'
EXPORTING
          iv_matid      = ls_stock-matid
          iv_langu      = sy-langu
IMPORTING
          es_mat_global = ls_mat_global
          et_mat_uom    = lt_mat_uom.
CATCH /scwm/cx_md.
ENDTRY.

屏幕输入商品代码

DATA lv_matean TYPE /scwm/de_rf_ean11.

CALL FUNCTION '/SCWM/RF_PRODUCT_INPUT'
EXPORTING
input = selection-matnr40
IMPORTING
ev_matid = iv_matid
ev_matnr = selection-matnr40
ev_matean = lv_matean.
IF iv_matid IS INITIAL.
* Product doesn't exists
MESSAGE e195(/scwm/rf_en).
ENDIF.
    .

* get the product details
CALL FUNCTION '/SCWM/SELECT_STOCK'
EXPORTING
      iv_lgnum      = lv_lgnum
      it_matid      = lt_matid
      it_guid_lgpla = lt_guid_loc
IMPORTING
      et_huitm      = lt_huitm
EXCEPTIONS
OTHERS   = 2.

获得商品GUID

CALL FUNCTION 'CONVERSION_EXIT_MDLPD_INPUT'
EXPORTING
INPUT         = ZEWM_HUHDR_HP-HUMATID
IMPORTING
OUTPUT        = lv_matid
              .

3. RF屏幕参数相关代码

* Initiate screen parameter
  /scwm/cl_rf_bll_srvc=>init_screen_param( ).
* Set screen parameter
  /scwm/cl_rf_bll_srvc=>set_screen_param('CT_INQ_ST_LOOP').
****************************
  /scwm/cl_rf_bll_srvc=>set_screen_param('CS_INQ_ST_PRD').
* Transfer table name into RF framework
  /scwm/cl_rf_bll_srvc=>set_screen_param('/SCWM/TT_RF_INQ_ST_LOOP').
CALL METHOD /scwm/cl_rf_bll_srvc=>set_line
EXPORTING
      iv_line = 1.
CALL METHOD /scwm/cl_rf_bll_srvc=>set_screen_param
EXPORTING
      iv_param_name = 'LS_INQ_ST_LOOP'.

4. 设置代码调试

  BREAK-POINT ID /scwm/rf_inquiry.

5. 获得用户资源

CALL FUNCTION '/SCWM/RSRC_RESOURCE_MEMORY'
EXPORTING
      iv_uname = sy-uname
CHANGING
      cs_rsrc  = ls_rsrc.

6. 转换日期和时间字段

*********** Conversion of Timestamp into date and time field
APPEND :lt_lagp-idatu TO lt_timestamp,
          lt_lagp-cleared_at TO lt_timestamp,
          lt_lagp-moved_at TO lt_timestamp.
CALL FUNCTION '/SCWM/CONVERT_TIMESTAMP'
EXPORTING
      iv_lgnum       = lv_lgnum
      it_timestamp   = lt_timestamp
IMPORTING
      et_date_time   = lt_timedate
EXCEPTIONS
      input_error    = 1
      data_not_found = 2
OTHERS         = 3.

LOOP AT lt_timedate INTO ls_timedate.
CASE sy-tabix.
WHEN 1.
WRITE ls_timedate-date DD/MM/YY TO cs_inq_st-idatu_d.
MOVE ls_timedate-time TO cs_inq_st-idatu_t.
WHEN 2.
WRITE ls_timedate-date DD/MM/YY TO cs_inq_st-cleared_d.
MOVE ls_timedate-time TO cs_inq_st-cleared_t.
WHEN 3.
WRITE ls_timedate-date DD/MM/YY TO cs_inq_st-moved_d.
MOVE ls_timedate-time TO cs_inq_st-moved_t.
ENDCASE.
ENDLOOP.

7. 获得功能代码

lv_fcode        TYPE /scwm/de_fcode,

lv_fcode = /scwm/cl_rf_bll_srvc=>get_fcode( ).

8. 设置仓库号

CALL METHOD /scwm/cl_tm=>set_lgnum( ls_rsrc-lgnum ).

9. 查询源HU信息

CALL FUNCTION '/SCWM/TO_READ_SRC'
EXPORTING
        iv_lgnum   = ls_rsrc-lgnum
        iv_huident = selection-huident
IMPORTING
        et_ordim_o = lt_ordim_o
        et_ordim_c = lt_ordim_c.

10. 查询目前的HU信息

CALL FUNCTION '/SCWM/TO_READ_DES'
EXPORTING
        iv_lgnum   = ls_rsrc-lgnum
        iv_huident = selection-huident
IMPORTING
        et_ordim_o = lt_ordim_o
        et_ordim_c = lt_ordim_c.

CALL FUNCTION '/SCWM/TO_READ_HU'
EXPORTING
        iv_lgnum       = ls_rsrc-lgnum
        iv_huident     = selection-huident
IMPORTING
        et_ordim_o_src = lt_ordim_o
        et_ordim_o_des = lt_ordim_o_des
        et_ordim_c_src = lt_ordim_c
        et_ordim_c_des = lt_ordim_c_des.

11. RF确认对话框

CALL METHOD /SCWM/CL_RF_BLL_SRVC=>POPUP_TO_CONFIRM(

IV_TITLE = ‘’,

IV_TEXT=’’

IV_FLG_CANCEL=’X’,

RV_ANSWER = RV_ANSWER)

/scwm/cl_rf_dynpro_srvc=>display_message(

iv_msgid = sy-msgid

iv_msgno = sy-msgno

iv_msgty = 'Q'

iv_msgv1 = sy-msgv1

iv_msgv2 = sy-msgv2

iv_msgv3 = sy-msgv3

iv_msgv4 = sy-msgv4 ) = /scwm/cl_rf_bll_srvc=>c_answer_yes

posted on 2012-10-28 19:53  会东  阅读(2964)  评论(1编辑  收藏  举报