Implementar amarre MIGO

Para amarrar y ver de que almacén a cual almacén y a razón de que salida de mercancía se va a hacer cierta entrada.

Este caso se resuelve con un USER-EXIT y un ENHANCEMENT para realizar la actualización de los documentos, tanto el de entrada como el de salida. El USER-EXIT de la función EXIT_SAPMM07M_001 dentro tiene un INCLUDE Z llamado ZXMBCU02. Para activarlo crear un proyecto por la CMOD llamado ZMM, ampliación [MBCF0002].
el codigo ZXMBCU02
*&-------------------------------------------------------------*
*&  Include           ZXMBCU02 
*&-------------------------------------------------------------*  ****************************************************************
* Name: ZXMBCU02 
* Description:  Coloca el no. de doc de salida en el texto de 
*               posición del documento de entrada. 
* Date:    2009/02/26 
* Author:  DTSolutions RTorres **************************************************************** 
CONSTANTS: c_godynpro(21)  VALUE '(SAPLMIGO)GODYNPRO'.  
FIELD-SYMBOLS:  TYPE godynpro.  
"Asigna el valor de estructura GODYNPRO de la migo al FC 
ASSIGN (c_godynpro) TO .  
"si se presionó el boton de grabar 
IF sy-ucomm = 'OK_POST' OR sy-ucomm = 'OK_POST1'. 
"Si la operación es de almacenar. 
IF -action = 'A10'.   
"Si se hace con referencia a un documento de material   
IF -refdoc = 'R02'.     
IF -mat_doc <> ''.       
"Actualiza el texto de la posición con el no. del doc. de salida       e_sgtxt = -mat_doc.       
ENDIF.     
ENDIF.   
ENDIF. 
ENDIF.

Para el caso del ENHANCEMENT crear uno utilizando el punto que está definido debajo.


Codigo Enh.
log.Position : \PR:SAPLMIGO\EX:GOODS_MOVEMENT_FILL_05\
* DATA:       it_mkpf      TYPE STANDARD TABLE OF mkpf,       it_mseg    TYPE STANDARD TABLE OF mseg,       wa_mseg LIKE LINE OF it_mseg,       xmblnr       TYPE mkpf-mblnr,       msg(70).  "BREAK-POINT.  IF godynpro-action = 'A10'.       "si es una operacion de almacenaje    IF godynpro-refdoc = 'R02'.    "si es con un documento de referencia      SELECT SINGLE SGTXT FROM MSEG INTO xmblnr WHERE MBLNR = godynpro-mat_doc.      IF sy-subrc = 0.        IF xmblnr <> ''.         SELECT * FROM mkpf INTO CORRESPONDING FIELDS OF TABLE it_mkpf WHERE mblnr = xmblnr.          IF SY-SUBRC = 0.            SELECT * FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_mseg WHERE mblnr = xmblnr.            LOOP AT it_mseg INTO wa_mseg.             wa_mseg-sgtxt = godynpro-mat_doc.             MODIFY it_mseg FROM wa_mseg TRANSPORTING sgtxt WHERE mblnr = wa_mseg-mblnr AND ZEILE = wa_mseg-ZEILE.           ENDLOOP.            "Modifica el documento de material cambiando el texto de cabecera.           CALL FUNCTION 'MB_CHANGE_DOCUMENT'             TABLES               zmkpf = it_mkpf               zmseg = it_mseg.            IF sy-subrc <> 0.              CONCATENATE 'El documento de material' xmblnr 'no fue modificado'  INTO msg SEPARATED BY space.              MESSAGE i999(re) WITH msg.           ENDIF.          ENDIF.       ELSE.          CONCATENATE 'El documento de material' xmblnr 'no fue encontrado'  INTO msg SEPARATED BY space.          MESSAGE i999(re) WITH msg.       ENDIF.      ELSE.        CONCATENATE 'El documento de material' xmblnr 'no pudo abrirse'  INTO msg SEPARATED BY space.        MESSAGE i999(re) WITH msg.      ENDIF.   ENDIF. ENDIF.

Comentarios

Entradas populares de este blog

Direcciones en SAP

Funcion MD_CONVERT_MATERIAL_UNIT