#1
|
|||
|
|||
Ayuda con screen de un report!!!!
Holaaaaa!!!
LLevo un mes programando en ABAP y aun estoy muy verde. Tengo un problemilla. Me han pedido que cree un report (sin dynpro) con 4 radiobuttons. Al pulsar en uno de ellos se deben mostrar una serie de parametros, pero al seleccionar otro, esos parametros deben desaparecer y aparecer otros distintos. He estado leyendo por el foro algunas cosas interesantes, pero a mi no me funcionan...ni el LOOP AT SCREEN, ni nada de nada. Esto es lo que he puesto, a ver si alguien me puede ayudar: SELECTION-SCREEN: BEGIN OF BLOCK bloq1 WITH FRAME TITLE text-001. PARAMETERS: r1 RADIOBUTTON GROUP g1, r2 RADIOBUTTON GROUP g1, r3 RADIOBUTTON GROUP g1, r4 RADIOBUTTON GROUP g1. PARAMETERS: p1(128) TYPE C default ' ' MODIF ID g2. "parametro con la ruta completa del fichero SELECTION-SCREEN: END OF BLOCK bloq1. T SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF r1 = 'X'. IF SCREEN-GROUP1 = 'g2'. SCREEN-INVISIBLE = 0. SCREEN-INPUT = 1. ENDIF. ELSE. IF SCREEN-GROUP1 = 'g2'. SCREEN-INVISIBLE = 1. SCREEN-INPUT = 0. ENDIF. ENDIF. * Se actualizan las modificaciones en la tabla SCREEN MODIFY SCREEN. ENDLOOP. Por favor si alguien me puede ayudar o indicarme donde puedo consultarlo se lo agradezco mucho!!! |
#2
|
|||
|
|||
Aqui tienes un pequeño ejemplo, la clave esta en que tiene que asignarle un user-command a algun elemento para que pase por el evento at selection-screen output
En los programas de carga dependiendo de si van a hacerla con fichero local o en el servidor quiero que cambie el parametro que acepta la ruta dependiendo del radiobutton que pinchen y yo lo hago asi SELECTION-SCREEN: BEGIN OF BLOCK a1 WITH FRAME TITLE text-001. PARAMETERS: p_local RADIOBUTTON GROUP 001 USER-COMMAND a1 DEFAULT 'X'. PARAMETERS: p_fondo RADIOBUTTON GROUP 001. PARAMETERS: p_filel TYPE rlgrap-filename MODIF ID 002. PARAMETERS: p_filef TYPE string MODIF ID 003. PARAMETERS: p_test AS CHECKBOX. PARAMETERS: p_jd TYPE apqi-groupid OBLIGATORY DEFAULT text-002. SELECTION-SCREEN: END OF BLOCK a1. AT SELECTION-SCREEN OUTPUT. IF NOT p_local IS INITIAL. LOOP AT SCREEN. IF screen-group1 = '002'. screen-output = 1. screen-input = 1. screen-invisible = 0. MODIFY SCREEN. ELSEIF screen-group1 = '003'. screen-output = 0. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. ELSE. LOOP AT SCREEN. IF screen-group1 = '002'. screen-output = 0. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ELSEIF screen-group1 = '003'. screen-output = 1. screen-input = 1. screen-invisible = 0. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF. |
#3
|
||||
|
||||
VE SI ESTE EJEMPLO TE PUEDE SERVIR
SELECTION-SCREEN: BEGIN OF BLOCK bloq1 WITH FRAME TITLE text-001. PARAMETERS: carga RADIOBUTTON GROUP g1 USER-COMMAND ent, modifica RADIOBUTTON GROUP g1, casa RADIOBUTTON GROUP g1, anula RADIOBUTTON GROUP g1. PARAMETERS: p_file(128) TYPE C default ' ' MODIF ID g2. "parametro con la ruta completa del fichero SELECTION-SCREEN: END OF BLOCK bloq1. INITIALIZATION. LOOP AT SCREEN. IF SCREEN-NAME = 'P_FILE' OR SCREEN-NAME = '%_P_FILE_%_APP_%-TEXT'. SCREEN-INVISIBLE = 1. SCREEN-INPUT = 0. ENDIF. * Se actualizan las modificaciones en la tabla SCREEN MODIFY SCREEN. ENDLOOP. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF carga = 'X'. IF SCREEN-NAME = 'P_FILE' OR SCREEN-NAME = '%_P_FILE_%_APP_%-TEXT'. SCREEN-INVISIBLE = 0. SCREEN-INPUT = 1. ENDIF. ELSE. IF SCREEN-NAME = 'P_FILE' OR SCREEN-NAME = '%_P_FILE_%_APP_%-TEXT'. SCREEN-INVISIBLE = 1. SCREEN-INPUT = 0. ENDIF. ENDIF. * Se actualizan las modificaciones en la tabla SCREEN MODIFY SCREEN. ENDLOOP. SALUDOS |
Herramientas | Buscar en Tema |
Desplegado | |
|
|