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


REPORT   ztest_call_prog.

TYPE-POOLS vrm.         " ListBox使用
DATAname 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.
PARAMETERSp_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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值