(FI) , Proyectos(PS). Después de un tiempo sin publicar (casi 5 meses), ya iba siendo hora de retomar el blog y ofreceros nuevos contenidos. En esta entrada y en la próxima voy a hablaros sobre las sustituciones y validaciones. Son una funcionalidad Sap sobre la que he recibido muchas consultas y creo que puede ser un tema de interes. Las sustituciones son un mecanismo que nos permiten, en los módulos de Finanzas, Controlling o Proyectos (ademas de en otros componentes) realizar la sustitución de valores en el momento de realizar la contabilización de apuntes contables, las imputaciones de costes o en la definición de los datos maestros que componen la estructura de los proyectos y los elementos que los estructuran (Peps). Sustitucion en Finanzas
Las transacciones para parametrizar las sustituciones son las siguientes:
1. Controlling: transacción OKC9. Se transportan con la transacción OKE9.
2. Finanzas: transacción OBBH. Se transportan con la transacción GCT0. 3. Proyectos: transacción OPSN. Se transportan con la transacción GCT0 4. Todos los modulos: desde la transacción GGB4 también podemos acceder de forma global a las sustituciones, además de las disponibles en otros componentes de Sap diferentes a los mencionados. Basicamente, a las sustituciones las podriamos definir como reglas de reemplazo de valores que se completan cuando se cumplen determinadas condiciones. Las sustituciones se componen de diferentes pasos (seria cada una de las secuencias de cambio de valores definidas dentro de la sustitución) en los que podemos realizar la sustitución de un valor (campo) por una constante, una asignación campo-campo o bien una exit, donde realizar la logica de programación necesaria para determinar los valores a sustituir. Ademas, a cada uno de estos pasos se le pueden indicar condiciones, de forma que solo se realizara si se cumplen estas. Dentro de las sustituciones se pueden reemplazar los valores de determinados campos (los que el estandar determina), no todos. Como ejemplos básicos de sustituciones, podemos señalar:
1. Controlling: modificar la lógica de imputación al realizar
contabilizaciones. Por ejemplo, obligar a que cuando se realiza un movimiento desde determinada transacción siempre se impute a un centro de coste determinado, o bien cuando se contabilice contra una determinada cuenta contable. O forzar a que el centro de beneficio sea un valor determinado en condiciones concretas, etc. 2. Finanzas: modificar determinados valores cuando estamos creando apuntes contables (valores en cabecera o posicion del asiento). Por ejemplo, valores en los campos de texto, clase de coste, cebe, asignación, etc. Para sustituciones más complejas deberemos utilizar las Business Transactions Events (BTE), que se acceden desde la transaccion FIBF. 3. Proyectos: cuando estamos trabajando con el modulo de proyecto, y creamos la estructura de un proyecto, las sustituciones nos pueden permitir heredar valores de los nodos superiores de un proyecto a los inferiores (Peps), por ejemplo. O desde el nodo del proyecto al nodo de los peps. El funcionamiento de las sustituciones es similar en todos los módulos, aunque con alguna peculariadad no demasiado destacable. En nuestro caso, vamos a ver un ejemplo sencillo de sustitución en el módulo de Controlling.
Ejemplo de sustitución en Controlling.
Accedemos a la funcionalidad bien desde la ruta de customizing (Controlling –> Controlling General –> Logica de imputacion –> Definir sustitución ) o desde la transacción OKC9. Los pasos para crear una nueva sustitución son los siguientes:
1) Crear una entrada en la pantalla inicial para la sociedad CO donde
vayamos a definir la sustitución. Es importante definir el evento con el que estamos trabajando, ya que este determinara el objeto que se esta tratando y los campos disponibles para la sustitución. Por ejemplo, tenemos disponibles los valores: 0001 Posición de documento 0010 Orden 0060 Ledger reconciliación: Determ.ctas. 0100 Cabecera documento 0500 Imputación: Emisor-Receptor 0510 Imputación: Emisor 0520 Imputación: Receptor En nuestro caso, vamos a realizar una sustitución por posición del documento de CO, y seleccionaremos el valor 0001.
2) Creación de la sustitucion propiamente dicha: una vez creada la
entrada en el punto 1, accederemos a la pantalla de detalle de la sustitución, donde seleccionaremos el icono para crear la sustitución. Le asignaremos un nombre y una descripción y grabaremos los valores. 3) Asignación de la sustitución creada a la sociedad CO y activación: volvemos a la pantalla inicial. Indicaremos para nuestra sociedad CO en el campo Sustitución el valor de la que acabamos de crear. Igualmente, para que una vez definida este activa, indicaremos en el campo Activo el valor 1. Grabamos los valores y ya podremos continuar con la definición de los pasos de sustitución. 4) Creación de los pasos que componen la sustitución: accedemos de nuevo al detalle de la sustitución, seleccionando el icono Paso para crear una nueva secuencia de reemplazo de valores. En nuestro ejemplo, queremos que en determinada operación contable se sustituya el centro de coste por uno determinado. En concreto, cuando se este contabilizando contra una cuenta contable especifica en una sociedad determinada. Por tanto, al crear el paso seleccionare el campo COBL-KOSTL que representa al centro de coste. La sustitución sera siempre con un valor constante, seleccionando por tanto dicho metodo de sustitucion (pudiendo ser también la sustitución por el valor de otro campo o bien una exit de programación). En el paso de la sustitución podemos indicar también una condición, que determinará que, en el caso de cumplirse, se llevara a cabo la sustitución. Al crear la condición tenemos disponibles todos los campos que intervienen en la imputación, con un asistente para ir construyendo la condición lógica (campos, operadores, AND, OR, parentesis, etc). En la definición de condiciones se pueden utilizar valores individuales o bien conjuntos de datos (SETS, que se pueden definir desde la transacción GS02). EL uso de Sets nos puede facilitar la vida, ya que con modificar el set estaremos cambiando el comportamiento de la sustitución sin necesidad de tocarla y transportarla a todos los sistemas (Desarrollo, Calidad, Producción).
5) Transporte de la sustitución: desde la transacción OKE9 realizaremos el
transporte de la sustitución, incluyendola en una orden de transporte para llevarla a los sistemas productivos. Con unos sencillos pasos hemos conseguido personalizar el comportamiento del sistema en la lógica de imputación del modulo de Costes. Es algo muy útil y por mi experiencia os digo que se ha utilizado en todos los proyectos de implantación y de mantenimiento de Sap donde he participado. ¿Que experiencias habeis tenido en vuestras empresas utilizando las sustituciones?.