Sustituciones en Controlling (CO), Finanzas (FI), Proyectos (PS)
Sustituciones en Controlling (CO), Finanzas (FI), Proyectos (PS)
Sustituciones en Controlling (CO), Finanzas (FI), Proyectos (PS)
9 Votes
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
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 1/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
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:
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.
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:
En nuestro caso, vamos a realizar una sustitución por posición del documento de CO, y seleccionaremos el
valor 0001.
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 2/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
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.
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).
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 3/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
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).
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?.
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 4/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Anuncios
Report th i s ad Report th i s ad
Compart ir:
Like
Be the first to like this.
Relacionado
Truco 30. Validaciones en Controlling(CO), Truco 29. Sustituciones en Controlling(CO). Truco 64. Sustituciones de CO (OKC9).
Finanzas (FI) , Proyectos(PS). Usando Exits (II). Cambio de la cuenta de mayor.
En "Sap Basis" En "Abap" En "Formacion"
Esta entrada fue publicada en Formacion, Sap CO, Sap FI. Guarda el enlace permanente.
Ya me genere un sustitución como indicas en estos pasos, pero siguen sin funcionar, ya entra a la sustitucion y tengo un break-
point para ver los movimientos.
Mi sustitucion es para cambiar una cuenta el centro definido por default en la OKB9 para una cuenta de mayor, pues te
comento entra mi proceso y toma los datos del centro de correcto y los anexa a la tabla BSEG. Pero cuando se graba salen los
registros a esta cuenta al centro definido por la OKB9.
La sustitucion esta creada esta creada en la OBBH y esta activada ya que si entra, la sustitucion esta ligada a un exit el cual
hace el cambios el tipo de evento es el 2 posicion de documento.
Que otro paso tengo que generar o me falta para que actualice el registro.
Responder
La OBBH es la sustitucion de FI. Aunque tu indiques ahí un valor, cuando se ejecuta la contabilización, el valor
indicado por ti es sustituido por los valores de la OKB9.
Lo que tienes que hacer es hacer la sustitucion utilizando las sustituciones de CO (transacción OKC9). Lo que indiques
aquí primara sobre lo parametrizado en la OKB9.
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 5/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Y recuerda, en la OKC9 siempre hay que activar la sustitucion poniendo el valor 1 en la pantalla principal (puedes
seguir el ejemplo descrito en el blog). Yo acabo de montar una sustitucion similar a la tuya y tiene que funcionarte sin
problema.
Responder
saludos
Responder
Buen dia:
Viendo esto pues veo que te equivocaste con la transacción OKC9 en lugar de la OKE9(esta espa para transportar la
sustitucion.)
Responder
Corregido, gracias.
Responder
Pingback: Truco 29. Sustituciones en Controlling(CO). Usando Exits (II). « Notas y trucos SAP (Bitacora)
Pingback: Truco 30. V alidaciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). « Notas y trucos SAP (Bitacora)
YEKA dijo:
8 enero, 2013 en 21:53
Hola como puedo generar una sustitucion del campo WERKS necesito que lo que imputen en el campo XREF1 quede en el
WERKS
Responder
Hola Yeka:
El campo WERKS es el centro, no creo que tenga sentido sustituirlo por el valor del XREF1. De todas formas,
tendrias que crear una sustitucion de FI (transaccion OBBH) y asignarla a la sociedad Fi que desees.
Responder
YEKA dijo:
9 enero, 2013 en 21:26
Hola Roberto,
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 6/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Gracias por tu respuesta pero ya intente por alli y no se pq el campo werks no viene en la lista de campo de la
bseg
Es lo que intentaba decirte es mi respuesta. El campos WERKS es el centro, es un dato de unidades organizativas y
Sap lo tiene protegido para que no se sustituya. Tiene su logica.
Un saludo.
Responder
YEKA dijo:
10 enero, 2013 en 15:24
Ok, te explico lo que realmente necesito y se me ocurrio por sustitución pero ya veo que por ahi no se puede…
el cliente necesita que en el extracto electronico del banco se suba el dato del centro ya que actualmente el
TXT que envía el banco trae la información) el problema es que la FEBEP no trae el campo WERKS (centro) y
por ahora en la tabla lo dejamos en el XREF1 pero lo que necesito es que al momento de generar la
contabilización por la trx FF_5 el asiento contable le asigne el WERKS tomando el dato que deje en la tabla
FEBEP en el XREF1,
saludos
Hola de nuevo:
Prueba a hacerlo utilizando las BTE (Business Transaction Events). En esta entrada del blog:
https://saptricks.wordpress.com/2011/07/17/truco-15-anadir-nuevos-campos-en-el-informe-de-partidas-
abiertas-de-fi/
Puse un ejemplo de como utilizarlas. Tendras que localizar el evento para la grabacion del apunte (no recuerdo el
codigo) e intentar si por codigo abap ahi si te deja hacer el cambio que quieres.
Espero por lo menos haberte dado una pista, no estoy seguro que se pueda hacer.
Responder
Buenas tardes,
indicare lo que necesito para saber cual seria el proceso indicado:
Cuando se hacen los consumos por el Movmiento 261 (Contra Orden de Mtto ) el sistema imputa el CeCo indicado en la Orden
junto con la Cuenta relacionada en la OBYC, debido a que alli solo es posible poner una sola cuenta, necesitamos que: Si el
CeCo = MXX y la cuenta = 2XX cambiar la cuenta por 1XX.
Hola Camilo:
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 7/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Tendras que hacer una sustitucion de CO. En esta misma entrada del blog y en la siguiente se explica la forma de hacerlo.
Un saludo.
Responder
Gracias por la respuesta, intente hacer una sust.. de FI contra la Orden y al hacer el Trace veo que si valida la informacion
pero no encuentra la cuenta de la OBYC, habia pensado en meterle un Exit para que haga lo que necesito en este punto y no
quede el registro del consumo con una cuenta diferente a la que liquida en CO.
Responder
Hola Camilo:
Si lo haces en la sustitucion de CO, tambien cambia la cuenta contable. Otra opción, si estas trabajando con ordenes, es
contabililizar a esa cuenta y luego mediante la liquidacion de la orden llevar a otra cuenta/clase e coste (para esa orden
en concreto).
No se exactamente para que quieres separar las contabilizaciones especificas de esa orden, si es para reporting en CO,
con esta alternativa lo tendrias solucionado.
Responder
La sustitución de CO funcionaria en el momento de liquidar por las tx KO88 u KO8G?o q sucede es que la habilite y al liquidar
no se va a la cuenta de sustitución, Lo necesitamos porqué existe una Validacion de costos q me frenA las liquidaciones cada
mes haciendo que contabilidad tenga que reclasificar constantemente, gracias por su valiosa ayuda.
Responder
Hola Camilo:
La sustitucion funcionaria en el momento hicieses la contabilización del movimiento original (por ejemplo, imagina que haces
una entrada de mercancia de un pedido imputado contra la orden). En ese momento, se cambiaria la cuenta por la cuenta de la
sustitucion.
Luego cuando llegaseis a la liquidacion de las ordenes ya no estaria esa cuenta, y no tendrias problema con la validacion.
Ten en cuenta que la sustitucion de costes se ejecutan en cualquier transacción qeu tenga la pantalla de imputacion (pedido de
compras, apunte contable, etc).
un saludo.
Responder
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 8/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Hola, Estoy generando una sustitucion por la obbh para sustituir el centro de coste dependiendo del centro de beneficio.
En la sustitucion por la obbh se creo un exit el cual coloca.
cobl-kostl = bseg-kostl.
cobl-prctr = bseg-prctr.
Lo hace bien pero cuando sale de la sustitucion borra los campos cobl-kostl y cobl-prctr, pero los necesito llenos para que los
asigne a la cuenta despues de hacer la simulacion.
Responder
Hola Hamlet:
He estado mirando esto y tu correo. El sitio para hacer la sustitucion es la OKC9, como ya has podido comprobar
(en la OBBH se borran los valores).
Lo unico que se me ocurre alguna exit en la F-28 o alguna BTE (se acceden por la transaccion FIBF). Te dejo una
entrada del blog donde se habla de ellas, aunque no estoy seguro que exista una para el proposito que buscas. Sera
cosa de investigar:
https://saptricks.wordpress.com/2011/07/17/truco-15-anadir-nuevos-campos-en-el-informe-de-partidas-
abiertas-de-fi/
Otra alternativa es la OKB9, para realizar imputaciones por clase de coste a centro de coste o cebe…no se si igual
por ahi.
Siento no poder ayudarte mas, aunque recuerdo hacer algo parecido para contabilizaciones de dudoso cobro (donde
tenia que completar en la simulacion el centro de coste) y usando la OKC9 funcionaba perfectamente.
Un saludo.
Responder
Alejandro dijo:
14 febrero, 2014 en 16:29
Buen día,
Quiero que al momento de liquidar una Orden de CO, en 2 centros de Costos, lo que va a uno de ellos le cambie la cuenta una
sustitución.
He intentado por sustitución FI, pero veo que la liquidación al ser un movimiento interno de CO no pasa por ellas.
Entonces intenté hacer sustitución CO, pero no tengo disponible el campo CUENTA o CLASE de COSTOS para incluirla en una
sustitución.
Se les ocurre alguna otra forma o se puede agregar un campo extra a la lista de campos diponibles a ser sustituídos?
Nacho dijo:
5 marzo, 2014 en 21:59
Buenas tardes, tengo un inconveniente y no se si es la solucion un substitucion, te comento, cuando ejecuto la transaccion
MIRO, al guardar se genera un documento mediante la FB01, antes de guardarlo, necesito modificar el campo bseg-sgtxt por
una concatenacion de valores, encontre un exit donde se encuentran todos los valores que necesito, pero cuando salvo los
cambios y se genera el documento el campo en cuestion continua con el valor que tenia…por ahi a vos se te ocurre alguna
solicion.
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 9/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Muchas gracias.
Saludos.
Responder
Yanina dijo:
14 marzo, 2014 en 22:49
Osvaldo C dijo:
5 agosto, 2014 en 17:12
Hola Roberto,
Estoy intentando realizar la sustitucion de una cuenta de mayor, pero la posicion viene con una cuenta de mayor (koart = s) y
la cuenta por la que la quiero sustituir es de tipo deudor (koart= D), pero no me deja, ya cambia la clave de contabilizacion
(bschl), la cuenta del cliente (kunnr) y la cuenta asociada (hkont), pero a la salida, me modifica todos los campos de cuentas
menos la kunnr y la bschl, dejandome el documento inconsistente (bschl= 50 y hkont = cuenta asociada a deudor).
Esto se puede hacer asi, o hay otra forma de realizarlo.
Osvaldo C.
Responder
Osvaldo C dijo:
15 agosto, 2014 en 18:26
Hola Osvaldo:
Lo que tu quieres hacer, que yo sepa, no se puede hacer. No puedes cambiar una cuenta de mayor por una
cuenta asociada. Pero yo no soy experto en el modulo FI, no se si hay una alternativa para eso.
Osvaldo C dijo:
15 agosto, 2014 en 20:52
Lo primero agradecerte por crear y mantener este blog, la verdad que muy completo y útil.
Quería consultarte sobre un tema que tengo entre manos y no sé si con una validación de CO lo puedo resolver.
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 10/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Tengo un pedido estándar de MM con varios materiales, cada material tiene asociado N condiciones específicas (se
corresponden con conceptos facturables a partir de cada material X).
¿Es posible utilizar una sustitución para informar un concepto de imputación a partir de las condiciones que lleve cada
posición?.
Todo va a la misma cuenta de gasto, pero algunos de los valores de la COBL dependen, además del material, el proveedor,
etc.; de la condición.
La opción más fácil sería crear tantas posiciones como conceptos vengan, pero al ser facturas mensuales, la agrupación de
valores en el formulario se complicaría bastante (intervienen además distintas unidades de medida e importes).
Un saludo,
Guillermo
Responder
HOla Guillermo:
La lógica que tu quieres incluir creo que excede el ambito de las sustituciones de Co. Seguramente sea mas
conveniente personalizar el comportamiento del sistema utilizando las BADIS de MM. Por ejemplo:
El add-in empresarial (BAdI) ME_PROCESS_PO_CUST permite ampliar individualmente la lógica empresarial del
pedido Enjoy.
Con él el usuario puede adaptar las transacciones ME21N, ME22N, ME23N y ME29N, así como los BAPIs
BAPI_PO_CREATE1 y BAPI_PO_CHANGE.
1. Inicio de la transacción
Documentación acerca del método BAdI INITIALIZE
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 11/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
2. Apertura de un pedido
Documentación acerca del método BAdI OPEN
3. Verificación de datos
Datos de cabecera del pedido
Documentación acerca del método BAdI PROCESS_HEADER
Datos de posición del pedido
Documentación acerca del método BAdI PROCESS_ITEM
Repartos del pedido
Documentación acerca del método BAdI PROCESS_SCHEDULE
Imputaciones en el pedido
Documentación acerca del método BAdI PROCESS_ACCOUNT
4. Selección de campos
a nivel de cabecera
Documentación acerca del método BAdI FIELDSELECTION_HEADER_REFKEYS
a nivel de posición
Documentación acerca del método BAdI FIELDSELECTION_ITEM_REFKEYS
reglas especiales a nivel de cabecera
Documentación acerca del método BAdI FIELDSELECTION_HEADER
reglas especiales a nivel de posición
Documentación acerca del método BAdI FIELDSELECTION_ITEM
5. Verificación global
Documentación acerca del método BAdI CHECK
6. Contabilizar
Documentación acerca del método BAdI POST
7. Tareas de cierre
Documentación acerca del método BAdI CLOSE
Condiciones previas
Para implementar estos BAdIs se necesitan conocimientos avanzados de ABAP-OO.
Parametriz.estándar
En la versión estándar no está activo este add-in empresarial.
El add-in empresarial no depende de filtros.
El add-in empresarial no se puede utilizar varias veces.
Ejemplo
Puede consultar un modelo de implementación en Pasar a -> Ejemplo de coding.
Notas adicionales
Documentación acerca de la interfase de BAdI IF_EX_ME_PROCESS_PO_CUST
Un saludo,
Guillermo
Saludos Roberto, Gracias por compartir tus conocimientos, hasta el día de hoy de han sido de utilidad lo aprendido, ahora
tengo un tema con el que estoy lidiando. Cree una validación en la OB28 y cuando la ejecuto en modo de Simulación desde la
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 12/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
propia OB28 funciona de maravilla, pero sin embargo, cuando ejecuto la transacción F.80 o la FB08 o la MR8M (todas para
anulaciones), simplemente mis validaciones no se levantan, ya regenere el código sin problema, y te digo, en modo simulación
funcionan bien, pero no se logran levantar desde la transacción estandar. Habrá algún paso que me este faltando? Gracias.
Responder
veronica dijo:
9 noviembre, 2015 en 10:26
Hola Edgar! Has tenido solución al problema? Yo me encuentro en la misma situación. La sustitución no hace efecto en
las anulaciones de documentos. ¿Qué puede estar pasando?
Muchas gracias!
Responder
Carina dijo:
9 noviembre, 2015 en 12:32
Habíamos creado una nueva sustitución con dos pasos, probamos poniendo los pasos dentro de una sustitución
existente y funcionó. Espero les sirva. Slds. Carina
Te comento que tengo una sustitución en la OBBH para la Clase de Documento SB, en la que reemplazo la fecha de
contabilización del documento (tx FSB1) por el último día del mes en curso.
La testeo desde la OBBH y funciona pero la FBS1 no está pasando ya que no para en breakpoint ni cambia dicha fecha por la
requerida.
Slds.,
Carina
Responder
Buenos días Roberto, yo tengo la misma duda que Carina Garcia. Solo que yo la tengo configurada en la GGB1 y no funciona,
pero las demás clases de documento si funcionan para otras transacciones.
Responder
Buenos días,
Las sustituciones de la obbh para cuentas de mayor son más relevantes que la determinación automática de la OBYC?
Responder
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 13/14
11/3/2018 Truco 28. Sustituciones en Controlling(CO), Finanzas (FI) , Proyectos(PS). | Notas y trucos SAP (Bitacora)
Hola Guillermo, fijate que quiero sustituir un CeCo dentro de la Orden de Mantenimiento, lo que pasa es que en la Vista de
Datos de Adicionales, me esta leyendo el CeCo Responsable que este lo trae el Dato de Maestro del Puesto de Trabajo
Responsable, para efectos de Presupuesto, y lo que queremos es que lea el CeCo que viene dentro del Dato Maestro de
Equipo.
El campo de CeCo del Puesto de trabajo es: KOSTV
El campo de CeCo del Equipo es: KOSTL
Esto todo debe ser antes de liberar la Orden con el fin de que entre la validación de FM.
Has visto algo asi antes?
me comentas.
Gracias
Responder
https://saptricks.wordpress.com/2012/10/14/truco-28-sustituciones-en-controllingco-finanzas-fi-proyectosps/ 14/14