domingo, 30 de septiembre de 2012
Crear un List box en pantalla
Para crear un list box en selection screen:
PARAMETERS: p_day TYPE char4 AS LISTBOX VISIBLE LENGTH 6 OBLIGATORY.
TYPE-POOLS: vrm.
DATA: l_sid TYPE vrm_id,
l_i_val TYPE vrm_values,
l_val LIKE LINE OF l_i_val.
INITIALIZATION.
l_sid = 'p_day'.
l_val-key = '0'.
l_val-text = 'SUN'.
APPEND l_val TO l_i_val.
l_val-key = '1'.
l_val-text = 'MON'.
APPEND l_val TO l_i_val.
l_val-key = '2'.
l_val-text = 'TUE'.
APPEND l_val TO l_i_val.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = l_sid
values = l_i_val
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc = 0.
ENDIF.
-----------------------------------------------------------------
Para crear un list box en una dynpro:
THE TOP INCLUDE:
TYPES: begin of stru_t161t,
BSTYP type t161t-BSTYP,
BSART type t161t-BSART,
BATXT type BATXT,
end of stru_t161t.
types : BEGIN OF STRU_TEXT, "STRUCTURE FOR FUNCTION MODULE
KEY(40) TYPE C, " FOR DROPDOWN BOX
TEXT(80) TYPE C,
END OF STRU_TEXT.
data : it_t161t type TABLE OF stru_t161t,
wa_t161t type stru_t161t,
it_text type TABLE OF STRU_TEXT,
wa_text type STRU_TEXT.
IN THE PBO:
MODULE STATUS_1000 OUTPUT.
SELECT
BSTYP
BSART
BATXT
into table it_t161t
from t161t
where bstyp = 'B'
and SPRAS = 'E'.
clear wa_text.
refresh it_text.
loop at it_t161t into wa_t161t.
move wa_t161t-bsart to wa_text-key.
move wa_t161t-batxt to wa_text-text.
append wa_text to it_text.
endloop.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'V_DRPDWN' "'V_DRPDWN' is the screen name of the dropdown field
VALUES = it_text
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_1000 OUTPUT