Que tal Gente! como estan? de seguro mejor que yo jeje..
Les consulto a uds por este problema que me aqueja. Tengo una pantalla de seleccion en la cual tengo dos radiobuttons, en el cual 'una parametro', se afectado por los mismos.
Es decir cuando un radiobutton este seleccionado esta 'variable' tiene que estar deshabilitada o desaparecer, y cuando este seleccionado el otro radiobutton, tiene que aparcer la variable. Por lo que encontre, tengo que usar el loop at screen y luego activar y desactivar, pero no lo consigo. Este es mi intento:
SELECT-OPTIONS:
s_bukrs FOR T001-BUKRS NO-EXTENSION OBLIGATORY NO INTERVALS ,
s_gjahr FOR BKPF-GJAHR NO-EXTENSION OBLIGATORY NO INTERVALS,
s_monat FOR BKPF-MONAT NO-EXTENSION OBLIGATORY NO INTERVALS.
SELECTION-SCREEN BEGIN OF BLOCK eje_1 WITH FRAME TITLE text-001.
PARAMETERS:
p_file TYPE ibipparms-path OBLIGATORY,"Directorio
rb_gen1 TYPE c RADIOBUTTON GROUP a1 DEFAULT 'X',
rb_gen2 TYPE c RADIOBUTTON GROUP a1.
SELECT-OPTIONS s_salida FOR BKPF-GJAHR NO-EXTENSION NO INTERVALS MODIF ID F1.
SELECTION-SCREEN END OF BLOCK EJE_1.
Luego en el evento at selection...
************************************************** ********************
AT SELECTION-SCREEN OUTPUT.
************************************************** ********************
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'F1'.
IF rb_gen1 IS INITIAL.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
WHEN OTHERS.
screen-active = '1'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
**********************************************
Y saque un ejemplo de un chino XD...en el cual lo hace con dos radiobutton y dos parametros, lo cual esta perfecto y anda joya. Pero en mi caso tengo en el mismo bloque los parametros ...y no le encuentro la vuelta.
Este es el ejemplo:
PARAMETERS: p1 TYPE c RADIOBUTTON GROUP g1 USER-COMMAND uc,
p2 TYPE c RADIOBUTTON GROUP g1 DEFAULT 'X'.
PARAMETERS: p_werks TYPE werks MODIF ID ty1,
p_matnr TYPE matnr MODIF ID ty2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'TY1'.
IF p1 IS INITIAL.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
WHEN 'TY2'.
IF p2 IS INITIAL.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN.
CLEAR sy-ucomm.
Desde antemano muchas gracias por su ayuda.
saludos!
Les consulto a uds por este problema que me aqueja. Tengo una pantalla de seleccion en la cual tengo dos radiobuttons, en el cual 'una parametro', se afectado por los mismos.
Es decir cuando un radiobutton este seleccionado esta 'variable' tiene que estar deshabilitada o desaparecer, y cuando este seleccionado el otro radiobutton, tiene que aparcer la variable. Por lo que encontre, tengo que usar el loop at screen y luego activar y desactivar, pero no lo consigo. Este es mi intento:
SELECT-OPTIONS:
s_bukrs FOR T001-BUKRS NO-EXTENSION OBLIGATORY NO INTERVALS ,
s_gjahr FOR BKPF-GJAHR NO-EXTENSION OBLIGATORY NO INTERVALS,
s_monat FOR BKPF-MONAT NO-EXTENSION OBLIGATORY NO INTERVALS.
SELECTION-SCREEN BEGIN OF BLOCK eje_1 WITH FRAME TITLE text-001.
PARAMETERS:
p_file TYPE ibipparms-path OBLIGATORY,"Directorio
rb_gen1 TYPE c RADIOBUTTON GROUP a1 DEFAULT 'X',
rb_gen2 TYPE c RADIOBUTTON GROUP a1.
SELECT-OPTIONS s_salida FOR BKPF-GJAHR NO-EXTENSION NO INTERVALS MODIF ID F1.
SELECTION-SCREEN END OF BLOCK EJE_1.
Luego en el evento at selection...
************************************************** ********************
AT SELECTION-SCREEN OUTPUT.
************************************************** ********************
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'F1'.
IF rb_gen1 IS INITIAL.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
WHEN OTHERS.
screen-active = '1'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
**********************************************
Y saque un ejemplo de un chino XD...en el cual lo hace con dos radiobutton y dos parametros, lo cual esta perfecto y anda joya. Pero en mi caso tengo en el mismo bloque los parametros ...y no le encuentro la vuelta.
Este es el ejemplo:
PARAMETERS: p1 TYPE c RADIOBUTTON GROUP g1 USER-COMMAND uc,
p2 TYPE c RADIOBUTTON GROUP g1 DEFAULT 'X'.
PARAMETERS: p_werks TYPE werks MODIF ID ty1,
p_matnr TYPE matnr MODIF ID ty2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'TY1'.
IF p1 IS INITIAL.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
WHEN 'TY2'.
IF p2 IS INITIAL.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN.
CLEAR sy-ucomm.
Desde antemano muchas gracias por su ayuda.
saludos!
Comentario