Con el siguiente código podremos crear pantallas de entrada de datos dinámicas. Donde según el radio button que se elija, aparecerán distintos filtros de selección.
TABLES: KNA1, MARA.
************************************************************************
*** SELECTION-SCREEN / PARAMETERS / SELECT-OPTIONS ***
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-A01.
PARAMETERS:
R_CLIE RADIOBUTTON GROUP GRUP USER-COMMAND R DEFAULT ‘X’,
R_MATE RADIOBUTTON GROUP GRUP.
SELECTION-SCREEN END OF BLOCK B1.
*Datos Clientes
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-B02.
SELECT-OPTIONS: SO_CLIE FOR KNA1-KUNNR MODIF ID CLI,
SO_NAME FOR KNA1-NAME1 MODIF ID CLI,
SO_LAND FOR KNA1-LAND1 MODIF ID CLI.
SELECTION-SCREEN END OF BLOCK B2.
*Datos Materiales
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-B03.
SELECT-OPTIONS: SO_MATE FOR MARA-MATNR NO INTERVALS NO-EXTENSION MODIF ID MAT.
SELECTION-SCREEN END OF BLOCK B3.
*———————————————————————–*
*AT SELECTION-SCREEN.
*———————————————————————–*
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = ‘MAT’.
CASE R_MATE.
WHEN ‘X’.
SCREEN-ACTIVE = 1.
WHEN OTHERS.
SCREEN-ACTIVE = 0.
ENDCASE.
ELSEIF SCREEN-GROUP1 = ‘CLI’.
CASE R_MATE.
WHEN ‘X’.
SCREEN-ACTIVE = 0.
WHEN OTHERS.
SCREEN-ACTIVE = 1.
ENDCASE.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Technorati tags: sdn blogger

Add me to your del.icio.us
Hola he recogido este trozo de código y lo he publicado en mi blog haciendo referencia al tuyo.
Gracias.
http://consultorcabron.blogspot.com/2009/12/select-options-dinamicos.html
Hola, gracias por el código. Una COnsulta..
Que pasa cuando uno de los Select-options es obligatorio?
No deja cambiar la pantalla de entrada de datos.
Que se puede hacer?
Que tal Jessica,
En HR vi que se pueden crear o modifcar el layout de de la pantalla de selección de la Base de datos Lóigica. Estimo que para otros módulos también se podrá hacer.
Esto se hace entrando en la SE38, eligiendo el programa y parándose sobre atributos y luego clickeando en el botón “Clase report”.
Espero que te sea útil .
Saludos,
Daniel.
¿como podrias hacer para que cuando seleccionas material, solo te salga la opcion de material y no tambien las opciones de cliente?
Una alternativa podría ser utilizando matchcodes con una tabla interna.
Ver el siguiente post:
http://danielpanaro.wordpress.com/2007/11/28/crear-matchcode-ayudas-con-una-tabla-interna/
Saludos,
Daniel.
Muchas gracias daniel
Daniel, una vez más me has ayudado muchísimo. Gracias por compartir estos conocimientos con la comunidad.
Saludos, éxitos y por sobre todo…BUEN VIVIR!