miércoles, 28 de septiembre de 2016

SAP HANA Platform

El próximo mes de Octubre SAP organiza dos eventos, Madrid y Barcelona, sobre SAP HANA Platform.




Las fechas son las siguientes:
  • Barcelona 19 de Octubre
  • Madrid 25 de Octubre
El objetivo es presentar las bondades de esta plataforma PaaS tanto a clientes actuales como a posibles interesados. Os dejo en enlace del evento donde podéis consultar la agenda e inscribiros si estáis interesados en asistir.


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.

sábado, 19 de diciembre de 2015

SAP Class Builder. Definición de clases con ABAP Orientado a Objetos (OO)

Como ya sabéis ABAP permite programar siguiendo el paradigma de la orientación a objetos. Vamos a poder definir clases que nos permitan construir aplicaciones mas robustas y complejas. Quien a trabajado con SAP sabe que muchas transacciones siguen el paradigma de programación estructurada, pero bien es cierto que ABAP nos da la posibilidad de desarrollar nuestras aplicaciones a medida utilizando la orientación a objetos.

SAP nos proporciona la transacción SE24 (Generador de clases) para poder definir y tratar nuestras propias clases (O las estándar que por supuesto también las hay). Si ejecutamos y visualizamos una clase cualquiera veremos algo similar a lo que se muestra en la siguiente imagen.


Lo que vemos es un pantalla donde tenemos diferentes pestañas que contienen toda funcionalidad de la clase (Métodos, Atributos, Eventos, etc.). En el ejemplo que estamos viendo vemos que contamos con tres métodos. Para navegas al código fuente de alguno de ellos solo tenemos que hacer doble clic sobre el. EL resultado lo vemos en la siguiente imagen.


Aquí podremos escribir nuestro propio código que después utilizaremos en nuestros programas. Si en algun momento quisieramos utilizar esta clase en uno de nuestros progrmas tendriamos que hacierlo de la siguiente forma:

  1. Primero definimos un objeto que haga referencia a nuestra clase.

    DATA: p_objeto TYPE REF TO ZCL_TEST.
  2. Llamamos a uno de los métodos que tenemos definidos en la clase para que ejecute su lógica.

    p_objeto->METHOD2.
Es un ejemplo básico y muy sencillo, la cosa se puede ir complicando mas. Seguiremos hablando de este tema en próximos post.



jueves, 17 de diciembre de 2015

SII - Sistema Inmediato de Información

Tras un tiempo sin hacer ninguna publicación en el blog retomamos con un tema que seguramente ya ha empezado a dar algún quebradero de cabeza a las áreas de sistemas y financieras. Se trata de la nueva gestión del IVA que va a poner en marcha la agencia tributaria a partir del próximo 1 de enero de 2017. Este nuevo modelo ha sido bautizado con las siglas SII (Sistema Inmediato de Información).

1.1 ¿Qué es?

  • Nuevo sistema de gestión del IVA
  • Entrada en vigor el 01/01/2017 (Pte aprobación Consejo Estado).
  • Pruebas piloto en 2016 con varias empresas (Principalmente Repsol). Puede que en el T4 de 2016 esté operativo para que las empresas inicien su adaptación.
  • Se trata de un proyecto que supondrá la llevanza de los libros registro a través de la Sede electrónica de la AEAT.

1.2 ¿A quién afectará?

  • Grandes empresas : >6 Mn € de facturación
  • Empresas con devolución mensual de IVA.
  • Empresas que formen Grupo de IVA.
  • Será optativo para el resto de empresas pero no se pretende extender a pequeñas.

1.3 Aportaciones al contribuyente

  • Eliminación de modelos 347, 340 y 390.
  • Ampliación plazo autoliquidaciones: 30 días siguientes a cierre mes/trimestre.
  • Facilitará la reducción de errores en las declaraciones: la AEAT ofrecerá información del IVA repercutido y soportado por la empresa contrastado por clientes y proveedores (a partir de la información enviada por estos).

1.4 Nuevas obligaciones 

  • Llevanza de los libros registro actuales a través de la sede de la AEAT mediante suministro electrónico de los registros de facturación. Libros registro obligatorios:
    • Facturas recibidas (diario)
    • Facturas emitidas (diario)
    • Bienes de inversión (anual)
    • De importes en metálico (anual)
    • Otras operaciones intracomunitarias.
  • Facturas expedidas: envío (desde SAP) de la información que contiene en los 4 días naturales siguientes (excluyendo sábados, domingos y festivos nacionales).
  • Facturas recibidas: envío (desde SAP) de la información que contiene en los 4 días siguientes a la contabilización de la factura. Si se desea deducir el IVA, como máximo podrá enviarse el día 16 del mes siguiente.
  • Facturas de importaciones/exportaciones: envío en los 4 días siguientes desde la fecha de admisión del documento de aduanas.
  • Mayor control tributario sobre tiques: elimina la posibilidad de realizar asientos resúmenes en caso de tiques/facturas simplificadas. Al igual que con facturas, pasa a ser obligatorio el suministro de información individualizada de cada tique.
  • Proveedores con IVA diferido: en ese caso se debe comunicar a la AEAT los pagos diariamente.

1.5 Implicaciones

  • Actualizaciones en los Sistemas que seguramente afectará a los procesos actuales de negocio:
    • Envío inmediato de la información mediante web service de AEAT desde el propio sistema de información.
    • A través de un formulario web en casos en que se realicen pocas operaciones.
  • Existirán “Libros registro declarados” y “Libros registro contrastados”, que habrá que consultar antes de realizar las declaraciones.
  • El IVA soportado y repercutido que se declare se deberá contrastar con el informado por los proveedores/clientes desde sus sistemas de información (“Libro registro contrastado”)
  • Mayor transparencia con la Administración.