首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ABAP选择屏幕两个上拉列表的联动

2012-09-06 
ABAP选择屏幕两个下拉列表的联动REPORTztest_call_prog.TYPE-POOLS vrm. ListBox使用DATA: name TYPE vrm

ABAP选择屏幕两个下拉列表的联动

REPORT   ztest_call_prog.

TYPE-POOLS vrm.         " ListBox使用
DATA: name TYPE vrm_id,
      list TYPE vrm_values,
      value LIKE LINE OF list.
TABLES:  sscrfields.
DATA:  g_code TYPE sscrfields-ucomm.

DATA:BEGIN OF itab OCCURS 0,
     coun(2),
     city(2),
     tcity(10),
END OF itab.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1.
PARAMETERS: p_coun TYPE text20 OBLIGATORY AS LISTBOX VISIBLE LENGTH 15 USER-COMMAND coun,
          p_city TYPE text20  AS LISTBOX VISIBLE LENGTH 15.
SELECTION-SCREEN END OF BLOCK b1.

INITIALIZATION.
  t1 = '选择条件'.

  CLEAR:list,list[],itab[].
  value-key = '01'.
  value-text = '中国'.
  APPEND value TO list.
  value-key = '02'.
  value-text = '美国'.
  APPEND value TO list.
  p_coun = '01'.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = 'P_COUN'
      values = list.

CLEAR:list,list[].

  itab-coun = '01'.
  itab-city = '01'.
  itab-tcity = '北京'.
  APPEND itab.
  value-key = itab-city.
  value-text = itab-tcity.
  APPEND value TO list.

  itab-coun = '01'.
  itab-city = '02'.
  itab-tcity = '上海'.
  APPEND itab.
  value-key = itab-city.
  value-text = itab-tcity.
  APPEND value TO list.

  itab-coun = '01'.
  itab-city = '03'.
  itab-tcity = '广州'.
  APPEND itab.
  value-key = itab-city.
  value-text = itab-tcity.
  APPEND value TO list.

  itab-coun = '02'.
  itab-city = '04'.
  itab-tcity = '纽约'.
  APPEND itab.
  value-key = itab-city.
  value-text = itab-tcity.
  APPEND value TO list.

  itab-coun = '02'.
  itab-city = '05'.
  itab-tcity = '华盛顿'.
  APPEND itab.
  value-key = itab-city.
  value-text = itab-tcity.
  APPEND value TO list.
  CALL FUNCTION 'VRM_SET_VALUES'
      EXPORTING
        id     = 'P_CITY'
        values = list.

AT SELECTION-SCREEN .
  g_code = sscrfields-ucomm.
  CASE g_code.
    WHEN 'COUN'.
      CLEAR:list,list[].
      LOOP AT itab WHERE coun = p_coun.

        value-key = itab-city.
        value-text = itab-tcity.
        APPEND value TO list.

      IF sy-tabix EQ 1.
        p_city = itab-city.
      ENDIF.
    ENDLOOP.
    CALL FUNCTION 'VRM_SET_VALUES'
      EXPORTING
        id     = 'P_CITY'
        values = list.
ENDCASE.

热点排行