PDA

Ver la Versión Completa : Screen como popup


VAKNeO
21/04/08, 15:50:26
hola a todos!

Mi duda es: Tengo una screen echa i quiero que esta screen salga en una ventanita nueva en tipo popup esk tiene una serie de botones i radiobuttons i solo se me ocurre hacer otra dynpro i mostrar-la pero seria mucho mejor si pudiera hacer-lo como un popup

Alguna idea ?

DavidXD_XD
21/04/08, 16:23:27
Hola, pienso q no existe (xfa corregirme :p ) ese tipo de popup's, ya q ellos son manejados para opciones de usuario (botones), y como tu screen contiene radiobuttoms no creo q se pueda diseñar, pero no creo q te puedas hacer problemas con tu screen xq en tu caso botaria 2 opciones, el boton que presionaron y el radiobutom que eligieron ... y con esas 2 opciones comienzas a jugar

vickxo
22/04/08, 07:48:31
Un pop up con radio buttons y botones de decision como tal no la conosco pero navengando he encotrado q puedes probar con estas funciones

POPUP_TO_DECIDE_LIST Q seria un lista de decicion...ahora bien pudiera cargar la dynpro en un pop up con esta otra funcion

POPUP_FOR_PRINT_OBJECTS

O puedes probar este codigo...tal vez te ayude

REPORT zvdll_pruebas.
*---------------------------------------------------------------------*
* Example with FM REUSE_ALV_POPUP_TO_SELECT *
*---------------------------------------------------------------------*
* Author : Michel PIOUD *
* Email : mpioud@yahoo.fr HomePage : http://www.geocities.com/mpioud *
*---------------------------------------------------------------------*
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------------------*
TYPES:
BEGIN OF ty_user_addr,
bname TYPE user_addr-bname, " User name
name_first TYPE user_addr-name_first, " First name
name_last TYPE user_addr-name_last, " Last name
checkbox,
END OF ty_user_addr.
*---------------------------------------------------------------------*
DATA:
* Data displayed
gt_user TYPE TABLE OF ty_user_addr.
*---------------------------------------------------------------------*
INITIALIZATION.

v_1 = 'Maximum of records to read'.

*---------------------------------------------------------------------*
START-OF-SELECTION.

PERFORM f_read_data.

PERFORM f_display_data.

*---------------------------------------------------------------------*
* Form f_read_data
*---------------------------------------------------------------------*
FORM f_read_data.

* Read Users address data
SELECT bname name_first name_last
UP TO p_max ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_user
FROM user_addr.

ENDFORM. " F_READ_DATA
*---------------------------------------------------------------------*
* Form f_display_data
*---------------------------------------------------------------------*
FORM f_display_data.

* Macro definition
DEFINE m_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = &2.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.

TYPE-POOLS: slis. " ALV Global types

DATA:
l_exit,
ls_private TYPE slis_data_caller_exit,
ls_user TYPE ty_user_addr,
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.

* Build the field catalog
m_fieldcat 'BNAME' 'USER_ADDR'.
m_fieldcat 'NAME_FIRST' 'USER_ADDR'.
m_fieldcat 'NAME_LAST' 'USER_ADDR'.

* Optimize column width
ls_private-columnopt = 'X'.

* Display data in a POPUP
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_selection = 'X'
i_zebra = 'X'
it_fieldcat = lt_fieldcat
i_tabname = 'GT_USER'
i_checkbox_fieldname = 'CHECKBOX'
is_private = ls_private
IMPORTING
e_exit = l_exit
TABLES
t_outtab = gt_user.

CHECK l_exit = space.

* What has been selected ?
LOOP AT gt_user INTO ls_user WHERE checkbox = 'X'.
MESSAGE i368(00) WITH ls_user-bname 'selected'.
ENDLOOP.

ENDFORM. " F_DISPLAY_DATA
*********** END OF PROGRAM Z_REUSE_ALV_POPUP_TO_SELECT ****************


Fuente:
http://www.mundosap.com/foro/showthread.php?t=1169
http://www.geocities.com/mpioud/Z_REUSE_ALV_POPUP_TO_SELECT.html

Saludos....

rembe
18/07/19, 15:24:27
Lo que tienes que hacer es un Dynpro, y cuando lo llames utilizas

CALL SCREEN no_dynpro STARTING AT columna linea.
ejemplo:
CALL SCREEN 0110 STARTING AT 10 5.

Lo controlas igual que un dynpro y puedes utilizar una variable para saber que botón se presiono.