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???


Husos Horarios son GMT. La hora en este momento es 05:33:31.

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