Вы находитесь на странице: 1из 4

Validaciones FI

Las validaciones consisten en varios pasos (se puede tener hasta 999 pasos), cada uno con 3 partes:
Condicin (Prerequisite)
Verificacin (Check)
Mensaje (Message)
Si el paso de condicin es verdadero, se ejecuta la verificacin. Si el resultado de la verificacin es
falso, el sistema muestra un mensaje.
1 Creacin de la Validacin:
IMG: Gestin financiera (nuevo) Parametrizaciones bsicas de gestin financiera (nuevo)
Herramientas Validacin/Sustitucin Validacin en documentos contables
En :nuevas entradas
Ingresamos:
El cdigo de la sociedad
En la columna Evento: si ser a nivel de cabecera de documento, de posicin o todo
Hacer doble clic, se pasa a la siguiente pantalla:
Para crearla seleccionar :nueva validacion
Ingresar la clase de mensaje y continuar:
Se ingresa un nombre y una descripcin.
Luego creamos un paso, seleccionamos el botn : nuevo paso
Ingresamos una descripcin para el paso 001. Luego completamos las tres partes del paso. Luego
realizamos clic en : condicion
Doble clic en : cabecera de documento
Doble clic en Fecha de Documento.
El sistema lo va colocando en la parte superior. Luego clic en : =
Se habilita la opcin de Constante, si quisiramos realizar una validacin a nivel de lnea de posicin,
podramos ingresar aqu un nmero de cuenta. Ahora seleccionamos que sea igual a la Fecha de
Contab:
Luego elegimos . verificar
Doble clic en : estructura BKPF: CABECERA DE DOCUMENTO

Seleccionamos los campos. Luego pasamos a definir el mensaje. Desde el men seleccionamos:
ENTORNO----actualizar mensaje
Completamos el texto del mensaje.
Ingresar el nmero de mensaje y las variables del mensaje. Guardar la validacin.
Luego volver a la pantalla inicial y activa la validacin.
http://www.forosap.com/showthread.php?t=165

Validaciones - OB28
Las validaciones estn regidas por Sociedad y por evento.
Evento:
1.

Cabecera de documento

2.

Posicin de documento

3.

Documento Completo

Grado de activ. significa si est activo o no (1 = ACTIVO)

Ah vemos todos los pasos, cada uno con sus respectivas condiciones, verificaciones y mensajes.
En el caso de necesitar usar un user exit, en la solapa user exit. seleccionamos una y le damos al botn de
visualizar cdigo.

Necesitamos crear el modulo dentro del siguiente FORM


*----------------------------------------------------------------------*
*
FORM GET_EXIT_TITLES
*
*----------------------------------------------------------------------*
*
returns name and title of all available standard-exits
*
*
every exit in this formpool has to be added to this form.
*
*
You have to specify a parameter type in order to enable the *
*
code generation program to determine correctly how to
*
*
generate the user exit call, i.e. how many and what kind of *
*
parameter(s) are used in the user exit.
*
*
The following parameter types exist:
*
*
*
*
TYPE
Description
Usage
*
* -----------------------------------------------------------*
*
C_EXIT_PARAM_NONE Use no parameter
Subst. and Valid. *
*
except B_RESULT
*
*
C_EXIT_PARAM_CLASS Use a type as parameter Subst. and Valid *
*----------------------------------------------------------------------*
* --> EXIT_TAB table with exit-name and exit-titles
*
*
structure: NAME(5), PARAM(1), TITEL(60)
*----------------------------------------------------------------------*
FORM get_exit_titles TABLES etab.
DATA: BEGIN OF exits OCCURS 50,
name(5) TYPE c,
param LIKE c_exit_param_none,
title(60) TYPE c,
END OF exits.
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* PLEASE DELETE THE FIRST '*' FORM THE BEGINING OF THE FOLLOWING LINES *
*
IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM:
*
* EXITS-NAME = 'U101'.
* EXITS-PARAM = C_EXIT_PARAM_CLASS.
* EXITS-TITLE = TEXT-100.
"Posting date check
* APPEND EXITS.
exits-name = 'U100'.
exits-param = c_exit_param_none.
"Complete data used in exit.
exits-title = text-101.
"Posting date check
APPEND exits.
REFRESH etab.
LOOP AT exits.
etab = exits.
APPEND etab.
ENDLOOP.
ENDFORM.

"GET_EXIT_TITLES

Ahora creamos la subrutina U100


*---------------------------------------------------------------------*
*
form U941
*
*---------------------------------------------------------------------*
* Valida las retenciones de la clase de doc.
*---------------------------------------------------------------------*
* <-- b_result t = true f = false
*
*---------------------------------------------------------------------*

FORM U941 USING B_RESULT.


DATA: l_ind TYPE WITH_ITEM-WT_WITHCD VALUE 'RB'.
B_RESULT = B_TRUE.
SELECT SINGLE * FROM WITH_ITEM
WHERE WT_WITHCD = l_ind.
IF sy-subrc <> 0.
B_RESULT = B_FALSE.
* Mensaje de error
MESSAGE E067(z1) WITH BKPF-BLART l_ind.
Endif.
CLEAR WITH_ITEM.
ENDFORM.
Si necesitamos crear SET ( rangos o juegos de datos) los creamos con la transaccin GS01
Creamos el SET, guardamos y manualmente hay que agregarlo a Orden de transporte al igual que las
validaciones.
Para transportar stas hay que posicionarnos sobre la validacin, Menu Validacin -> Transportar.

http://ramgv-sap.blogspot.com/search/label/Validacion%20OB28

Transaccin: GGb1
- Creo el paso para el caso que quiero.
- Elijo los campos que voy a sustituir
- Decido si se va a cambiar por una constante, por un exit o se le va a asignar otro campo.
- Elijo el exit que corresponde (debe estar creado en el formpool XXRGGBS000)
- Establezco los prerequisito, incluso se pueden usar SETs.
Los exits se declaran en el programa RGGBS000.(solo los user-exit standar)
Este programa se asigna en la tabla T80D. (se modifica a travs de la vista v_t80d)
Transaccin OBBH.
http://www.forosap.com/showthread.php?t=180

Вам также может понравиться