Está en la página 1de 4

La BADI a usar es la MB_MIGO_BADI, a ella se accede desde la transaccin SE18 y se puede entrar por

modificacion


Una vez dentro tenemos que crear una implementacin de esta BADI, para ello vamos a
Implementation/create

(En esta pantalla se puede observar que el nombre de la interface que usa esta BADI es
IF_EX_MB_MIGO_BADI)





Indicamos un nombre para esta implementacin, en el ejemplo Z_MIGO

Esto nos creara una implementacin de la BADI y nos propondr un nombre para la clase que vamos a
crear (el cual se puede cambiar) y que usara la interface que utiliza la BADI (IF_EX_MB_MIGO_BADI).

A partir de este momento es donde podemos utilizar la clase Z_MIGO para hacer las modificaciones que
necesitemos y que se usaran cada vez que se ejecute la MIGO.







Los mtodos donde haremos las modificaciones seran los mtodos PBO_HEADER y POST_DOCUMENT.
En el mtodo POST_DOCUMENT es donde nos llega la informacin de cabecera IS_MKPF y las posiciones
del documento de material IT_MSEG.

En concreto el dato que necesitamos esta en la tabla IT_MSEG en el campo AUFNR.
En este mtodo es donde haremos un EXPORT con una variable o una tabla (dependiendo si por
definicin solo habria una orden o varias se usara una u otra opcin), esto nos servir para mandar a
memoria el dato que necesitaremos despus.







El otro mtodo a modificar es el PBO_HEADER

Por este mtodo pasa varias veces antes y despus de contabilizar pero solamente la sentencia los
IMPORT recuperara valores despus de la contabilizacin que es donde nos interesa recuperar el dato.
Con el IMPORT recuperamos el dato AUFNR que es el que necesitamos para realizar el proceso, para
esto esta el IF NOT v_aufnr IS INITIAL (IF NOT it_aufnr[] IS INTIAL en el caso de que sean varios AUFNR),
dentro de este IF es donde tendramos que hacer todo el proceso y a lo ultimo hacer un FREE MEMORY
de las variables de memoria que usamos para que no se vuelvan a leer las otras veces que pase por este
lugar despus de haber hecho lo que queremos.

También podría gustarte