#1
|
|||
|
|||
Badi O User Exit Migo
Hola a todos,
Alguién me podría decir alguna BADI o USER EXIT para la transacción MIGO, para poder grabar a parte de la tabla correspondiente en una tabla Z el número de documento generado y el documento al que hace referencia. Gracias de antemano y un saludo, |
#2
|
||||
|
||||
Hola Buenos días,
Con el codigo que te pongo a continuacion tendras un programa que poniedole la transacción te dice las user que utiliza, seguro que te ayuda el ternelo siempre a mano: *&---------------------------------------------------------------------* *& Report ZUSER_EXIT *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zuser_exit. TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir. TABLES : tstct. DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE. DATA : field1(30). DATA : v_devclass LIKE tadir-devclass. PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY. SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode. IF sy-subrc EQ 0. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'PROG' AND obj_name = tstc-pgmna. MOVE : tadir-devclass TO v_devclass. IF sy-subrc NE 0. SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna. IF trdir-subc EQ 'f'. SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna. SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'FUGR' AND obj_name EQ enlfdir-area. MOVE : tadir-devclass TO v_devclass. ENDIF. ENDIF. SELECT * FROM tadir INTO TABLE jtab WHERE pgmid = 'R3TR' AND object = 'SMOD' AND devclass = v_devclass. SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND tcode EQ p_tcode. FORMAT COLOR COL_POSITIVE INTENSIFIED OFF. WRITE:/(19) 'Transaction Code – ', 20(20) p_tcode, 45(50) tstct-ttext. SKIP. IF NOT jtab[] IS INITIAL. WRITE:/(95) sy-uline. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 sy-vline, 2 'Exit Name', 21 sy-vline , 22 'Description', 95 sy-vline. WRITE:/(95) sy-uline. LOOP AT jtab. SELECT SINGLE * FROM modsapt WHERE sprsl = sy-langu AND name = jtab-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE:/1 sy-vline, 2 jtab-obj_name HOTSPOT ON, 21 sy-vline , 22 modsapt-modtext, 95 sy-vline. ENDLOOP. WRITE:/(95) sy-uline. DESCRIBE TABLE jtab. SKIP. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE:/ 'No of exits:' , sy-tfill. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(95) 'No user exit exists'. ENDIF. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(95) 'Transaction code does not exist'. ENDIF. AT LINE-SELECTION. GET CURSOR FIELD field1. CHECK field1(4) EQ 'JTAB'. SET PARAMETER ID 'MON' FIELD sy-lisel+1(10). CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN. |
#3
|
||||
|
||||
Para la MIGO tienes la siguiente BADI: MB_MIGO_BADI
Para lo que quieres hacer puedes utilizar el método POST DOCUMENT Tienes como parámetros de entrada la cabecera y pos. del documento de material generado |
#4
|
|||
|
|||
Muchísimas gracias me pondre ahora mismo a echarle un vistazo gracias
|
#5
|
|||
|
|||
Buenos días ahora tengo otro problemilla, necesito recuperar el número de documento que introducimos en la cabecera para hacer el movimiento correspondiente en la MIGO, y guardarlo en una tabla Z, como puedo llamar al método donde se encuentra dicho numero desde el de POST_DOCUMENT Y no lo consigo.
En espera de vuestras respuestas muchas gracias de antemano y un saludo, |
#6
|
||||
|
||||
Si te refieres al doc. de compra en la MSEG tienes los campos EBELN y EBELP
|
#7
|
|||
|
|||
A lo que me refiero es al documento que introducimos en pantalla esta guardado en la la MSEG¿? es el que metemos en cabecera para luego dar posición OK a las posiciones que nos trae y luego nos genera el nuevo documento de entrada de mercancia.
|
#8
|
||||
|
||||
Sip, se guarda en las posiciones, en la tabla MSEG que la tienes como parametro de entrada en POST_DOCUMENT tienes los campo
EBELN Número de pedido EBELP Número de posición del documento de compras LFBNR Número de documento de un doc.de referencia LFPOS Posición de un documento de referencia SMBLN Número de documento material SMBLP Posición en documento de material Y muchos mas, mira en la SE11 -> MSEG |
#9
|
|||
|
|||
Muchas gracias, ya esta.
UN saludo |
#10
|
|||
|
|||
Tengo un problema no me lo guarda en la tabla z que tengo destinado a ella. Voy a debuguear y directamente se me va de ahi a hacer todo lo de la mseg. que puede ser¿? muchas gracias
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|