MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   seleccion de pantallas segun radio button (foro/showthread.php?t=9200)

javigol 20/11/07 11:20:57

seleccion de pantallas segun radio button
 
hola tengo que hacer que aparezcan o desaparezcan parametros de la pantalla segun yo pinche en un radio button o en otro.por ejemplo cuando hago click en el radio button de "carga" debe aparecer el parametro p_file pero cuando pulso en cualquier otro este parametro debe desaparecer de la pantalla. ¿alguien sabe que falla? gracias!!
el codigo es este pero no me va:


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.


AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF carga = '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.

robert_milan 20/11/07 12:19:54

HOLA AQUI ESTA EL CODIGO CORREGIDO

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.

javigol 20/11/07 13:43:24

muchas gracias!!

robert_milan 20/11/07 13:44:18

Vale!!! suerte

iparedes 09/01/08 18:50:21

Radiobutton
 
Hola!!!! buenas Tardes!!!!
estoy viendo el tema de hacer un pgma donde tengo 3 RADIOBUTTON y segun la que se seleccione me muestre pantallas distintas o la posibilidad de mostrar pantallas segun el codigo:
SELECTION-SCREEN BEGIN OF BLOCK 0003 WITH FRAME TITLE text-003.
SELECT-OPTIONS:
so_auart FOR vbak-auart.
SELECTION-SCREEN END OF BLOCK 0003.

alguien que tenga un manual o algun codigo como para manejarme??
Desde ya les agradezco enormemente!!!
Saludos



Iparedes

robert_milan 10/01/08 07:23:47

haber si entendi, lo que quieres es dependiendo del radiobuton seleccionado te muestre diferentes selection screens????

o quieres que te cambie de pantalla?? a otra y regreses a los radio butons

iparedes 10/01/08 10:08:37

Radiobutton
 
osea la pantalla principal seria RADIOBUTTON y segun la que elijas te trae una pantalla distinta para cada opcion.
Saludos

nachosds 10/01/08 15:37:20



Ummm.... eso seria interesante saberlo... ya que estoy buscando desesperado la manera de hacer un menu... y creo que eso me serviria...

Si es mucho pedir, ¿Como se realizaria?

robert_milan 10/01/08 15:48:34

.mmm. eso seria usando modul pool y eso ya no seria un programa plano, ademas de que debes hacer screens y mandarlas llamar con la funcion call screen 100 como ejemplo.

dejen que tenga un tiempo entre hoy y mañana y posteo un pequeño manual para que se den cuenta de como se hace :D

iparedes 11/01/08 10:40:42

Radiobutton
 
[color="Blue"]Hola!!!
Les cuento que vì la manera de hacer algo que remplace a mi primera idea, ahi les paso el codigo:COLOR]

SELECTION-SCREEN BEGIN OF BLOCK 0001 WITH FRAME TITLE text-001.
SELECT-OPTIONS so_KSCHL FOR A306-KSCHL.
SELECTION-SCREEN END OF BLOCK 0001.

SELECTION-SCREEN: BEGIN OF BLOCK bloq1 WITH FRAME TITLE text-001.
PARAMETERS: Inicio RADIOBUTTON GROUP g1 USER-COMMAND ent,
Clte_Mat RADIOBUTTON GROUP g1,
PrMonMat RADIOBUTTON GROUP g1,
Material RADIOBUTTON GROUP g1.
*PARAMETERS: p_file(128) TYPE C default ' ' MODIF ID g2. "parametro con
*la ruta completa del fichero
PARAMETERS: P_VKORG TYPE A306-VKORG MODIF ID g2, " Org. Ventas TYPE C
*default ' ',
P_VTWEG TYPE A306-VTWEG MODIF ID g2, " CANAL DE DISTRIBUCION
P_KUNNR TYPE A305-KUNNR MODIF ID g2, " CLIENTE
P_PLTYP TYPE A306-PLTYP MODIF ID g2, " LISTA DE PRECIOS
P_WAERK TYPE A306-WAERK MODIF ID g2. " MONEDA

SELECTION-SCREEN: END OF BLOCK bloq1.

INITIALIZATION.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P_VKORG' OR SCREEN-NAME =
'%_P_VKORG_%_APP_%-TEXT' or SCREEN-NAME = 'P_VTWEG' OR SCREEN-NAME =
'%_P_VTWEG_%_APP_%-TEXT' or SCREEN-NAME = 'P_KUNNR' OR SCREEN-NAME =
'%_P_KUNNR_%_APP_%-TEXT' or SCREEN-NAME = 'P_PLTYP' OR SCREEN-NAME =
'%_P_PLTYP_%_APP_%-TEXT' or SCREEN-NAME = 'P_WAERK' OR SCREEN-NAME =
'%_P_WAERK_%_APP_%-TEXT'.
SCREEN-INVISIBLE = 0.
SCREEN-INPUT = 0.
ENDIF.
* Se actualizan las modificaciones en la tabla SCREEN
MODIFY SCREEN.
ENDLOOP.

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF Clte_Mat = 'X'.
IF SCREEN-NAME = 'P_PLTYP' OR SCREEN-NAME =
'%_P_PLTYP_%_APP_%-TEXT' OR SCREEN-NAME = 'P_WAERK'
OR SCREEN-NAME ='%_P_WAERK_%_APP_%-TEXT' .
SCREEN-INVISIBLE = 0.
SCREEN-INPUT = 0.
ENDIF.
ELSE.
IF PrMonMat = 'X'.
IF SCREEN-NAME = 'P_KUNNR'
OR SCREEN-NAME ='%_P_KUNNR_%_APP_%-TEXT'

. SCREEN-INVISIBLE = 0.
SCREEN-INPUT = 0.
ENDIF.

ELSE.
IF SCREEN-NAME ='P_PLTYP' OR SCREEN-NAME =
'%_P_PLTYP_%_APP_%-TEXT' OR
SCREEN-NAME ='P_WAERK' OR SCREEN-NAME =
'%_P_WAERK_%_APP_%-TEXT' or SCREEN-NAME = 'P_KUNNR'
OR SCREEN-NAME ='%_P_KUNNR_%_APP_%-TEXT'
.
SCREEN-INVISIBLE = 0.
SCREEN-INPUT = 0.
ENDIF.
ENDIF.
ENDIF.
* Se actualizan las modificaciones en la tabla SCREEN
MODIFY SCREEN.
ENDLOOP.

Lo que hace esto es, segun la opcion que elijas, te muestra los parametros que hay que ingresarles, y los otros los bloquea, pero mi problema està en como puedo recuperar esos valores que ingreso, como hago para levantarlos???

robert_milan 11/01/08 10:43:46

Necesitas unas variables intermedias para que cuando regresen a la seccion anterior, introduscas lo valores que hubiesen estado antes.

espero ser claro..

iparedes 11/01/08 11:48:27

screenbutton
 
Chicos:
Ya està!!, ya lo solucionè!!!
Gracias por todas las ayudas, igual Robert_milan esperamos el manual, Gracias!!!

Alfredosite 23/12/08 19:23:56

Como Agregar 2 radio button a una dynpro
 
Hola amigos, disculpen la molestia deseo agregar 2 radio button a una subdynpro, y quiero que por ejemplo si radiobutton1 esta marcado emita el valor '1' internamente y ese valor asignarlo a un campo de una estructura include, y cuando marque radiobutton2 emita el valor '0' a ese mismo campo.

E intentado ingresar por por el screen painter los 2 radio buttom y al campilarlo ambos aparecen marcados :(.

Alguien sabe como controlar para que esten agrupados? o algo que me permita o elegir uno o el otro.

Y de no ser mucha molestia en que parte del codigo iria la logica :(.

Ya qeu no domino mucho las sentencia de dynpros.

PROCESS BEFORE OUTPUT.
........

PROCESS AFTER INPUT.

.......


Husos Horarios son GMT. La hora en este momento es 13:05:27.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web