PDA

Ver la Versión Completa : badi al crear factura


J_B
24/09/08, 21:11:54
Hola a todos,
alguien sabe que puedo hacer o darme una idea de como puedo ejecutar una funcion inmediatamente despuyes que se crea una factura en SAP?
actualmente lo tengo implementado en una badi que se ejecuta casi al final de la transaccion vf01 pero tengo unos problemillas con el commit, el cual es necesario porque en la funcion que se ejecuta es necesario que ya exista la factura en la B.D. fisicamente.
alguien me comento que con work flow tal vez pero no tengo ni idea de como se usa o implementa.
de antemano gracias.

Mauricio Hidalgo
25/09/08, 19:59:08
Podrias probar creando una función del tipo CALL FUNCTION - IN UPDATE TASK y en ella pones tu actual lógica. Desde luego la llamada a la funcion la haces desde tu BADI.

De este modo la función quedará encolada hasta que se produzca un commit de base de datos en el actual LUW.


espero te funcione.

mcarrasco
26/09/08, 13:48:42
Si tienes la badi implementada, revisate los metodos de la clase local que debes tener... Seguro hay uno que se activa cuando grabas la factura...!

Tengo Badis en MIRO, MIGO, ME51N, ME21N y todas tienen un metodo que se activa al darle al boton de guardar..

Se llama POST en ME21N y ME51n, si te logueas en ingles y entras en la SE24 a ver la clase puedes ver la descripcion de los metodos y ahi puedes guiarte!

J_B
30/09/08, 14:39:23
Podrias probar creando una función del tipo CALL FUNCTION - IN UPDATE TASK y en ella pones tu actual lógica. Desde luego la llamada a la funcion la haces desde tu BADI.

De este modo la función quedará encolada hasta que se produzca un commit de base de datos en el actual LUW.


espero te funcione.

Gracias por contestar, de hecho ya hice la prueba con CALL FUNCTION - IN UPDATE TASK dentro de la badi pero resulta que la funcion que ejecuto a su vez hace llamado a un programa con un submit y en ese momento me dice que no es permitido el llamar programas en el modo update task.
Por eso buscaba la opcion de crear un evento o que existiera un evento que pudiera identificar para que una vez que sale de la transaccion VF01/VF04 y despues de dar commit disparar mi funcion/programa.

Gracias nuevamente.

J_B
30/09/08, 14:43:14
Si tienes la badi implementada, revisate los metodos de la clase local que debes tener... Seguro hay uno que se activa cuando grabas la factura...!

Tengo Badis en MIRO, MIGO, ME51N, ME21N y todas tienen un metodo que se activa al darle al boton de guardar..

Se llama POST en ME21N y ME51n, si te logueas en ingles y entras en la SE24 a ver la clase puedes ver la descripcion de los metodos y ahi puedes guiarte!

Resulta que si tengo identificada la badi y de ahi invoco a mi programa pero este programa hace referencia a inf. de tablas y no de memoria por lo que es necesario hacer un commit para que funcione ok pero esto hace muy lento la transaccion que crea la factura.

No existe un evento, algo asi como los usados en los workflow?