miércoles, 27 de enero de 2016

SAP Fórum Madrid 2016


El próximo 16 de Febrero tendrá lugar el SAP Forum en Madrid. La temática de este forum girará en torno al concepto de "Simplicidad". SAP está convencido de que la Simplicidad cambiará la forma de vivir y trabajar, permitirá transformar el negocio hacia nuevos modelos antes inimaginables para adaptarlo a la Nueva Economía Digital.


Conscientes de que la Transformación a la Nueva Economía Digital afectará a todas las áreas de la empresa, se han preparado unos contenidos interesantes, tanto para los profesionales de IT, como para los responsables de otras áreas de negocio: Financiero, RRHH y Marketing y Ventas.

Podéis consultar la agenda del evento a través de este link.



miércoles, 20 de enero de 2016

BADI ME_PURCHDOC_POSTED para Pedidos de Compra

En este post vamos a ver otra BADI a la que podemos recurrir para incluir nuestra lógica dentro del proceso de creación o modificación de un pedido de compras (ME21N, ME22N, ME22N ). Se trata de la BADI ME_PURCHDOC_POSTED.

Para los que queráis implementar la BADI y no sabéis como, os remito al anterior post donde explicamos los pasos a seguir con el ejemplo de la BADI PROCESS_PO_CUST:


Volviendo a nuestra BADI, diremos que solo dispone  de un único método (POSTED) que se dispara cuando se ha genera el documento del pedido de compra tras grabar.


Digamos que en este punto sabemos ya, por ejemplo, si estamos creando el pedido, el numero de pedido de compras que nos va a devolver el sistema. Si ponemos un break-point en el método y creamos un pedido de compras, podremos ver que por ejemplo en la tabla interna IM_EKKO ya aparece el numero de pedido de compra que ha generado el sistema.


Si revisamos los parámetros que tiene el método nos llevaremos una agradable sorpresa. Tenemos disponible toda la información del pedido, pero ademas, tenemos todas las tablas internas desdobladas con una versión "OLD". ¿Esto que quiere decir? Pues por ejemplo, podremos saber si nos han modificado un campo en concreto durante la modificación de un pedido. Imaginaros que si detectamos que el usuario modifica el precio de alguna de las lineas automáticamente el sistema debe enviar un mail al responsable de compras para que lo revise. Sin duda esta sería nuestra BADI.


Desde luego que es una BADI muy potente que nos puede dar mucho juego. Muy recomendable conocerla y saber como poder sacarle partido.


sábado, 16 de enero de 2016

BADI ME_PROCESS_PO_CUST para pedidos de compra

En este post vamos a ver una de las BADI´s mas utilizadas dentro de SAP. No es otro que la BADI ME_PROCESS_PO_CUST que se utiliza para incluir funcionalidad dentro de los pedidos de compra (ME21N, ME22N, ME23N) a través de los diferentes métodos que pone a nuestra disposición.

Para los que no tengáis claro que es una BADI os dejo el siguiente link del blog donde ya hablamos sobre ellas:

El primer paso si queremos utilizar esta BADI sería implementarla y activarla. Para ello debemos utilizar la transacción SE19. Aquí introduciremos el nombre de la BADI y pulsaremos sobre el botón "IMPLEMENTAR" como se ve en la siguiente imagen:


Tras esto el sistema nos pedirá que asignemos un nombre a nuestra implementación.


Tras aceptar el sistema nos mostrará la implementación que se va a crear. Podremos ver todos los métodos que están disponibles y en los que vamos a poder introducir código. Además nos va a mostrar la clase sobre la que vamos a trabajar para introducir nuestra lógica. En nuestro caso la clase se va a llamar ZCL_IM_ME_PROCESS_PO_CUST.


Finalmente grabamos y activamos. Ahora ya tenemos implementada la BADI y vamos a poder comenzar a introducir nuestro código a través de la clase que hemos comentado anteriormente. Para modificar la clase ejecutamos la transacción SE24.


Dentro veremos todos los metodos disponibles sobre los que vamos a poder trabajar. 


En este punto ya lo que hace falta es identificar cual de los método se adecua mas a lo que necesitamos. Como veis hay unos cuentos y cada uno se ejecuta en un punto diferente de la ejecución. Os comento algunos de ellos: 
  • IF_EX_ME_PROCESS_PO_CUST~PROCESS_HEADER: Se lanza cuando modificamos algún dato de cabecera y por ejemplo el usuario presiona enter.
  • IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM: Se lanza cuando modificamos algún dato a nivel de linea y por ejemplo el usuario presiona enter.
  • IF_EX_ME_PROCESS_PO_CUST~PROCESS_ACCOUNT: Se utiliza para tratar los datos de imputación que haya introducido el usuario. Por ejemplo podemos utilizarlo para chequear un centro de coste o una cuenta en función del material.
  • IF_EX_ME_PROCESS_PO_CUST~CHECK: Como su nombre indica es un método marcado para realizar controles. Tiene un parámetro de salida que nos permite marcar la ejecución como errónea.
Podéis ir explorando el resto. Mi recomendación es que cuando necesitéis incluir lógica marquéis breakpoints en los diferentes métodos y ejecutéis la creación ó modificación de un pedido de compras. De esta forma veréis donde para cada método y que información traen sus parámetros. De está forma va a ser mas sencillo decidir donde introducir vuestro código.






jueves, 14 de enero de 2016

SII - Sistema Inmediato de Información. Novedades

Si hace muy poco escribíamos sobre el SII ( Sistema inmediato de información o nueva gestión del IVA ) para conocer de que iba y que implicaciones podía tener para nuestras compañías, de repente nos encontramos con la noticia de que el proyecto se suspende.

Teníamos noticias de que algunas empresas (Por ejemplo Repsol) comenzarían el piloto en este 2016, y que en 2017 se extendería al resto de empresas afectadas. Las elecciones generales del 20 de Diciembre, y los posibles cambios que pueda acarrear, añadido a que no se aprobó la normativa, en las fechas necesarias, hace que por parte de la AEAT, ese proyecto quede parado ( fuente directa de la AEAT ). Ahora solo queda esperar alguna confirmación mas rotunda de si solo es un hasta luego...o nos encontramos con un adiós definitivo al proyecto...Hay que tener en cuenta que ya había mucho trabajo realizado. Estaremos atentos de próximas novedades.

Integración SAP

Cuando hablamos de SAP como sistema integrado que cubre toda la casuística de nuestro negocio estamos siendo bastante osados. Casi cualquier...