MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 01/12/08, 23:54:47
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195
Para expertos en BAPIS y abaperos en general

Saludos a todos en el foro!!

Me han encomendado la búsqueda de una BAPI para crear una de venta y su línea ligadas a un contrato de venta, yo de bapis se muy poco (concretamente las se llamar y pasarle sus datos para la operación), pero de como buscarlar y saber el funcionamiento, nada.


Si alguien puede orientarme (o mucho mejor darme una bapi adecuada para mi encomienda) se los agredeceré infinitamente.

Y como dicen en Cuba:

Recuerdos para todos.
Responder Con Cita
  #2  
Viejo 02/12/08, 06:37:35
francesc francesc is offline
Member
 
Fecha de Ingreso: mar 2006
Localización: Barcelona
Mensajes: 58
Prueba la transacción BAPI, tal cual. Te aparecerá un tabstrip con todas las bapi ordenadas alfabéticamente y otra pestaña con las bapi ordenadas por la jerarquía a la que pertenecen.
Responder Con Cita
  #3  
Viejo 02/12/08, 07:59:09
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
Tambien puedes usar la transacción se37 para buscar funciones que realicen lo que necesitas.

Saludos
Responder Con Cita
  #4  
Viejo 02/12/08, 08:16:10
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, España
Mensajes: 227
Yo, cuando tengo que buscar una bapi para algún proceso tiro inicialmente de los foros oficiales de SAP
--> arriba a la izq 'FORUMS'

En la ventana de búsqueda suelo pone 'BAPI' mas algo concreto de lo que quiero que haga ( si es crear pedido como la me21n , 'BAPI create po ME21N' ) y le doy a buscar.

Suerte
Responder Con Cita
  #5  
Viejo 02/12/08, 10:29:58
Ruben_cs Ruben_cs is offline
Junior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 24
Espero que te sirva esto:

Como encontrar la BADI que necesitamos

Existen varios métodos para encontrar la BADI que necesitamos pero nosotros vamos a explicar un método basado en la transacción ST05 (Performance Analysis).

Esta técnica de análisis se basa en el echo de que todas las BADIS’s están registradas en tablas de SAP. Por lo que en cada llamada a una Badi el sistema pasa por estas tablas. Las tablas de las BADIS son las siguientes SXS_INTER, SXC_EXIT, SXC_CLASS y SXC_ATTR. A estas tablas Sap siempre accede mediante las vistas V_EXT_IMP y V_EXT_ACT. Por lo que estas vistas (T: SE11) serán la base de nuestro análisis.

EJEMPLO:

Supongamos que quiero saber que BADIS son llamadas en la transacción “Maintain Business Partners” código BT

PASOS:

1.- Primero chequeamos que ningún otro usuario (T:SM04) o jobs en fondo (T: SM50) están usando el mismo usuario que tú.

2.- Nos vamos a la transacción ST05 (Performance Analysis) y marcamos el flag "Buffer trace", después pulsamos el botón “Activate Trace “, para activar el Trace.

3.- Inmediatamente después ya que el sistema está ya “Grabando” nos vamos a la transacción 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 teníamos abierta la ST05 y pulsamos el botón "Deactivate Trace" para finalizar el trace y pulsamos sobre el botón "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 botón "Copy (F8)" , Fill Operations: OPEN y pulsamos el botón "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 estándar de Sap para las “ BAdI class interfaces “. El nombre de la BAdI está después 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 transacción SE18 puedes ver la definición de la BADI.

Aconsejamos durante la realización del Trace no ejecutar ninguna otra transacción o comando que no sean los propios de análisis si queremos obtener unos resultados lo más limpios posibles. Bien pues ya podéis realizar una función que propiamente es de analista .

No obstante podemos ver una lista de las BADI’s disponibles haciendo lo siguiente:
- Vamos a la Transacción SE18
- Pulsamos F4 para desplegar el matchcode
- Hacemos click en el icono “Sistema de información”
- Aumentamos el campo “Cant. Máxima aciertos” a 999999
Hacemos click en OK.

Se nos listará de esta forma las BADIS disponibles.

Como Implementar una BADI

Las transacciones con las que vamos a trabajar con las BADI’s son las:

SE18 – Definición de BADIS
SE19 – Implementación de BADIS

Supongamos que hemos elegido la BADI ME_PROCESS_PO_CUST y su método CLOSE que cubren necesidades especificas de la creación y modificación de pedidos de materiales, transacciones ME21N y ME22N.

Por lo tanto:

Obtener la información relevante de BADIs realizando los siguientes pasos:

- Vamos a la transacción SE18 con la BADI ME_PROCESS_PO_CUST estamos trabajando en este grupo de badi (ME21N)
- Click en visualizar
- Click en la solapa Interfase
- Doble click en CLOSE
- Click en la solapa Parameters, en este caso vemos a IM_HEADER.

En tipo de referencia vemos que su tipo es IF_PURCHASE_ORDER_MM

Hallar los métodos disponibles para cada parámetro:

Supongamos que hemos elegido ME_PROCESS_PO_CUST y dentro de el a POST

- Vamos a la SE18 con la BADI ME_PROCESS_PO_CUST
- Click en visualizar
- Click en la solapa Interfase
- Doble click en POST

Se presentan sus parámetros
Cada uno tiene un tipo de referencia
El primero es un simple tipo de datos EBELN
El segundo IM_HEADER en cambio es tipo IF_PURCHASE_ORDER_MM
Si se hace doble click sobre IM_HEADER aparecen los metodos disponibles.
.
.
CREATE_ITEM
GET_DATA
GET_PREVIOUS_DATA
.
.
Etc.

Para hallar detalles de cada método hacer doble click sobre cada uno, por
ejemplo
Doble click sobre GET_DATA
Click en parametros
Aparece como parámetro 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 implementación no esta definida, la
primera ves que se entra a SE19 hay que crear la implementación con el mismo
nombre que ya existe en SE18.

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
- 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.
- 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
- Click en solapa interfase
- Doble click sobre CLOSE
- Introducir la clave
- Editar el texto del código fuente.

Importante, nunca olvides hacer la activación formal:

- Vas a la Transacción SE19 SE19
- Click en el menú superior Implementación
- Click en activar.

Si no no funcionara.

--------------------------------------------------------------------------

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.
Responder Con Cita
  #6  
Viejo 02/12/08, 10:38:38
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
Hola Rubén,

La explicación es buenísima (De hecho me la he guardado en mis favoritos) pero zonanet busca BAPIS

Gracias por la explicación
Responder Con Cita
  #7  
Viejo 02/12/08, 13:13:05
Ruben_cs Ruben_cs is offline
Junior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 24
upsss, es verdad. Lo siento se me fue la pinza. jejeje
Responder Con Cita
  #8  
Viejo 02/12/08, 18:43:25
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195
Gracias a todos por su tiempo y colaboración

Lo que hice fue entrar a la transacción BAPI y buscar las bapis para SO CREATE, encontré 3, me junté con el funcional de SD y probamos las 3, la que más le convención fue la primera BAPI_SALESORDER_CREATEFROMDAT1.

Saludos.
Responder Con Cita
  #9  
Viejo 25/03/09, 03:59:26
Avatar de Edd_401
Edd_401 Edd_401 is offline
Senior Member
 
Fecha de Ingreso: may 2007
Mensajes: 119
QUE NO EL TEMA CENTRAL ERA BAPIS ?????

EN FIN, BUEN APORTE DE BADIS !!!

Responder Con Cita
  #10  
Viejo 11/09/14, 21:28:16
VMENA VMENA is offline
Junior Member
 
Fecha de Ingreso: mar 2013
Mensajes: 9
BAPI Transaccion FWZZ

Buenas tardes,

Compañeros alguien tiene información de esta BAPI.
BAPI_FP_CREATEFROMDATA
funciona solo para dos Registros de la misma condicion, pero con tres genera un error que no permite cargar la bapi..

- Número títulos-valores: , Carga errada , mensaje: Una plaza bursátil sólo puede asignarse una vez a un género

y solo se le esta enviando una Plaza Bursátil para los tres!

Muchas gracias por cualquier ayuda!!!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 11:40:44.


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