MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Todo acerca de la BADI's de SAP (foro/showthread.php?t=369)

tracer 17/04/06 11:58:53

Todo acerca de la BADI's de SAP
 

dairolozano 24/04/06 20:15:46

Codigo de transacción.
 
Excelente articulo. Bastante util. Solo una pregunta, el ejemplo se refiere a la transaccion BP - Tratar interlocutor comercial ?

Cordial Saludo,

Dairo L. Lozano R.

francisco.m.torres 05/07/06 13:14:01

Alternativa para encontrar BADIS
 
Otro modo de encontrar las badis que se ejecutan en un proceso / transaccion, es el siguiente:

> Ingresan en la trx. SE80.
> Seleccionamos Clase / Interfase.
> Dentro de ella colocamos la clase CL_EXITHANDLER.
> Seleccionamos el metodo GET_INSTANCE para que se visualice el codigo de dicho metodo.
> Colocamos un BREAK en la llamada al metodo:

call method cl_exithandler=>get_class_name_by_interface
exporting
instance = instance
importing
class_name = class_name
changing
exit_name =
exit_name
exceptions
no_reference = 1
no_interface_reference = 2
no_exit_interface = 3
data_incons_in_exit_managem = 4
class_not_implement_interface = 5
others = 6.

Ahora ejecutamos el proceso/transaccion, del cual deseamos averiguar las BADIS que se instancian, y al haber colocado el BREAK en el metodo anterior, cada vez se intente instanciar la BADI pasara por dicho punto y el nombre de la BADI la tendremos en el parametro "exit_name" (que cambia este metodo).
Saludos.

Francisco Torres.-

ayasystems 09/08/06 09:36:40

Un apunte.

Sólo las badis que no permiten modificar su contenido pueden ser implementadas varias veces. Las Badis que periten modificar datos (que tienen exporting) no se pueden implementar varias veces.
Aunque no permita modificar, a la hora de poner la badi se puede definir de implementación multiple o simple.

Saludos!

josellamazares 19/09/06 10:19:27

Otro apunte al respecto.

Para que no sea neceasario meter ninguna clave a la hora de implementar la BADI, basta con que el nombre de dicha implementación empiece por Z. En paquete, le indicamos un paquete Z nuestro
Cuando pida la definición es cuando hay que indicarle el mismo nombre.

Un saludo y gracias por hacer esta página.

miki_ikim 24/11/06 09:06:48

Hola, una pregunta que quizas sea absurda.

Si tienes una implementación de una badi, standard activa e implementas una Z y la activas también, ¿cual de las dos se ejecutarán? o ¿se ejecutan las dos?
Muchas gracias.

ayasystems 24/11/06 16:20:22

Depende de como esté definida la BADI, si tiene implementación múltiple se ejecutarán ambas. Si está definida de forma que no tenga implementación múltiple pues no podras hacer lo que dices...

Puedes ver como está definida mediante la SE18, ver si es dependiente de filtro.... vamos lo que es la definición.

Saludos ;)

shadowilbor 21/05/07 14:36:51

Buenas,

Tengo un problemas con la badi I_BADI_SD_GM. No consigo implementarla.
Alguien podria ayudarme con ella.

Gracias por adelantado.

ayasystems 21/05/07 14:51:19


Como no seas más claro con cual es el problema dificilmente te podrá ayudar nadie.

S2

shadowilbor 21/05/07 14:56:24

Hemos intentado implementar esta BADI para la cancelación de la factura y no salta. Debugeando hemos visto que la considera como inactiva por la clase de desarrollo en la que se encuentra, por tanto no nos funciona. Alguien sabe algo sobre ella? Está implementada o no?

ayasystems 21/05/07 14:58:43


De que versión estamos hablando??
Según la SE19 la implementación la tienes activa?

shadowilbor 21/05/07 15:00:15

la version 5, y si la se19 esta activa

ayasystems 21/05/07 15:02:15



Según la SE18 la Badi que estas intentando implementar tiene permitida la implementación múltiple? Si no lo tiene permitido mira a ver si hay alguna implementación más utilizando la referencia de utilización

shadowilbor 21/05/07 15:09:27

si esta permitida la implementacion multiple

shadowilbor 23/05/07 07:40:48

vaya,parece que al final no puede ayudar nadie con esto....que pena.Gracias de todas maneras

Rodrigo Gálvez 06/09/07 20:19:26

Crear y modificar una BADI, procedimiento menos invasivo
 
Buena explicación inicial. Quiero contribuir con que no es necesario pedir una clave de activación.

El procedimiento menos invasivo es a partir de la SE18. Seleccionar la clase de la BADI (aparece en la SE19 tambien), pasar al menú implementeación y seleccionar CREAR. Indicar un nombre Z para la implementación y trabajar a partir de ahí. No es necesario pedir una clave a SAP para modificar, y la implementación Z, si está activada, será ejecutada junto con la estándar.

Debido a que se puede customizar el sistema, es posible desactivar una implementación estándar para que sea reemplazada por una "Z". Pero no es posible activar la implementación estándar sin la clave SAP de modificación.

Pueden crearce tantas implementaciones "Z" como se desee para una misma BADI. Esto permite que los desarrolladores no se pisen los talones durante un proyecto. Las implementaciones "Z" pueden ser liberadas en cualquier orden a Test o Producción.

Nunca modifiquen el estándar a menos que no exista otra alternativa. Las BADIs proveen la alternativa, al permitir una implementación "Z". Las modificaciones al estándar pueden ser eliminadas por la aplicación de un parche o un upgrade.

....
Crear la Implementación del BADI seleccionado

- Vas a la Transacción SE19
- Click en Crear
- Darle el nombre Implementación, por ejemplo ME_PROCESS_PO_CUST <- Mejor "ZME_PROCESS_POCUS"
- Luego pide nombre Definición, es la misma ME_PROCESS_PO_CUST
- Paquete es AM2P
- Pide la orden de transporte
- Click en salvar
- Pide una clave SAP de modificación de objeto estándar. <- No es necesario si la implementación es "Z" aunque la badi sea estándar.
- Pide un comentario, habitualmente igual al de la orden de transporte.
- Click en Salvar
- Click en Activar y marcar todo para que se recompile completamente

Modificar el código fuente de la Implementacion


- Vas a la Transacción SE19 con la BADI ME_PROCESS_PO_CUST
- Click en Modificar <- Mejor creas una "Z" nueva, copias la vieja estándar y desactivas la estándar. Así el sistema mantiene la coherencia y el desarrollo "Z" no es sobreescrito por los parches.
- Click en solapa interfase
- Doble click sobre CLOSE
- Introducir la clave
- Editar el texto del código fuente.

.....

alexabap2002 18/03/08 15:49:11

Si la badi, no acciona, solo falta...
 
:cool: Si la Badi, no acciona, solo falta, que la agregues a un proyecto desde la transacción CMOD.

sconoredhot 19/03/08 17:12:29

no sabria decirte si esta implementada o no, pero podrias usar la funcion z_find_badi y quiza encuentres otra badi que se encuentre en el mismo lugar que esa y te sirva. Sldos.

javitudela 14/05/08 10:19:48

Badi para Factoring
 
Hola. He buscado de las todas las formas, que menciona este hilo del foro, la badi que debería de implementar pero no la encuentro. La Badi que debo implementar debe saltar al darle al botón guardar en la transacción fb60. Los datos que relleno antes de darle al botón guardar son los datos obligatorios de la pestaña 'Datos básicos', el Receptor del pago en la pestaña 'Pago' y las diferentos valores en las cuentas de mayor para que cuadre el saldo a cero.

He encontrado varias badis: SD_COND_ACCESS_A, AC_QUANTIFY_GET, PPA_CUST_BADI..., pero en ninguna de ellas se le paso el parámetro 'Receptor del pago' y necesito controlar este valor. Me podríais echar una mano y comentarme si hay alguna badi, la cual tenga algún método en la que se le importe este dato. Muchas Gracias.

P.D. He probado con la PPA_CUST_BADI, pero en tiempo de ejecución no se le pasan los datos al método.

Tango de vivier 02/10/08 12:24:18

UMP en Libro de pedidos
 
Hola a Tod@s
He creado un registro en el Libro de pedido para un proveedor, material y Org.Compras. En tal registro he asignado una nueva UMP, pero esta no me la toma cuando creo un nuevo PEDIDO.
Es necesario parametrizar algo para que la UMP del "Llibro de pedido" la tome directamente al crear el PEDIDO.

Gracias.

jramos_torres 05/02/09 16:23:47

No Encuentro Ampliacion Para La Wak2
 
Compa
Ya le he dado varias vueltas a las badis que me arrojan los diferentes
metodos para encontrarlas y ninguna me ha servido ...de hecho la
badi WAKT_BADI_001 es la unica disponible para ampliacion pero el
metodo que necesito no viene hay...quiero que al grabar haga algo
a determinadas tablas z ...y ningun metodo de esa badi viene como para
eso como puedo hacerle si al parecer ninguna badi ni user exit esta
como para eso ???

Pato 27/02/09 09:53:56

gracias
 
Sencillamente, este articulo es brillante. MUCHAS GRACIAS.

lissa_16 15/04/09 15:36:10

Badis MM SD y Actualizacion Tabla Z
 
Hola Buenas

Queria preguntarles si me pueden ayudar con lo siguiente. Tengo que crear una tabla Z con todas las entradas de mernacia por fecha y para las salidas de mercancia verificar el registro mas antiguo y restar el inventario. En resumen esta tabla Z contrendra la informacion de inventario por capas por asi llamarlo...pero..aqui es donde se me ocurre mi dilema...
Esta tabla puede estar actulizando campos desde tres programas distintos..
actualizando el mismo registro....osea que se bloqueara la tabla o ocurrira algo...para corregir esto...tengo estas alternativas:
1. Crear una tabla Z temporal..con los registros..y luego correr un programa como job de fondo que actualize la tabla Z.
2. Crear un indice esto me servira de algo??
no se que sugieren ustedes...
Elizabeth;)

flavioghiglione 11/06/09 00:33:37

Gracias
 
Gracias por el aporte...Muy útil.

alberto06 26/08/09 20:09:31

Duda!!
 
ALguien me puede explikar como ingreso a está transaccion : Maintain Business Partners código BT es que soy nuevo en esto de abap y estoy haciendo este ejemplo de Badi pero no se ingresar gracias.

cosagaucha 28/09/10 16:03:57

hola a todos!,

una pregunta.. estoy intentando generar una implementacion de la badi: SD_CIN_LV60AU02, en el metodo: EXCISE_INVOICE_CREATE

creo la implementacion, agrego el texto corto, y cuando intento activar, me dice que ya hay implementaciones activas, y no me deja activar la mia..

preguntas:

como veo que OTRAS implementaciones activas tiene esta badi?

Como hago para activar finalmente MI implementacion, ?

gracias!

sook 21/12/12 17:16:38

Y si la búsqueda es al revés?
 
Tengo una Badi implementada, pero no sé que programa/transacción la utiliza, cómo lo obtengo?

macatalan 07/11/13 23:15:22

Pregunta sobre Badi´s
 
Tengo un escenario, donde deseo llevarme un valor introducido en BPC en un paquete, ese valor se guarda en una variable en BPC, deseo llevarlo a BW exactamente a un DTP, todo esto lo puedo hacer con una Badi?

saludos

Anthony Martinez 11/02/14 14:16:52

Bapi Meu2
 
Buenos dias alguien sabe que bapi existe para la transaccion meu2 ? , gracias por sus respuestas.

gerrard31 18/02/14 16:32:30


Aplíca la transacción ST05 para tu usuario. AL incio de este artículo aparece cómo utilizar dicha transacción para localizar las BADIS en la que tu deseas ejecutar.

squallytidus 29/07/14 10:30:11

Badis previo impresion de factura
 
Hola buenos días,

Estoy buscando una Badi que pueda ejecutar antes de lanzar la impresión de facturas en sap de cara a ponerle alguna condición.
alguien me podría ayudar?

mfmarias 22/11/17 19:17:35

Excelente artículo, me fue de mucha utilidad. Gracias!

Raulalsan 16/01/18 07:55:40

Gracias por el artículo!

lozo2010 13/02/18 14:37:44

Badi en varias transacciones.
 
Es posible limitar a una sola transaccion la ejecucion del badi?

He realizado uno para la ADDR_PRINTFORM_SHORT y salta en varias transacciones y yo solo quiero que sea en una especifica. ¿Es posible?

contab15 27/05/21 15:52:43

Re: Todo acerca de la BADI's de SAP
 
Hola Grupo sabran o les ha pasado que con Usuario de Funcional la BADI si hace los cambios pero con los Usuario Finales no, emito la SU53 y no les aparece mimgun error.

MetaNodo 28/09/22 06:44:43

Re: Bapi Meu2
 

Buenas,

En la primera pagina tienes como identificar BADIS, echa un ojo al breve paso a paso que explican.

Saludos.


Husos Horarios son GMT. La hora en este momento es 08:25:38.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web