+ All Categories
Home > Documents > Encontrar e Implemntar Badis

Encontrar e Implemntar Badis

Date post: 01-Nov-2015
Category:
Upload: leonrott
View: 7 times
Download: 1 times
Share this document with a friend
Description:
Sap Badis
10
 Sobre Home Home  AS/400 System i  AS/400 System i SAP Netweaver SAP Netweaver BLOGS BLOGS Encuestas Encuestas WORKSHOPS WORKSHOPS Links Links Tweet 1 Encuentranos en Google+. Ho me SA P Net wea ver   Cómo encontrar e implementar BADIS en programacion ABAP Lea en SAP Netweaver . . . Desanudando Conceptos: SAP HANA …si no “HANA” hoy, “HANA”rá mañana… No hay “newsletter”, conferencia o evento del ambiente ERP que en los últimos meses haya ahorrado detalles y especulaciones sobre el nuevo paradigma: SAP HANA. En medio del marketing “hype”, es siempre difícil para los que estamos en el ruedo decodificar lo esencial de las nuevas tecnologías, así que aquí va nuestro aporte para ayudar a una cabal y conceptual comprensión de SAP HANA. LEER ESTE ARTICULO >>>>> SAP Netweaver / ABAP SAP Netweaver / ABAP Notas técnicas / Tips / Tutorial Notas técnicas / Tips / Tutorial Cómo encontrar e implementar BADIS en programacion ABAP Conozca algunos métodos de búsqueda de BADIS e SAP y aprenda la manera de implementarlas No importa cuán abarc ativo sea un software de gesti ón, l as nec esid ades parti cular es de c ada cl i los requisitos de los distin tos escenarios de negocios, puede gener ar una necesidad de "customizaci ón" del software que excede la parametrización. Sin embargo, en un sistema de envergadura y misión crítica, esto no debería llevarse a cabo de cualquier manera. En el caso particular de SAP , es sabido q ue no se permite modificar el código fuente d e un programa ABAP standard. Por ello, SAP proporciona recursos e instrumentos que permiten intromisiones "controlada s" al c a través del concepto de ampliaciones o Enhancements. La idea es expandir la funcionalidad de del sistema SAP para atender las necesidades adicionales del cliente, sin modificar el código fu del programa standard.  Actualmente exis ten en SAP tres gener aciones de ampliaci ones: Primera generación: subrutinas vacías dentro de un programa estándar en las cuales se pu agregar código. El nombre de las mismas comienza con USEREXIT. E modalidad implica modificar el estándar. Segunda generación: CUSTOMER-E XIT . En algunos lu gares de l códig o estánda r hay llama d tipo CALL CUSTOMER-FUNCTION <NRO> (Ej:‘001’). Estas rutinas se editan con la transacción CMOD. Tercera generación: BADI’s. Usan instancias de ABAP Objects. Se invocan con CALL METHOD. Se crean con la transacción SE18 y se implementan con la transacción SE El presente tip, está centrado en la Tercera generación, las BADI’s. Se describirá qué es una BADI y luego mediante un ejemplo práctico, se detallarán los distintos métodos para buscar BADI’s en el sistema y se implementará una de ellas. Share Share mo enc ontr ar e impl ementa r BADIS en progra ma ci on ABAP ht tp:/ /www .t ek noda tips .com.a r/sap-net we aver /29- como-e nc ontrar-e -i mp... 1 of 10 5/8/2015 14:44
Transcript
  • Sobre Teknoda

    HomeHome AS/400 System iAS/400 System i SAP NetweaverSAP Netweaver BLOGSBLOGS EncuestasEncuestas WORKSHOPSWORKSHOPS Links SAPLinks SAP

    Tweet 1

    Encuentranos en Google+.

    Home SAP Netweaver Cmo encontrar e implementar BADIS en programacion ABAP

    Lea en SAP Netweaver . . .Desanudando Conceptos:SAP HANAsi no HANA hoy, HANArmaanaNo hay newsletter, conferencia o eventodel ambiente ERP que en los ltimosmeses haya ahorrado detalles yespeculaciones sobre el nuevo paradigma:SAP HANA.En medio del marketing hype, es siempredifcil para los que estamos en el ruedodecodificar lo esencial de las nuevastecnologas, as que aqu va nuestroaporte para ayudar a una cabal yconceptual comprensin de SAP HANA.

    LEER ESTE ARTICULO >>>>>

    SAP Netweaver / ABAP SAP Netweaver / ABAP Notas tcnicas / Tips / TutorialsNotas tcnicas / Tips / TutorialsCmo encontrar e implementar BADIS en programacion ABAP

    Conozca algunos mtodos de bsqueda de BADIS enSAP y aprenda la manera de implementarlasNo importa cun abarcativo sea un software de gestin, las necesidades particulares de cada cliente ylos requisitos de los distintos escenarios de negocios, puede generar una necesidad de"customizacin" del software que excede la parametrizacin. Sin embargo, en un sistema deenvergadura y misin crtica, esto no debera llevarse a cabo de cualquier manera. En el casoparticular de SAP, es sabido que no se permite modificar el cdigo fuente de un programa ABAPstandard.Por ello, SAP proporciona recursos e instrumentos que permiten intromisiones "controladas" al cdigo,a travs del concepto de ampliaciones o Enhancements. La idea es expandir la funcionalidad dentrodel sistema SAP para atender las necesidades adicionales del cliente, sin modificar el cdigo fuentedel programa standard.Actualmente existen en SAP tres generaciones de ampliaciones:

    Primerageneracin:subrutinas vacas dentro de un programa estndar en las cuales se puedeagregar cdigo. El nombre de las mismas comienza con USEREXIT. Estamodalidad implica modificar el estndar.

    Segundageneracin:CUSTOMER-EXIT. En algunos lugares del cdigo estndar hay llamadas detipo CALL CUSTOMER-FUNCTION (Ej:001). Estas rutinas seeditan con la transaccin CMOD.

    Tercerageneracin:BADIs.Usan instancias de ABAP Objects. Se invocan con CALL METHOD. Secrean con la transaccin SE18 y se implementan con la transaccin SE19.

    El presente tip, est centrado en la Tercera generacin, las BADIs.Se describir qu es una BADI y luego mediante un ejemplo prctico, se detallarn los distintosmtodos para buscar BADIs en el sistema y se implementar una de ellas.

    ShareShare

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    1 of 10 5/8/2015 14:44

  • I ) Qu es una BADI?Las BADIs (Bussiness Add-ins) son las nuevas tcnicas de ampliacin del cdigo estndar de SAPbasadas en programacin ABAP orientada a objetos que surgieron a partir de la versin 4.6C.Las BADIs tienen las siguientes caractersticas:

    Se pueden implementar ms de una vez, a diferencia de los user-exit, que slo tienen unaimplementacin.Las BADI's poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes,localizaciones, soluciones especficas para industrias, etc), a diferencia de los User Exits queson doble capa nicamente (SAP y soluciones de cliente).Se usan para ampliar menes, cdigo fuente y pantallas de transacciones standardsLas BADIs contienen dos vistas: la definicin y la implementacin.La definicin se realiza mediante la transaccin SE18. En ella se deben especificar los siguientespuntos:

    Definicin de la interfaz: mtodos y parmetros.Tipo de implementacin: simple (slo una implementacin activa) o mltiple (ms de unaimplementacin activa).Para implementar o ver las distintas implementaciones de una BADI dada, utilizar la transaccinSE19.II) Ejemplo PrcticoEn este apartado, se describirn distintas maneras para encontrar BADIs en el sistema y, adems, semostrar cmo implementar una BADI.Cmo encontrar la BADI que necesitamos?A continuacin se presentarn cuatro mtodos distintos que nos permitirn localizar las BADIs.Mtodo 1Las BADIS se encuentran registradas en las tablas SXS_INTER, SXC_EXIT, SXC_CLASS ySXC_ATTR. SAP accede a dichas tablas mediante las vistas V_EXT_IMP y V_EXT_ACT. En cadallamada existente a una BADI, el sistema pasa por las tablas antes mencionadas. Por lo tanto, unmtodo para encontrar la BADI que necesitamos se basa en el uso de la transaccin ST05(Performance Analysis).Se realizar el siguiente procedimiento:

    Desde la transaccin ST05 marcar el flag Table Buffer trace y pulsar el botn ActivateTrace.1. Ejecutar (en otro modo) la transaccin sobre la que se desea encontrar una BADI.2. Volver a la pantalla de la transaccin ST05 y hacer clic en el botn Deactivate Tracepara finalizar el trace. Luego seleccionar el botn Display Trace donde se va a filtrar elTrace con los objetos: V_EXT_IMP y V_EXT_ACT (vistas).3.

    Pulsar el botn Copy (F8) , Fill Operations: OPEN y Enter.4. Resultado: se obtendr un listado con todas las interface class names de las vistas V_EXT_IMPcomenzando con IF_EX_*. Este es el prefijo estndar de SAP para las BADI class interfaces.El nombre de la BADI se encuentra a continuacin del prefijo IF_EX_. Por ejemplo, si el nombre de lainterfase es IF_EX_ADDR_LANGU_TO_VERS, la BADI se llama ADDR_LANGU_TO_VERS.Mtodo 2:Desde la transaccin SE80, fijar un break-point en el mtodo ACT_IMPS_PER_FLT_VAL de laclase CL_BADI_FLT_DATA_TRANS_AND_DB justo despus del SELECT encabezado con elcomentario read BADI attributes.

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    2 of 10 5/8/2015 14:44

  • Luego ejecutar la transaccin que se desea analizar. Por cada parada en el break-point del debugger,examinar los campos exit_name e internal.Mtodo 3Desde la transaccin SE24 (Class Builder) colocar un break-point en el CALL METHODcl_exithandler=>get_class_name_by_interface que est dentro del mtodo GET_INSTANCE de laclase CL_EXITHANDLER .Luego, ejecutar la transaccin o programa a verificar. En la variable exit_name se muestran losnombres de las BADI's que implementa el programa. Este mtodo puede resultar engorroso porquedetiene muchas veces la ejecucin, pero sto asegura que si una BADI existe se detendr en esepunto. Lo que se est haciendo es poner un BREAK-POINT en el momento en que SAP verifica siuna definicin de BADI tiene alguna implementacin activa; por lo tanto, aunque no exista ningunaimplementacin activa para esa BADI particular, el mtodo detectar que existe una BADI en esepunto. Para ver si esa BADI est implementada o no, ir a la Transaccin SE18 con el nombre de laBADI obtenida en la variable exit_name e ir a la opcin de men Implementaciones ResumenMtodo 4Obtener el paquete (Clase de desarrollo) de la transaccin que se desea analizar mediante latransaccin SE93. En la transaccin SE18, en la bsqueda ampliada, buscar filtrando por el paqueteanteriormente encontrado y el sistema devolver todas las BADIs relacionadas a ese paquete.III) Implementando una BADIEn el siguiente caso prctico, se implementar una BADI que permita mostrar un mensaje cuando seestn modificando los datos de direccin de un banco determinado, mediante la transaccin FI02

    A travs del botn Address , se accede a la pantalla de datos de direccin. Luego de cambiarel pas a US (Estados Unidos) o ES (Espaa), seleccionar Aceptar y mostrar el mensaje deseado.Para ello, se implementar la BADI ADDRESS_CHECK, en el mtodo IS_ACTIVE_FOR_COUNTRYque permite ampliar la verificacin del pas.Para implementar dicha BADI se siguen los siguientes pasos:

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    3 of 10 5/8/2015 14:44

  • 1. Acceder a la transaccin SE19, ingresar el nombre de la BADI, ADDRESS_CHECK, en el campoBAdI Name y presionar el botn Create Impl.

    2. Aparecer la siguiente ventana donde se debe ingresar, en el campo Implementation Name, unnombre de implementacin Z*. Presionar

    3. En la siguiente pantalla se debe ingresar:a. En el campo Implementation Short Text: una descripcin corta.b. En el campo Defined Filtres: los filtros con los cuales se va a ejecutar esa BADI. En elejemplo se ingresaron los filtros ES, US. Es decir, la BADI a implementar slo se ejecutar si elcampo pas contiene ES o US.

    Esta tabla est habilitada porque en la BADI se defini que se debe hacer con una definicin de filtros,es decir, el ckeckbox Filter-Dependen est seleccionado.c. Finalmente Guardar .

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    4 of 10 5/8/2015 14:44

  • Nota: La BADI ADDRESS_CHECK slo permite una implementacin activa.4. Ingresar el cdigo fuente solicitado. Para ello ir a la solapa INTERFACE, y hacer doble click sobreel mtodo IS_ACTIVE_FOR_COUNTRY.

    Aparecer la siguiente pantalla, donde se ingresar el siguiente cdigo fuente:

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    5 of 10 5/8/2015 14:44

  • 5. Por ltimo, Guardar y Activar .Para probar cmo funciona la implementacin, seguir los siguientes pasos:

    1. Acceder a la transaccin FI02 e ingresar el pas y el cdigo del banco. Por ejemplo,AR(Argentina) y 001. Luego presionar ENTER.

    2. En la siguiente pantalla seleccionar el botn Address .

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    6 of 10 5/8/2015 14:44

  • 3. En el campo Country, elegir US ES.

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    7 of 10 5/8/2015 14:44

  • 4. Y finalmente, al Aceptar aparecer el mensaje esperado.

    Tips relacionados:

    Puede encontrar ms informacin sobre ampliaciones en:Qu diferencia a las BADIS de los USER EXITS?Ampliaciones (Enhancements) a programas ABAP en ERP 6.0Conceptos de ampliaciones

    Qu recursos de ampliacin al estndar se utilizan en suorganizacin? Han experimentado con BADIS ya?

    IMPORTANTECopyright Agosto 2009. Teknoda S.A.

    IMPORTANTE:Notas tcnicas de SAP ABAP" se enva con frecuencia variable y sin cargo como servicio anuestros clientes SAP. Contiene notas/tutoriales/artculos tcnicos desarrollados en formatotalmente objetiva e independiente. Teknoda es una organizacin de servicios de tecnologainformtica y NO comercializa hardware, software ni otros productos.Si desea suscribir otra direccin de e-mail para que comience a recibir las Notas TcnicasSAP, enve un mensaje desde esa direccin a [email protected], aclarando nombre,empresa, cargo y pas del suscriptor.SAP, SAP Netweaver, R/3 y ABAP son marcas registradas de SAP AG. SAP no es el editor deesta publicacin y no es responsable de la misma en ningn aspecto. La informacin contenidaen esta publicacin ha sido generada por nuestros especialistas a partir de fuentesconsideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad deerror humano, mecnico, cambio de versin u otro, Teknoda no garantiza la exactitud ocompletud de la misma.COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SINCONSENTIMIENTO DE TEKNODA

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    8 of 10 5/8/2015 14:44

  • FICHA TECNICA: Notas tcnicas Tips de SAP Netweaver ABAP Cmo encontrar e implementarBADIS en programacin ABAP"Tema: Programacin ABAP, Enhancements. Descripcin: Conozca algunos mtodos en SAP paraencontrar BADIS y aprenda cmo implementarlas.

    Comentarios #3 Ana 05-06-2014 12:35Muy buen ejemplo

    #2 Angel 02-12-2011 14:15Que tal.. el tuto es bueno y se entiende.Lo probe un servidor y no se ejecuta la bapi.Es decir hago los cambios con US o ES y al hacer click en ok, no sale el popup.y cuando escribi el codigo y todo, guarde y activo lo mas bien.Alguien sabri porque no funca?

    #1 Angel 30-11-2011 18:07que tal!! Intente seguir este fantastico ejemplo pero, estoy en un servidor netweaver que instale,creo que se le dice miniap, y resulta que "AR" "001" no existe me dice, y no se que hacer.Como hago para encontrar datos en esta transaccion?O saber de alguna manera como trabajar y que tengo?Observe que tenes el usuario BCUSER que es de prueba tambien. Creeria que me faltariaactivar algo. Podrias decirme por favor?Desde antemano, se agradece este aporte.

    Refrescar lista de comentariosEscribir un comentario

    Nombre (requerido)

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    9 of 10 5/8/2015 14:44

  • EnviarJComments

    Copyright 2015 Teknoda tips - Tecnologia SAP Netweaver - IBM AS400 - System i - iSeries. Teknodatips es un sitio de TEKNODA S.A. - Todos los derechos reservados.Joomla! es software libre publicado bajo la licencia GNU/GPL.Todos los derechos reservados 2015 http://www.teknodatips.com.ar

    Refescar

    Buscar ms tips de SAP enTeknodatips . . .

    Cmo encontrar e implementar BADIS en programacion ABAP http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-imp...

    10 of 10 5/8/2015 14:44


Recommended