在代码中调用“回车”命令

函数SAPGUI_SET_FUNCTIONCODE可以模拟屏幕上输入的命令。下面一个例子是在value-request事件中调用回车命令,如果通过F4选择多个记录,按钮自动变为绿色。

button

*&———————————————————————*
*& Report  ZFLIGHTBOOKING
*&
*&———————————————————————*
*&
*&
*&———————————————————————*

REPORT  zflightbooking_new.

INCLUDE rhxmacro.
TABLES: objec, pchdy.

DATA: lt_marked_objects TYPE TABLE OF hrsobid,
wa_marked_objects TYPE hrsobid,
lt_sel_objects TYPE TABLE OF objec,
wa_sel_objects TYPE objec.

SELECT-OPTIONS:
  p_objid FOR pchdy-objid_seq NO INTERVALS.                     “ObjektId”YMOK139293

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_objid-low.       “YMOK303367
  PERFORM f4_objid_o.                                       “YMOK303367

AT SELECTION-SCREEN OUTPUT.

INITIALIZATION.

START-OF-SELECTION.

END-OF-SELECTION.
*&———————————————————————*
*&      Form  F4_OBJID_O
*&———————————————————————*
*       text
*———————————————————————-*
*      <–P_P_OBJID  text
*———————————————————————-*
FORM f4_objid_o.
  CLEAR: lt_marked_objects, wa_marked_objects.
  CLEAR: lt_sel_objects, wa_sel_objects.

  LOOP AT p_objid.
    wa_marked_objects-plvar = ‘01′.
    wa_marked_objects-otype = ‘O’.
    wa_marked_objects-sobid = p_objid-low.
    INSERT wa_marked_objects inTO lt_marked_objects index 1.
  ENDLOOP.

  CALL FUNCTION ‘RH_OBJID_REQUEST’
   EXPORTING
     plvar                   = ‘01′
     otype                   = ‘O’
     seark                   = ‘*’
     set_mode                = ‘X’
     dynpro_repid = sy-repid
     dynpro_dynnr = sy-dynnr
*     SEARK_BEGDA             = $LOW_DATE
*     SEARK_ENDDA             = $HIGH_DATE
   TABLES
     marked_objects          = lt_marked_objects
     sel_objects             = lt_sel_objects
   EXCEPTIONS
     cancelled               = 1
     wrong_condition         = 2
     nothing_found           = 3
     internal_error          = 4
     illegal_mode            = 5
     OTHERS                  = 6
            .

  CLEAR: p_objid, p_objid[].
  LOOP AT lt_sel_objects INTO wa_sel_objects.
    p_objid-sign = ‘I’.
    p_objid-option = ‘EQ’.
    p_objid-low = wa_sel_objects-objid.
    insert p_objid index 1.
  ENDLOOP.

  CALL FUNCTION ‘SAPGUI_SET_FUNCTIONCODE’
    EXPORTING
      functioncode           = ‘=’
    EXCEPTIONS
      function_not_supported = 1
      OTHERS                 = 2.

ENDFORM.                    ” F4_OBJID_O

posted @ 2011-04-01 08:57  Kaming's SAP  阅读(528)  评论(0编辑  收藏  举报