Inicio > ABAP/4 > Mostrar u ocultar campos en pantalla de selección

Mostrar u ocultar campos en pantalla de selección

Caso: se desea crear una pantalla de selección con radiobuttons que al ser presionados, modifique la visualización de otros campos en pantalla.

Solución: para el ejemplo utilizaremos radiobuttons que al ser presionados grisen u oculten otros campos de selección.

REPORT zprueba_abap.
TABLES: bsid,
vbrk.
 
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETERS: r_new RADIOBUTTON GROUP r1 USER-COMMAND rbut DEFAULT 'X',
r_pen RADIOBUTTON GROUP r1,
r_pro RADIOBUTTON GROUP r1.
SELECTION-SCREEN END OF BLOCK b1.
 
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
PARAMETERS: p_bukrs TYPE bsid-bukrs.
SELECT-OPTIONS: s_kunnr FOR bsid-kunnr MODIF ID zz1,
s_belnr FOR bsid-belnr MODIF ID zz1.
 
PARAMETERS: p_gjahr TYPE vbrk-gjahr MODIF ID im1.
SELECT-OPTIONS: s_bldat FOR bsid-bldat,
s_zuonr FOR vbrk-zuonr MODIF ID im2.
SELECTION-SCREEN END OF BLOCK b2.
 
AT SELECTION-SCREEN OUTPUT.
PERFORM ocultar_campos.
 
FORM ocultar_campos.
 
IF r_new EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'IM2'.
screen-input = 0. " Campo editable
screen-invisible = 1. " Campo invisible
MODIFY SCREEN.
ENDIF.
ENDLOOP.
 
ELSEIF r_pen EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ZZ1'.
screen-input = 0. " Campo no editable/grisado
screen-invisible = 0. " Campo invisible
MODIFY SCREEN.
ENDIF.
 
ENDLOOP.
ELSEIF r_pro EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'IM1'.
screen-input = 0. " Campo no editable/grisado
screen-invisible = 1. " Campo invisible
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " OCULTAR_CAMPOS
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: