Está en la página 1de 12

Al igual que Sap nos permite personalizar nuestro sistema sustituyendo

determinados valores en los módulos de Finanzas (FI), Controlling(CO),


Proyectos (PS), etc. a través de las sustituciones (ver entradas del blog
referentes aquí y aquí), Sap nos ofrece otro mecanismo, llamado Validaciones,
que nos permite introducir en el comportamiento estándar del
sistema nuestras propias comprobaciones y una respuesta del
sistema en forma de mensaje (que podrá ser de advertencia, error,
información o cancelación).
Básicamente, las validaciones se componen de diferentes pasos que se
ejecutan secuencialmente cuando estemos utilizando los módulos
implicados. Cuando se cumple la condición de entrada a ejecutar
uno de estos pasos, se realiza la verificación indicada. Si la
verificación no se cumple, se lanza el mensaje definido en el paso de
la validación, con las características indicadas (advertencia, error,
etc.). En las validaciones también podemos utilizar la programación (Exits)
para realizar comprobaciones complejas donde deseemos utilizar código Abap.
Las transacciones asociadas para la definición de las validaciones son las
siguientes:

1. Controlling: transacción OKC7. Se transportan con la transacción


OKE9.
2. Finanzas: transacción OB28. Se transportan con la transacción GCT9.
3. Proyectos: transacción OPSI. Se transportan con la transacción GCT9
4. Todos los módulos: desde la transacción GGB4 también podemos acceder
de forma global a las validaciones, además de las disponibles en otros
componentes de Sap diferentes a los mencionados (como Activos Fijos,
Contabilidad de Centros de Beneficio – Cebes, etc).

I had a dream of connecting the ERP system with the SCADA with the PLC and get a real
time information.
I have encountered several SCADA solution on SAP, that solution follows like this;
SAP - SCADA - OPC - PLC.
My question is that, why do we need to install the OPC ?
All the necessary information (kg. meter, labour cost, electricity) is already placed in PLC.
However, quantities are expressed, kg. meter and hours, kw, in PLC.
So, in order to interpret those into amount we need another device, which is I believe,
SCADA.
So, once the all the quantities are interpreted into amount in SCADA we can transfer them
into cost centers in SAP.
What is the role of SCADA ? They can get the information from PLC directly and transfer it
to SAP ERP.
And also I assume that all the consumption go to the necessary cost centers. Am I right ?
For example;
DIRECT PRODUCTION COSTS $22
Electricity Costs $5
Labour Costs $7
Raw Material $10

Transacción GGB4 para gestionar de forma global validaciones y sustituciones

El uso de las validaciones lo podemos complementar con la utilización de los


Sets (se definen en las transacciones GS01/GS02), que nos permiten
darle una forma dinámica a estas comprobaciones. Los sets se mantienen en el
sistema productivo (no son parametrización), y se pueden utilizar dentro de las
verificaciones de forma genérica (haciendo referencia a su nombre). De esta
forma, modificando los componentes de un set podemos variar el
funcionamiento de una validación sin necesidad de estar tocando la definición
de estas y sin necesidad de estar transportando desde Desarrollo a Productivo
con cada cambio.
Ejemplo de validación en Finanzas (FI).

Nuestro cliente nos ha pedido una verificación en el sistema de forma que


determinadas cuentas contables (lista de cuentas) no puedan ser utilizadas en
las contabilizaciones usando una determinada Clase de Documento contable (la
clase de documento SA).
Los pasos que vamos a seguir para parametrizar nuestra validación en el
sistema son los siguientes:

 Creación del Set de Cuentas: con la transacción GS01 vamos a


crear un conjunto de cuentas que incluya todas las cuentas que queremos
incluir en la comprobación. Esto nos permitirá que cualquier cambio en las
cuentas a comprobar será tan sencillo como incluir o sacar una cuenta de
este grupo, sin necesidad de tocar nada mas en el sistema. Nota: los sets se
definen en cada sistema, aunque hay utilidades accesibles desde la misma
transacción GS01/Gs02 para hacer un transporte o copia entre diferentes
sistemas / mandantes (opción de menú Utilidades –> Transportar).

Creación de un Set de Cuentas (transacción GS01)

 Creación de la validación: desde la transacción OB28 crearemos


una validación del tipo 2 (posición de documento contable, en el campo
llamado Evento). En primer lugar crearemos el registro y en segundo lugar,
una vez grabado, lo activaremos introduciendo el valor 1 en el campo Grado
Actividad. También se pueden crear validaciones a nivel de cabecera de
documento contable (Evento 1) o a nivel de documento completo (Evento 3).
Crearemos una única validación donde incluiremos los diferentes pasos de
comprobación. En esta lugar de la parametrización se indica la
sociedad FI para la que queremos que la validación sea efectiva.
Podremos tener la misma validación activa en diferentes
sociedades FI.
 Creación del mensaje (texto) que se mostrará en la validación:
con la transacción SE91 crearemos un código de mensaje (dentro de una
clase de mensaje existente), donde se introducirá el texto del mensaje que
querremos mostrar cuando se cumpla la condición de la validación. Dentro
del texto se pueden incluir valores variables usando el carácter “&”.
Creación de mensajes (SE91)

 Creación del paso de validación: crearemos el paso introduciendo


los siguientes elementos:
 Condición:  es la condición previa que se ha de cumplir para que
se verifique la validación. Si las condiciones que indicamos aquí no se
cumplen, la transacción de contabilización se ejecutará correctamente y
no dará ningún mensaje de error. En nuestro ejemplo, hemos indicado la
condición:  BSEG-HKONT IN ZCUENTAS_BLOQUEADAS. Esto hará
que la verificación solo se va a lanzar si la cuenta contable del asiento esta
dentro del set que hemos definido.
 Verificación: si la condición que indicamos en este lugar no se
cumple, entonces se lanzará el mensaje correspondiente determinado en
la pestaña Mensaje. En nuestro caso, la condición indicada ha sido
BKPF-BLART <> ‘SA’. Es decir, solo cuando la clase de documento sea
SA se lanzará el correspondiente mensaje. Podríamos utilizar un truco
que sería introducir en Condición todo aquello que queremos que se
cumpla y luego en verificación introducir una condición que nunca se
cumpla (por ejemplo “1” = “2”). Esto hará que siempre se lance el
mensaje siempre que la condición se cumpla, sin tener en cuenta lo que
hay en verificación que nunca se cumple.
 Mensaje: seleccionamos el mensaje que queremos mostrar (clase de
mensaje, número de mensaje y tipo de mensaje). En nuestro caso, es un
mensaje de Error. Observar como utilizamos los campos variables que
queremos que se muestren en el mensaje (sustituirán al valor &).
 Transporte de la validación: una vez creada la validación y
verificada correctamente en el sistema de desarrollo, la transportaremos
utilizando la transacción GCT9.
La validación esta activa en el sistema. Cuando intentamos hacer una
contabilización que cumple las condiciones de la validación, nos aparecerá el
siguiente mensaje de error:
Configuración:

1. Transacción GBB1 (CO)


Esta transacción es para generar una nueva sustitución.

2. Crear user exit


Para eso se debe ir a la transacción GCX2

Se hizo copia del programa original RGGBS000.


Se agrega el siguiente código para user exit U905 nuevo para agregar en GBB1
Transporte OKE9

O la transacción GCT0

Activar sustitución OKC9

También podría gustarte