天天看點

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.

繼續閱讀