標準選擇屏幕F4增強

通過此貼,可以了解到:
1、如何獲取選擇屏幕中指定欄位的值;
2、F4 help;

解決在輸入company code後,不敲回車,帶不出PO No.的F4 Help問題

代碼示例:

  1. REPORT zrab_zyb_test MESSAGE-ID sabapdocu.
  2. TABLES: ekko.
  3. DATA: lt_field LIKE dynpread OCCURS 0 WITH HEADER LINE.   
PARAMETERS: p_bukrs LIKE ekko-bukrs.SELECT-OPTIONS: s_ebeln FOR ekko-ebeln.AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ebeln-low.  PERFORM f4_help_ebeln USING p_bukrs 'P_BUKRS'.START-OF-SELECTION.  WRITE:/ p_bukrs, s_ebeln-low.*&---------------------------------------------------------------------**&      Form  f4_help_ebeln*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  --&gt  p1        text*  *----------------------------------------------------------------------*FORM f4_help_ebeln USING iv_field                CHANGING cv_field.  DATA: BEGIN OF lt_value OCCURS 0,          bukrs LIKE ekko-bukrs,          ebeln LIKE ekko-ebeln,        END OF lt_value.   DATA:  lt_fields LIKE dynpread OCCURS 0 WITH HEADER LINE.***  設置要抓取screen的欄位名  ***  lt_fields-fieldname = 'P_BUKRS'.  APPEND lt_fields.***  通過此FM,取得上面指定的欄位值  ***  CALL FUNCTION 'DYNP_VALUES_READ'    EXPORTING      dyname               = sy-repid      dynumb               = sy-dynnr    TABLES      dynpfields           = lt_fields    EXCEPTIONS      invalid_abapworkarea = 1      invalid_dynprofield  = 2      invalid_dynproname   = 3      invalid_dynpronummer = 4      invalid_request      = 5      no_fielddescription  = 6      invalid_parameter    = 7      undefind_error       = 8      double_conversion    = 9      stepl_not_found      = 10      OTHERS               = 11.  IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  ENDIF.  READ TABLE lt_fields INDEX 1.  IF sy-subrc <> 0.    EXIT.  ELSE.    p_bukrs = lt_fields-fieldvalue.  ENDIF.***  抓取數據庫中符合條件的值  ***  SELECT bukrs ebeln    INTO CORRESPONDING FIELDS OF TABLE lt_value    FROM ekko   WHERE bukrs = p_bukrs.  IF sy-subrc <> 0.    EXIT.  ENDIF.***  F4 help  ***  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'    EXPORTING      retfield        = 'EBELN'      dynpprog        = sy-repid      dynpnr          = sy-dynnr      dynprofield     = cv_field      value_org       = 'S'    TABLES      value_tab       = lt_value    EXCEPTIONS      parameter_error = 1      no_values_found = 2      OTHERS          = 3.  IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  ENDIF.ENDFORM.                    " f4_help_ebeln

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21122155/viewspace-578424/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21122155/viewspace-578424/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值