PDA

Ver la Versión Completa : Implementación de NGL BADi FAGL_DERIVE_SEGMENT


yapbig
14/10/09, 14:02:08
Tengo que implementar el NGL y derivar el Segmento con otra lógica distinta a la estándar, que lo deriva del valor cargado a nivel de datos maestros del CeBe
¿Cómo tengo que hacerlo? ¿Tengo que crear una nueva clase de implementación y en la misma codificar lo que necesito dentro del método correspondiente?
¿Cuáles son los pasos a seguir para que SAP ejecute la nueva clase de implementanción en lugar de la clase estándar?
Conozco conceptualmente la programación OO, pero no tengo mucha experiencia con la misma en SAP
¿Alguien podrá orientarme con esto?

desde ya muchísimas gracias...

andyoscky
14/10/09, 19:01:28
Si queres implementar una badi aca te envio el tutorial
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.