要根据上一个列表框(模块池)中的选择填充ListBox

时间:2015-05-12 21:01:37

标签: abap

大师:

我有一个问题,我无法修复它。 我有一个DYNPRO 010,这有2个列表框(下拉列表),我想在选择第一个后自动填充第二个(自动,没有按下回车键)

当我在listbox1中选择一个值并按下回车键时,它会起作用。

field: WA_SCREEN_010-PROJ MODULE iniciativa ON REQUEST,
       WA_SCREEN_010-PEP  module field_validation.
Endchain.

MODULE iniciativa INPUT. ""INPUT

     DATA: ld_field    TYPE VRM_ID ,
        it_listbox   TYPE VRM_VALUES,
        wa_listbox   LIKE LINE OF it_listbox,
        it_prps      TYPE STANDARD TABLE OF prps,
        wa_prps LIKE LINE OF it_prps.

*
*   SELECT pspnr posid post1 from prps into table it_prps WHERE .
SELECT  peps~pspnr peps~posid peps~post1 peps~stufe   INTO CORRESPONDING FIELDS OF TABLE it_prps
         FROM proj AS proyecto
         LEFT JOIN prps AS peps
         ON proyecto~pspnr = peps~psphi
         WHERE proyecto~pspid  = WA_SCREEN_010-PROJ .

  DELETE it_prps where stufe ne 2.

   loop at it_prps into wa_prps.
    wa_listbox-key = wa_prps-posid .
    wa_listbox-text = wa_prps-posid.
    append wa_listbox to it_listbox.
  endloop.
*
   ld_field = 'WA_SCREEN_010-INICIATIVA'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = ld_field
      values = it_listbox.

1 个答案:

答案 0 :(得分:0)

您必须通过为其分配功能代码来激活第一个列表框。这会触发PAI-PBO循环。确保功能代码不会触发任何不需要的功能。