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 09/11/10, 19:46:42
risaval risaval is offline
Junior Member
 
Fecha de Ingreso: jul 2010
Mensajes: 4
validacion de datos dynpro 1000

Hola que tal a todos, antes de preguntar me puse a investigar un poco si encontre algunos temas de ayuda pero no logré entenderlo a la perfección, espero me puedan ayudar, voy comenzando en el mundo sapero en el modulo de abap y ya estoy trabajando en mi primer report, la duda que tengo es la siguiente: en la dynpro 1000 se ingresan los datos directamente ahi quiero hacer unas cuantas validaciones, primero que el parametro de entrada del campo de ejercicio (bkpf-gjahr) concuerde con el año del parametro de entrada de la fecha del documento (bkpf-bldat) y la otra validacion es que verifique los parametros de entrada en los campos bseg-lifnr-low y bseg-lifnr-high realmente esten bien ingresados y no esten al reves, espero me puedan ayudar.
Saludos y de antemano gracias
Responder Con Cita
  #2  
Viejo 09/11/10, 21:50:04
Mari.Sole Mari.Sole is offline
Senior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 121
Hola,
Me quedé con dudas con respecto a tu explicación y ante esa duda te paso una breve explicación de la opción más sencilla.

Si estás trabajando en un Reporte con Selection-Screen lo primero que puedes hacer es determinar la rutina de validacion.
Si las validaciones deben hacerse una vez que el usuario ingresó todos los parámetros de la Selection Screen al presionar F8 irá al evento START-OF-SELECTION.
Dentro de este evento deberás determinar el nombre de dicha rutina.
Ejemplo:

TABLES: Mara.
*** Selection-Screen ***
SELECT-OPTIONS s_matnr FOR mara-matnr.

***Programa ***
START-OF-SELECTION.

perform validar_datos.

END-OF-SELECTION.


FORM validar_datos.

Select matnr
From Mara
Into Table I_Mara
Where matnr IN s_matnr.

IF sy-subrc IS NOT INITIAL (ni un solo material del rango en el maestro de materiales)
Message S001(ZZ) display like 'E'. (mensaje "Material no existe"
LEAVE LIST-PROCESSING. (devuelve a la Selection Screen para que ingrese nuevos valores el usuario
ENDIF.

ENDFORM.

En tu caso debería chequear en tu validacion que los parámetros ingresados sean iguales, si son iguales que siga haciendo el resto de las validaciones y sino que muestre un mensaje avisando al usuario que debe corregir los datos de entrada.

Ejemplo de tu primera validacion:

Parameters: p_gjahr type bkpf-gjahr,
p_bldat type bkpf-bldat.

***Programa ***
START-OF-SELECTION.

perform validar_datos.

FORM validar_datos.

IF P_GHJAHR = P_BLDAT(4). (tomo los primeros 4 caracteres que es el año)

SIGO EL PROCESO SIGUIENTE.

ELSE.

Message S001(ZZ) display like 'E'. (mensaje "Texto que necesites"
LEAVE LIST-PROCESSING. (devuelve a la Selection Screen para que ingrese nuevos valores)
ENDIF.

ENDFORM.


Con respecto a la segunda validación, SAP lo hace sin especificar rutinas. Los Select-Options al estar declarados del tipo bseg-lifnr ya traen todas las validaciones correspondientes para dicho campo y no es necesario que controles que realmente está ingresando un LIFNR ni tampoco que está ingresando primero el del valor menor y luego el mayor. Eso también está en el tratamiento estandard de SAP.

Si lo que estás haciendo es un Modul Pool. Ahi el tema de validaciones tiene un tratamiento diferente. Deberías establecer las rutinas en el PBO o PAI según corresponda.

Espero te sirva la Info y si no entendí bien tu consulta, comentame con más detalle así puedo ayudarte mejor.

Saludos!
Responder Con Cita
  #3  
Viejo 10/11/10, 06:49:40
VLozano VLozano is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 124
Mira la ayuda del evento AT SELECTION-SCREEN. Si validas en el START-OF-SELECTION, el usuario ya no podrá modificar los datos, y el tratamiento de errores es mucho más complicado.
__________________
"Porque algunos sabemos que somos parte del problema"
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 15:02:32.


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