MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 03/04/09, 03:55:27
yvrn yvrn is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Mensajes: 17
Mensaje de error en reporte de acuerdo a radio button y parametro

Hola! Estoy haciendo un reporte, cuya pantalla de selección contiene unos radio button y unos campos de selección. Si el usuario marca una de las opciones del grupo de radio buttons se esconden ciertos campos. Los campos obligatorios varian segun la opcion de radio button. Estoy verificando los campos obligatorios al dispararse el evento START-OF-SELECTION. El problema es que el mensaje de error me sale en la siguiente pantalla y cuando continuo, me lleva a la pantalla de SAP EASY ACCESS y me gustaria es que fuera a mi pantalla de selección del reporte o hacer que el mensaje de error me saliera en la primera pantalla en vez de la siguiente. Intenté colocar los mensajes de error en el evento AT SELECTION SCREEN pero el problema es que no toma en cuenta el manejo de campos que hago para ocultarlos segun el radio button.

Mi codigo para esa parte es el siguiente:

*&---------------------------------------------------------------------*
*& S E L E C T I O N - S C R E E N
*&---------------------------------------------------------------------*

selection-screen begin of block form3 with frame title text-003.
parameters:
pd radiobutton group rad1 user-command uc1, "Precio & Disponibilidad
pr radiobutton group rad1, "Lista de Precio
di radiobutton group rad1. "Disponibilidad

selection-screen end of block form3.


selection-screen begin of block form1 with frame title text-001.

parameters: centro like v_t001w-werks.
select-options:
material for mara-matnr,
grupo for v023-matkl.


selection-screen end of block form1.

selection-screen begin of block form2 with frame title text-002.
parameters:
fecha like sy-datum obligatory default sy-datum.
select-options:
org for v_tvko-vkorg ,
canal for v_tvtw-vtweg ,
lista for v_t189-pltyp,
cliente for v_tvko-kunnr.
selection-screen end of block form2.



*&---------------------------------------------------------------------*
*& A T - S E L E C T I O N - S C R E E N
*&---------------------------------------------------------------------*

at selection-screen output.

*Dependiendo de la opción que escoja el usuario se ocultan ciertos campos
loop at screen.
if di = 'X'.
if screen-name cs 'fecha' or screen-name cs 'org' or screen-name cs 'canal' or screen-name cs 'lista' or screen-name cs 'cliente'.
screen-invisible = '1'.
screen-input = '0'.
endif.
elseif pr = 'X'.

if screen-name cs 'centro'.

screen-invisible = '1'.
screen-input = '0'.

endif.


endif.


modify screen.

endloop.




*&---------------------------------------------------------------------*
*& S T A R T - O F - S E L E C T I O N
*&---------------------------------------------------------------------*
start-of-selection.

" Revisión de los campos obligatorios según la opción elegida
if di = 'X' and centro is initial.
message 'Para conocer la disponibilidad, es requerido indicar centro' type 'E'.

elseif pr = 'X' and ( org is initial or canal is initial ).
message 'Para conocer el precio, es requerido indicar organización y canal' type 'E'.

elseif pd = 'X' and ( centro is initial or org is initial or canal is initial ).
message 'Para conocer la disponibilidad y el precio, es requerido indicar centro, organización y canal' type 'E'.

endif.

Alguna idea?

Graciaaaas!
Responder Con Cita
  #2  
Viejo 03/04/09, 12:42:50
Mike Mike is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Localización: Venezuela
Mensajes: 144
Puedes hacer que el mensaje de error tipo E sea tipo I y luego de la instrucccion del mensaje colocas un exit. de esa manera te saldra el mensaje y volveras a la pantalla de seleccion.


*&---------------------------------------------------------------------*
*& S T A R T - O F - S E L E C T I O N
*&---------------------------------------------------------------------*
start-of-selection.

" Revisión de los campos obligatorios según la opción elegida
if di = 'X' and centro is initial.
message 'Para conocer la disponibilidad, es requerido indicar centro' type 'I'.
EXIT.
elseif pr = 'X' and ( org is initial or canal is initial ).
message 'Para conocer el precio, es requerido indicar organización y canal' type 'I'.
EXIT.
elseif pd = 'X' and ( centro is initial or org is initial or canal is initial ).
message 'Para conocer la disponibilidad y el precio, es requerido indicar centro, organización y canal' type 'I'.
EXIT.
endif.

y si quieres que se vea el icono del triangulo rojo en el mensaje agregale display like 'E'. asi:

message 'Para conocer la disponibilidad, es requerido indicar centro' type 'I' display like 'E'.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 04:34:01.


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