Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tabla de contenidos
[esconder]
1 Diferencia entre BADI y las USER EXITS 2 Como encontrar la BADI que necesitamos 3 EJEMPLO: 4 Como Implementar una BADI 5 Enlaces
[editar]
BADI se puede utilizar todas las veces que quieras, donde las users exits solo se pueden usar una sola vez. Ejemplo: Si asignas una user-exit a un proyecto usando la transaccin CMOD, entonces no puedes volver a asignarlo a otro proyecto. Es decir varios programadores pueden implementar la misma BADI independientemente. Las BADIs son mucho ms moldeables a las necesidades del programador en cuento a que podemos definir los puntos de salida, junto con la lgica de programacin que necesitemos. Es decir posee todas las propiedades de una programacin orientada a objetos.
[editar]
EJEMPLO:
Supongamos que quiero saber que BADIS son llamadas en la transaccin Maintain Business Partners cdigo BT PASOS: 1.- Primero chequeamos que ningn otro usuario (T:SM04) o jobs en fondo (T: SM50) estn usando el mismo usuario que t. 2.- Nos vamos a la transaccin ST05 (Performance Analysis) y marcamos el flag "Buffer trace", despus pulsamos el botn Activate Trace , para activar el Trace. 3.- Inmediatamente despus ya que el sistema est ya Grabando nos vamos a la transaccin BT que queremos analizar y pulsamos el boton "Organization" completando los campos con los siguientes datos de prueba:
Al finalizar pulsamos el boton salvar. 4.- Volvemos a la ventana donde tenamos abierta la ST05 y pulsamos el botn "Deactivate Trace" para finalizar el trace y pulsamos sobre el botn "Display Trace", entonces el popup "Set Restrictions for Displaying Trace" aparecer. 5.- Ahora vamos a filtrar el Trace con los objetos: V_EXT_IMP y V_EXT_ACT. Que son nuestras vistas.
Pulsamos el botn "Copy (F8)" , Fill Operations: OPEN y pulsamos el botn "Enter" ANALISIS DE LOS RESULTADOS Obtendremos un listado parecido a este que interpretaremos de la siguiente manera:
Todas las interface class names de las vista V_EXT_IMP comienzan con IF_EX_. Este es el prefijo estndar de Sap para las BAdI class interfaces . El nombre de la BAdI est despus de este IF_EX_. Es decir el nombre de la BADi para IF_EX_ADDR_LANGU_TO_VERS es ADDR_LANGU_TO_VERS. En la transaccin SE18 puedes ver la definicin de la BADI.
Aconsejamos durante la realizacin del Trace no ejecutar ninguna otra transaccin o comando que no sean los propios de anlisis si queremos obtener unos resultados lo ms limpios posibles. Bien pues ya podis realizar una funcin que propiamente es de analista .
No obstante podemos ver una lista de las BADIs disponibles haciendo lo siguiente: Vamos a la Transaccin SE18 - Pulsamos F4 para desplegar el matchcode - Hacemos click en el icono Sistema de informacin - Aumentamos el campo Cant. Mxima aciertos a 999999 Hacemos click en OK. Se nos listar de esta forma las BADIS disponibles.
[editar]
Para hallar detalles de cada mtodo hacer doble click sobre cada uno, por ejemplo Doble click sobre GET_DATA Click en parametros Aparece como parmetro RE_DATA de tipo MEPOHEADER Si se hace click sobre MEPOHEADER se vera que es una estructura de datos de cabecera. Es importante saber que al principio la implementacin no esta definida, la primera ves que se entra a SE19 hay que crear la implementacin con el mismo nombre que ya existe en SE18. Crear la Implementacin del BADI seleccionado - Vas a la Transaccin SE19 - Click en Crear - Darle el nombre Implementacin, por ejemplo ME_PROCESS_PO_CUST - Luego pide nombre Definicin, es la misma ME_PROCESS_PO_CUST - Paquete es AM2P - Pide la orden de transporte - Click en salvar - Pide una clave SAP de modificacin de objeto estndar. - 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 cdigo fuente de la Implementacion - Vas a la Transaccin SE19 con la BADI ME_PROCESS_PO_CUST - Click en Modificar - Click en solapa interfase - Doble click sobre CLOSE - Introducir la clave Editar el texto del cdigo fuente. Importante, nunca olvides hacer la activacin formal: - Vas a la Transaccin SE19 SE19 - Click en el men superior Implementacin - Click en activar. Si no, no funcionar. Bueno, espero que todo esto os sea de ayuda, ya que son varios los miembros de esta comunidad los que han realizado varias preguntas al respecto. [editar]
Enlaces
Extraido de http://www.mundosap.com/foro/showthread.php?t=369