![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP FI Sustituciones y validaciones
SAP FI Sustituciones y validaciones
![SAP FI Sustituciones y validaciones SAP FI Sustituciones y validaciones](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/405.jpg)
SUSTITUCION Y VALIDACION
1. Validación: Permite verificar determinados valores antes de registrar documentos.
El sistema realiza la verificación y en caso de que no cumpla emite un mensaje de advertencia o error el de error no se graba.
2. Sustitución: Remplaza el valor de un determinado campo.
3. CARACTERÍSTICAS DE LAS VALIDACIONES Y SUSTITUCIONES
1 - DEFINIR ÁREA DE APLICACIÓN
- Se debe decidir a qué área de aplicación se aplicará la validación o sustitución.
- Área de aplicación: es donde se utiliza la validación y/o sustitución, es decir en qué módulo. Las áreas de aplicación que utilizan estas funcionalidades son:
1) FI (gestión financiera),
2) CO (contabilidad de costes),
3) AM (contabilidad de activos fijos),
4) SL (libros especiales),
5) CS (consolidación, sólo validaciones),
6) PS (sistema de proyectos),
7) RE (bienes inmuebles),
8) PC (contabilidad de centros de beneficio, sólo sustituciones).
- Cada aplicación define las estructuras disponibles y habilita los campos para la sustitución necesaria.
2 - SELECCIONAR EVENTO
- Se debe seleccionar el evento correcto para la validación y/o sustitución.
- Eventos: son lugares específicos de una aplicación que define la ubicación exacta donde se lleva a cabo una validación o sustitución.
- Cabecera de documento: validar/sustituir los datos de cabecera de un documento. Ejemplo: que la fecha de documento no sea mayor a la fecha de contabilización.
- Posición de documento: validar/sustituir los datos de una posición de documento. Ejemplo: si se trata de una cuenta de acreedor o deudor, que se complete un determinado campo con valores específicos.
NOTA: para armar la validación en un evento de posición de documento, se puede utilizar los datos de cabecera. Ejemplo: si la clase de documento es "KG" y el tipo de cuenta es de "acreedor", entonces el campo "Referencia Factura" debe tener un valor.
- Documento completo: se tienen en cuenta todas las posiciones de un documento para realizar la validación. Sólo se pueden utilizar aquellos campos "numéricos" con los que se puede ejecutar principalmente cálculos matemáticos. Ejemplo: validar que la suma de un determinado grupo de cuentas no sea menor a otro grupo de cuentas. Se pueden utilizar los siguientes operadores para indicar validaciones o sustituciones:
TOT () = total del documento,
MED () = media del documento,
MAX () = valor máximo de todas las líneas del documento,
GRUPO = compara un grupo de totales con otro.
Un Ejemplo, de validaciones de documento completo seria validar que la suma de un determinado grupo de cuentas no sea menor a otro grupo de cunetas.
3 - DEFINIR LA VALIDACIÓN / SUSTITUCIÓN
- Se deben crear pasos que contiene: Condiciones, Verificación y Mensaje.
4 - ASIGNACIÓN DE LA VALIDACIÓN / SUSTITUCIÓN
- Se debe asignar la validación y/o sustitución a una unidad organizativa apropiada. Ejemplo: en FI a la sociedad FI, en CO a la sociedad CO.
- Una validación/sustitución puede ser válida para varias sociedades al mismo tiempo.
5 - ACTIVACIÓN DE LA VALIDACIÓN / SUSTITUCIÓN
- Se debe activar la validación y/o sustitución para el evento correcto.
- Grado de activación
- 0: inactivo.
- 1: activo para la ventana de diálogo y segundo plano (batch input).
- 2: activo excepto para las entradas que se realicen por bath input.
4. CONFIGURACIÓN
4.1 VALIDACIONES
TX: OB28 o al menú customizing
Ruta: IMG/Gestión financiera (nuevo)/Parametrizaciones básicas de gestión financiera (nuevo)/Herramientas/Validación-sustitución/Validación en documentos contables.
- Una validación cuenta con "pasos" o etapas. Cada paso que se cree es una nueva validación.
CONDICIÓN
- Por medio de la condición se establece cuándo se iniciará una validación.
- Si la condición se cumple, entonces se pasa a la siguiente actividad "Verificación”. Ejemplo: si la clase de documento se encuentra dentro del set de datos ZFACTURAS_DEUDOR y la clase de cuenta es igual a "D" (cuenta de deudor), entonces SAP realizará una validación.
- Ejemplo: BKPF-BLART IN ZFACTURAS_DEUDOR AND BSEG-KOART = 'D'
VERIFICACIÓN
- Establece qué es lo que SAP debe verificar. Ejemplo: si se cumple la condición, el campo "Asignación" debe ser distinto de blanco (no vacío).
- Si la verificación es satisfactoria se puede continuar con la operación sin siquiera enterarse de que SAP hizo una validación.
- Si la verificación no se cumple, SAP mostrará un mensaje que puede ser de error o de advertencia.
- Ejemplo: BSEG-ZUONR <> ' '
MENSAJE
- Se pueden crear mensajes específicos para que el usuario entienda qué es lo que debe corregir, de modo que la validación le permita seguir registrando el documento.
- Ejemplo Para la clase de doc <BKPF-BLAR> completar el campo Asignación (número mensaje Z1 024).
CASOS DE USO DE VALIDACIONES
- Generalmente las validaciones son muy específicas de cada empresa y depende de puntos de control que se quieren incluir en determinadas registraciones.
- Que en determinadas transacciones no se utilizan ciertas cuentas. Ejemplo: en las transacciones de pagos manuales no pueden utilizarse cuentas de resultados.
- Que se complete de manera obligatoria un dato. Ejemplo: en la transacción F-40 y la clase de documento es "ZZ", se tiene que completar el "banco propio" en las posiciones manuales de bancos. Este tipo de validación es muy común cuando no se puede resolver por status campo porque la cuenta es la misma, sólo que en determinadas operaciones debe llevar un dato obligatorio. Entonces, en las condiciones se especifica cuál es la clase de documento que debe tener y cuál es la transacción en la cual se debe operar para que se pueda cumplir la validación y que el dato sea solicitado como obligatorio.
- Que se validen los usuarios autorizantes, ya que, para desbloquear una factura en FI, simplemente hay que entrar a la transacción FB02 y ésta la pueden tener muchos usuarios, pero si sólo se quiere determinar que el campo "bloqueo" lo modifiquen determinadas personas, se puede hacer una tabla Z donde se ingresen los usuarios autorizantes y SAP valide que los usuarios que quieran modificar el bloqueo estén en la tabla Z.
4.2 SUSTITUCIONES
- Se accede a la transacción OBBH o al menú customizing IMG/Gestión financiera (nuevo)/Parametrizaciones básicas de gestión financiera (nuevo)/Herramientas/Validación-sustitución/Sustitución en documentos contables.
CONDICIÓN
- Por medio de la condición se establece cuándo se iniciará la sustitución de un campo.
- Si la condición se cumple, entonces se sustituye el campo que se define en la próxima actividad "Campos a sustituir".
- Ejemplo: Sociedad = '3000' AND Clase documento = 'SK'
CAMPO A SUSTITUIR
- Se especifica cuál es el campo que se deberá sustituir.
- Se especifica de qué manera se sustituirá, es decir, cómo se obtendrá el valor con el cual se sustituirá el campo.
- Ejemplo campo "Referencia" se sustituye por campo BKPF-BUKRS y campo "Txt.cab.doc." se sustituye por valor constante mov. banco cja. central
5. EDITOR DE FÓRMULAS
- Proporciona una interfaz de fácil manejo para indicar sentencias lógicas y aritméticas.
- Dependiendo del contexto y de los requisitos, existen diferentes pulsadores disponibles con lo que se puede indicar las fórmulas.
- SAP sólo permite que se indiquen sentencias correctas, de manera que no aparezcan errores cuando se utilicen las reglas.
- La ventaja de los operadores es que muestra la lista de campos y tablas disponibles, por lo que no es necesario conocer todos los campos y tablas.
NOTA: el operador TRUE significa que es válido siempre, es decir, si se crea una condición que tenga el operador TRUE la validación se realizará SIEMPRE.
6. MENSAJES
- Las validaciones tienen por objetivo mostrar un mensaje al usuario para que tome una determinada acción, para lo cual se deben crear estos mensajes.
- Los mensajes siempre se crean bajo una clase de mensaje.
- Desde la misma transacción de validación se puede acceder a crear un nuevo mensaje, o bien, a través de la transacción SE91.
- Se define la Clase de mensaje: es la clase en la cual se creará el mensaje. Ejemplo: Z1.
- Se define el Número de mensaje: número que identifica el mensaje. Ejemplo: 024.
- Se define el Texto del mensaje. Ejemplo: Para la clase de doc & completar el campo Asignación.
- A crear mensajes se pueden crear VARIABLES que se identifican con el símbolo &, luego se le asignará un campo a la variable y al momento de mostrar el mensaje al usuario, el mensaje mostrará el valor de dicha variable. Ejemplo: en el mensaje 024 la variable corresponde a la clase de documento; si el usuario está registrando un movimiento con la clase de documento "DR", el mensaje de error será: "Para la clase de doc DR completar el campo Asignación".
- Se define el Tipo de mensaje: determina cuáles son las consecuencias de que la validación no haya sido exitosa. Los posibles valores son:
- Tipo "A" - cancela la transacción: se vuelve a la pantalla SAP Easy Access.
- Tipo "E" - error: el sistema muestra el mensaje, se soluciona el error y se puede continuar.
- Tipo "W" - advertencia: a pesar del mensaje de la validación se puede continuar con la operación.
- Tipo "I" - información: el sistema muestra el mensaje y se puede continuar con la operación.
7. SET DE DATOS
- Son muy útiles para utilizar en las validaciones o sustituciones.
- Permite generar un grupo con múltiples valores. Ejemplo: en lugar de escribir "Si la clase de documento es DA o DR o DG", se puede crear un set de datos donde se ingresan todos los valores que debe tener en cuenta la validación.
- Al ser una transacción de usuario se puede mantener en cada mandante. Ejemplo: es una gran ventaja porque si, por el contrario, en la validación se escribiera cada una de las clases de documentos involucradas, ante una modificación se debe realizar en el ambiente de desarrollo y luego transportarlo.
- En el set de datos se pueden agregar o borrar nuevas entradas con gran facilidad y es administrada por el usuario.
- Se utilizan la transacción: GS01 = crear set de datos, GS02 = modificar set de datos y GS03 = visualizar set de datos. Se puede acceder por estas transacciones o desde el menú customizing.
- Se define la Clave: es libre. Se recomienda que comience con Z (definido por el usuario) para diferenciar del set estándar de SAP y de manera a encontrarlo rápidamente ante una búsqueda ya que existen una gran de sets creados por SAP.
- Se define la Tabla. Ejemplo: BKPF (datos de cabecera de FI) si se desea crear un set de clases de documentos.
- Se define el Tipo de set: básico, unidimensional, multidimensional o de ratios. Los tipos básicos y unidimensionales exigen la indicación de un campo de tabla. Ejemplo: básico.
- Se define el Campo de la tabla. Ejemplo: BLART que identifica las clases de documento.
- Se define el Texto descriptivo: identifica fácilmente para qué se utiliza el set de datos.
- Una vez creado el set, se ingresan los valores que correspondan. Los valores se pueden ingresar por rango o como lista individual.
- Se presiona el ícono "Guardar".
NOTA: el set de datos se crea en cada mandante por medio de la transacción de usuario, también los sets se pueden exportar de un mandante e importar en otro mandante. Como los usuarios mantienen los sets en el sistema de producción, si se llegara a incluir en una orden de transporte se pisaría toda la información de los sets del sistema de producción. Cuando se configura una validación o sustitución y se incluye en una orden de transporte, el sistema pregunta si también se desea incluir los sets de datos. NUNCA HAY QUE INCLUIR LOS SETS EN UNA ORDEN DE TRANSPORTE porque los sets de datos no sólo se crean para validaciones y sustituciones, sino que hay muchos programas que los utilizan y si lo incluimos pisaríamos todos los datos que contienen los sets en producción.
8. VÍDEO DEMOSTRATIVO
8.1 CONFIGURACIÓN DE VALIDACIÓN
- Se ingresa al menú customizing IMG/Gestión financiera (nuevo)/Parametrizaciones básicas de gestión financiera (nuevo)/Herramientas/Validación-sustitución/Validación en documentos contables.
- En la siguiente pantalla se visualizan las validaciones existentes para las sociedades y qué eventos se han creado.
- Se hace doble clic en la validación "CABECER" en el cual aún no se ha creado ninguna validación.
- Se presiona el ícono "Nuevo paso" para crear una validación donde en determinadas clases de documentos la fecha de documento sea igual o menor a la fecha de contabilización.
- Se define el Texto identificatorio de la validación. Ejemplo: Fecha documento = Fecha contabilización.
- Se presiona el ícono "Condición" ubicado a la izquierda de la pantalla.
- Se especifica que la validación deberá realizarse para ciertas clases de documentos, para lo cual se empieza haciendo doble clic en el nombre técnico "Estructura BKPF" (datos de cabecera).
- Se hace doble clic en el campo correspondiente "BKPF-BLART" (clase de documento).
- En el editor de fórmulas se presiona el ícono = (igual).
- Se presiona el ícono "Constante" en el editor de fórmulas para poder ingresar un valor fijo para el campo clase de documento.
- Se selecciona en la pantalla emergente la clase "DR". Se presiona el ícono "Continuar".
- Se ingresa un nuevo valor para el campo, se presiona entonces el ícono OR.
- Se hace doble clic en "BKPF-BLART" (clase de documento).
- En el editor de fórmulas se presiona el ícono = (igual).
- Se presiona el ícono "Constante".
- Se selecciona en la pantalla emergente la clase "DG". Se presiona el ícono "Continuar".
- Se presiona el ícono "Verificación" ubicado a la izquierda de la pantalla para establecer que el campo fecha de documento tiene que ser menor o igual al campo fecha de contabilización.
- Se hace doble clic en el nombre técnico "Estructura BKPF".
- Se hace doble clic en el campo "BKPF-BLDAT" (fecha documento).
- En el editor de fórmulas se presiona el ícono <= (menor o igual).
- Se hace doble clic en el campo "BKPF-BUDAT" (fecha de contabilización).
- Se presiona el ícono "Mensaje" ubicado a la izquierda de la pantalla para definir qué mensaje recibirá el usuario si no cumple con la verificación.
- Para crear o modificar un nuevo mensaje se presiona el ícono "Modificar mensajes" (lápiz).
- Se busca un número que esté disponible para crear el propio mensaje. Se selecciona "025" y se ha presiona el ícono "Actualizar (1 por 1)" ubicado en la barra de menú.
- Se ingresa el texto del mensaje: Para la clase de Doc & y la fecha debe ser menor o igual fecha contabilización.
NOTA: los mensajes pertenecen siempre a una clase de mensaje, en el Ejemplo se trata de la clase Z1.
- Se presiona el ícono "Guardar" y con la flecha se vuelve a la pantalla de validaciones.
- Se selecciona el tipo de mensaje "E" y el número de mensaje que emitirá la validación "025".
- Como el mensaje tiene una variable (&), en el área "variables mensajes" se escribe el campo que representa la variable. BKPF-BLART. Se presiona Enter.
- Se selecciona la carpeta "Paso 001" para poder grabar la validación, además se podrá visualizar todo lo ingresado.
- Se presiona el ícono "Guardar" y se sale de la transacción.
- Antes de probar la validación se debe activar, por lo cual en la pantalla de la transacción se selecciona el grado de activación "1".
NOTA: la activación de la validación se realiza una sola vez, si luego se crean nuevos pasos ya no será necesario activar.
- Se presiona el ícono "Guardar" y se especifica la orden de transporte.
- Se ingresa a la transacción FB70 para probar, se ingresa el cliente y una fecha superior (21.04.2012) a la fecha de contabilización (20.04.2012). Cuando se presiona Enter para continuar aparece el mensaje configurado.
- Se ingresa a la transacción OB28 para cambiar el tipo de mensaje, en lugar de "error" (E) se modificará a "cancelación" (A).
- Se prueba en la FB70 y al verificar emite el mismo mensaje, pero sólo con la opción de salir de la transacción.
8.2 CONFIGURACIÓN DE SUSTITUCIÓN
- Se ingresa a la transacción OBBH y se presiona el ícono "Entradas nuevas".
- Se define la sociedad (5000) y el evento para posición (2 - Sustitución posición).
- Se hace doble clic sobre la sustitución creada POSIC.
- Se presiona el ícono "Nuevo paso" y se abre una ventana donde muestra todos los campos que son posibles sustituir. Se cancela la ventana para definir primero las condiciones. Se creará una sustitución de deudores para que los comprobantes sean bloqueados para el pago, la cual estará dada también por la clase de documento, es decir, si se ingresan las clases que están dentro de la condición para sustitución, entonces se llevará a cabo la sustitución.
- Se define el Texto identificatorio de la validación. Ejemplo: Bloqueo de pago deudores.
- Se presiona el ícono "Condición" ubicado a la izquierda de la pantalla.
- Se hace doble clic en el nombre técnico "Estructura BKPF" (datos de cabecera).
- Se hace doble clic en el campo correspondiente: "BKPF-BLART" (clase de documento).
- Se presiona el ícono Opciones/Descripciones breves para que en vez de visualizar el nombre técnico se visualice la descripción del campo al momento de configurar las condiciones de sustitución o validación
- La condición será que, si la clase de documentos se encuentra dentro de un set de datos, entonces se cumple la condición.
- En el editor de fórmulas se presiona el ícono "IN".
- Se presiona el ícono "Índice de sets" para seleccionar el set que corresponda (ZFACTURAS_DEUDOR).
- Se ingresa un nuevo campo en la condición (clase de cuenta) cuyo valor debe ser igual a "D" (posiciones de deudor) para que la sustitución no se realice en todas las posiciones del documento, se presiona entonces el ícono AND.
- Se presiona el ícono "Volver" (flecha verde) para seleccionar la tabla BSEG (segmento de documento de contabilidad). Se hace luego doble clic en BSEG-KOART (clase cuenta).
- En el editor de fórmulas se presiona el ícono = (igual).
- Se presiona el ícono "Constante".
- Se selecciona en la pantalla emergente la clase "D". Se presiona el ícono "Continuar".
- Se presiona el ícono "Sustituciones" ubicado a la izquierda de la pantalla para elegir el campo a sustituir (bloqueo de pago).
- Se presiona el ícono "Agregar" (+) y se abre la ventana con los campos disponibles para sustitución.
NOTA: hay veces que no están todos los campos en la ventana "Campos para sustituciones", existe una transacción donde se define qué campos pueden o no sustituirse.
- Se hace doble clic en BSEG-ZLSPR (bloqueo pago).
- Se selecciona una de las tres opciones para sustituir: 1) Valor constante: se debe completar el valor con el cual se sustituirá el campo, 2) Exit: se debe seleccionar el FORM que contiene la rutina de código ABAP, ésta opción se utiliza generalmente cuando el valor a sustituir necesita cierta lógica que no se puede realizar con las demás opciones, 3) Asignación campo-campo: se debe seleccionar el campo con el cual se sustituirá.
- En el Ejemplo se selecciona "valor constante" y se incluye el valor fijo "A".
- Se selecciona la carpeta "Paso 1" y se presiona el ícono "Guardar".
HABILITACIÓN DE CAMPOS A SER SUSTITUIDOS
- Se accede a la transacción SM30 que permite la actualización de tablas o vistas.
- Para poder habilitar más campos se accede a la tabla VWTYGB01.
- Se selecciona el ícono "Actualizar". Esta tabla posee los siguientes campos:
- Campo Categoría: en FI siempre se utiliza la categoría 9 "Cabecera doc. y posición doc. (FI)".
- Campo Tipo: se refiere a los campos que pueden ser sustituidos. Existen 3 opciones: A= se refiere a campos para tipo de clase "B" o "S". B= se refiere a campos en reglas o condiciones. S= se refiere a campos que pueden ser sustituidos.
- Campo Tabla: nombre de la tabla. Ejemplo: BSEG.
- Campo: nombre del campo
- Campo Excluir: con tilde marcado no figura en la lista de campos disponibles, por lo que si se necesita el campo se debe des tildar.
- Se presiona el ícono "Guardar" y se especifica la orden de transporte.
- Se ingresa a la FB70 para probar la configuración de bloqueo de pago ingresando la clase de documento "DS". Se procede a visualizar el documento contabilizado, se hace doble clic en la posición de deudor y se constata que el campo bloqueo de pago ha sido sustituido por "A". Se realiza la misma prueba con la clase de documento "DR" y el campo no fue sustituido porque no cumplía con la condición.
- Se accede a la transacción GS03, se selecciona el set de dato ZFACTURAS_DEUDOR, se presiona Enter.
- Se visualiza que el set de datos contiene las clases de documentos DS y DB.
TABLAS IMPORTANTES
- GB92: contiene las validaciones creadas en el sistema.
- GB93: contiene las sustituciones creadas en el sistema.
- VWTYGB01: es la tabla con vista de actualización que permite incluir/excluir campos para la sustitución.
 
 
 
Sobre el autor
Publicación académica de Deisy Isabel Sarmiento Rodriguez, en su ámbito de estudios para la Carrera Consultor en SAP FI.
Deisy Isabel Sarmiento Rodriguez
Profesión: Tecnologa en Contabilidad y Finanza - Colombia - Legajo: XQ96K
✒️Autor de: 101 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP FI Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Mi nombre es deisy sarmiento consultor funcional sap fi jr tecnóloga en contabilidad y finanzas. mis expectativas frente a la carrera son afianzar mis conocimientos con la mejor actitud y aptitud.
Certificación Académica de Deisy Sarmiento