Ver Mensaje Individual
  #3  
Viejo 28/11/07, 09:09:17
vickxo vickxo is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Madrid, Espaņa
Mensajes: 118
Anulacion documento de material

Yo uso
BAPI_GOODSMVT_CREATE
Para la creacion y la anulacion de docucumentos de material.
El tema radica en el tipo de movimiento que quieras tronar por ejemplo si es un 101 lo anularias con uno 102.
Si no tienes idea de como usarla ejecuta la trasaccion MIGO con la cual anulas los movimiento, inserta break points por funcion y en el momento en el que veas la BAPI podras explorar como se usa, si no checa este codigo


goodsmvt_header-pstng_date = sy-datum.
goodsmvt_header-doc_date = sy-datum.

goodsmvt_code-gm_code = '04'.

*goodsmvt_item-material = 'OB-000006-1441'.
goodsmvt_item-plant = 'Z001'.
goodsmvt_item-stge_loc = 'A001'.
goodsmvt_item-move_type = '351'.
*goodsmvt_item-sales_ord = '4300002609'.
*goodsmvt_item-s_ord_item ='10'.
*goodsmvt_item-sched_line ='0001'.
*goodsmvt_item-spec_stock ='E'.
goodsmvt_item-entry_qnt ='5'.
*goodsmvt_item-batch ='0000156779'. " Si dejo esto marca error interno.
goodsmvt_item-po_number = '4300002609'.
goodsmvt_item-po_item = '10'.


APPEND goodsmvt_item.

goodsmvt_item-plant = 'Z001'.
goodsmvt_item-stge_loc = 'A001'.
goodsmvt_item-move_type = '351'.
goodsmvt_item-entry_qnt ='5'.
goodsmvt_item-po_number = '4300002609'.
goodsmvt_item-po_item = '20'.


APPEND goodsmvt_item.




CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = goodsmvt_header
goodsmvt_code = goodsmvt_code
testrun = testrun
IMPORTING
goodsmvt_headret = goodsmvt_headret
materialdocument = materialdocument
matdocumentyear = matdocumentyear
TABLES
goodsmvt_item = goodsmvt_item
goodsmvt_serialnumber = goodsmvt_serialnumber
return = return
afs_goodsmvt_sku = afs_goodsmvt_sku.


IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

LOOP AT return.
WRITE / return-message.
ENDLOOP.
Responder Con Cita