PDA

Ver la Versión Completa : Selection-screen


carcaharas
29/12/08, 08:54:44
Hola muy buenas!
Lo primero de todo FELIZ NAVIDAD!!!!!Vereis, mi duda es la siguiente:
Tengo definida esta 'pantalla':

SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.
select-options Org_Comp for zmm_homol_prov-zekorg.
select-options Proveed for zmm_homol_prov-zlifnr.
select-options Fech_Hom for zmm_homol_prov-zfec_vto_homol.
SELECTION-SCREEN END OF BLOCK 001.

SELECTION-SCREEN BEGIN OF BLOCK 002 WITH FRAME TITLE TEXT-002.
PARAMETERS: VER_CERT AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK 002.

SELECTION-SCREEN BEGIN OF BLOCK 003 WITH FRAME TITLE TEXT-003.
select-options Cod_Cert for ZMM_CERTIF_PROV-zcertif.
select-options Desde for ZMM_CERTIF_PROV-zfec_Valid_ini.
select-options Hasta for ZMM_CERTIF_PROV-zfec_valid_fin.
parameters: oblig as checkbox.
SELECTION-SCREEN END OF BLOCK 003.

Bueno y lo que quiero hacer es muy simple; quiero que si el usuario selecciona la opción ver_cert del segundo bloque, todo el tercer bloque se desactive, eso es posible?
Un saludo y gracias.

Mauricio Hidalgo
29/12/08, 12:24:36
Hola, aver si te ayuda esto.

1. Donde dice
PARAMETERS: VER_CERT AS CHECKBOX.
debe decir
PARAMETERS: VER_CERT AS CHECKBOX USER-COMMAND VCERT.

2. Escribir un evento PBO para la pantalla de selección.

at selection-screen output.
IF VER_CERT EQ 'X'.
LOOP AT SCREEN.

MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.

MODIFY SCREEN.
ENDLOOP.
ENDIF.


Dentro del loop SCREEN mira los nombres (SCREEN-NAME) que tienen los componentes de tu tercer bloque, luego le modificas el atributo SCREEN-INVISIBLE a 0 o 1 según si quieres mostrar u ocultar.

Espero te ayude.

carcaharas
29/12/08, 13:02:52
Ay pues muchas gracias la verdad es que me ayuda mucho!
ya te contaré si lo soluciono.
Un saludo y gracias

carcaharas
29/12/08, 14:03:01
Efectivamente lo he solucionado así muchas gracias.

Mauricio Hidalgo
29/12/08, 15:27:41
Felicitaciones!!