Hola, estoy trabajando con un programa que tiene la siguiente instruccion pero no la he trabajado antes, mi duda es los valores que aparecen en la condicion screen-group1 EQ ‘VALOR’ ese valor de donde lo toma pues noto que es un valor que uno lo condiciona donde se realiza eso o donde uno verifica que ese group existe.
IF p_radbt4 IS INITIAL.
LOOP AT SCREEN.
IF screen-group1 EQ ‘GR2’.
screen-active = 0.
MODIFY screen.
ENDIF.
ENDLOOP.
Los grupos para los radio button se crean desde el screen / dynpro de selección si es un reporte Z Usualmente la parte ABAP declara un include TOP para almacenar toda este código.
En caso que sea otro tipo de Objeto y no un reporte lo mas fácil es que abras el programa desde la SE80 y busques la dynpro en las Subcarpetas, esto solo para saber donde se declaro, de ahí toma el ‘VALOR’ de los grupos, pero esto es a groso modo una constante que declaro el desarrollador para distinguir los grupos.
Que necesitas modificar así te puedo ayudar mejor?
Lo que te señale con color azul son los grupos screen-group1, screen-group2, screen-group3 … y asignas para poder recorrer todos los screen y poder modificar ciertos parámetros definidos por grupos.
En tu caso
Screen-active puede ocultar / mostrar. (Usado para contraseñas)
El campo screen-group1 contendrá el modif id que le hayas asignado a tus controles.
Ejemplo de un report sencillo:
SELECTION-SCREEN BEGIN OF BLOCK A02 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS: S_CARRID FOR SFLIGHT-CARRID MODIF ID GR2,
S_CONNID FOR SFLIGHT-CONNID MODIF ID GR2,
S_FLDATE FOR SFLIGHT-FLDATE MODIF ID GR2.
SELECTION-SCREEN END OF BLOCK A02.
de esa manera ya puedes controlar todos tus campos con el if que nos indicas, para entenderlo mejor realiza un break point en esa sección de tu código y revisa como cambian los campos screen-name y screen-group1.
Si estás utilizando dympro sigue los consejos de GARANGO241 y JRCP.