加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]ABAP屏幕下拉框及domain value range生成下拉框例子

(2013-04-09 15:42:12)
标签:

转载

分类: ABAP

    1、拖入一个编辑控件到屏幕,设置“下拉”属性为“ListBox”

    2、设置Function-CODE,(注意:设置功能代码,才可捕捉到下拉框值改变事件)

    3、listbox的列表的取值有三种方法:

    A)默认取Dictionary;(即元数据中的配置)
    B)使用“VRM_SET_VALUES"函数在PBO中设置 ,代码见后面代码
    C)使用Process On Value-request事件和“F4IF_INT_Table_Value_request”函数设置输入帮助
    其中C优于B,B优于A

    代码示例:(可参见SAP的样例程序,rsdemo_dropdown_list)


自己做的例子 http://www/uc/myshow/blog/misc/gif/E___6837EN00SIGG.gifvalue range生成下拉框例子" TITLE="[转载]ABAP屏幕下拉框及domain value range生成下拉框例子" />  记录:
*&---------------------------------------------------------------------*
*&      Form  FRM_JICHKA_SETVALUE
*&---------------------------------------------------------------------*
      text 过户类型
*----------------------------------------------------------------------*
 -->  p1        text
 <--  p2        text
*----------------------------------------------------------------------*
FORM frm_stockstate_setvalue.
  DATAlv_name TYPE vrm_id "下拉框字段名称
        lt_list TYPE vrm_values,
        lw_value LIKE LINE OF lt_list,
        lv_desc(10TYPE c.

  CLEAR:lt_list,lw_value.

  lw_value-key '01'.
  lw_value-text  '01 现货转现货'.
  APPEND lw_value TO lt_list.
  CLEAR lw_value.

  lw_value-key '02'.
  lw_value-text  '02 现货到期货'.
  APPEND lw_value TO lt_list.
  CLEAR lw_value.

  lw_value-key '03'.
  lw_value-text  '03 期货到现货'.
  APPEND lw_value TO lt_list.
  CLEAR lw_value.

  CALL FUNCTION 'VRM_SET_VALUES'     "调用函数填充内容
    EXPORTING
      id     'ZTEWM_TRANS_H-STOCKSTATE'
      values lt_list.
ENDFORM                   FRM_JICHKA_SETVALUE

*&---------------------------------------------------------------------*
*&      Form  frm_appstatus_setvalue
*&---------------------------------------------------------------------*
      text 过户单单据状态
*----------------------------------------------------------------------*
 -->  p1        text
 <--  p2        text
*----------------------------------------------------------------------*
FORM frm_appstatus_setvalue.
  DATAlv_name TYPE vrm_id "下拉框字段名称
        lt_list TYPE vrm_values,
        lw_value LIKE LINE OF lt_list,
        lv_desc(10TYPE c.
  DATAlt_dd07v TYPE TABLE OF dd07v,
        lw_dd07v TYPE dd07v.

  CLEAR:lt_list,lw_value,lt_dd07v.

*domain value range
  SELECT FROM dd07v
    INTO CORRESPONDING FIELDS OF TABLE lt_dd07v
    WHERE domname 'ZTRANS_STATE'
    AND ddlanguage '1'.

结果显示如下图:

http://s4/middle/69f04819gc6e5cc327473&690value range生成下拉框例子" TITLE="[转载]ABAP屏幕下拉框及domain value range生成下拉框例子" />

   LOOP AT lt_dd07v INTO lw_dd07v.
    lw_value-key lw_dd07v-domvalue_l.
    CONCATENATE lw_dd07v-domvalue_l lw_dd07v-ddtext INTO lv_desc.  "CODE+DES
    lw_value-text  lv_desc.
    APPEND lw_value TO lt_list.
    CLEAR lw_value.
    CLEAR lv_desc.
    CLEAR lw_dd07v.
  ENDLOOP.

  CALL FUNCTION 'VRM_SET_VALUES'     "调用函数填充内容
    EXPORTING
      id     'ZTEWM_TRANS_H-STOCKSTATE'
      values lt_list.
ENDFORM                   FRM_JICHKA_SETVALUE


附:*domain value range取法
方法1:取表 DD07T  如上例子 注意设置语言的过滤
           取 Value的描述需要从DD07T中查找,查找时不要忘记选择语言种类
方法2:FM取
    使用SAP的标准函数  FUNCTION  'DD_DOMVALUES_GET'  
      call function 'DD_DOMVALUES_GET'
           exporting
                domname        p_domname
           importing
                rc             = l_subrc
           tables
                dd07v_tab      l_dd07v
           exceptions
                wrong_textflag = 1
                others         = 2.

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有