Autor Tema: BAPI_SALESORDER_CHANGE  (Leído 15558 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado javi.mart

  • Novato
  • *
  • Mensajes: 5
    • Ver Perfil
BAPI_SALESORDER_CHANGE
« en: 26 de Junio de 2009, 12:04:25 pm »
Buenas!

Tengo que eliminar pedidos de ventas de forma masiva  debido que se han duplicado por error.
He econtrado esta bapi BAPI_SALESORDER_CHANGE que según pone en la documentación es para modificar o eliminar pedidos.
He encontrado la forma de eliminar/modificar o añadir lineas pero no la forma de eliminar el pedido entero...

Alguien sabe como se hace??

muchas gracias

Desconectado jorge

  • Novato
  • *
  • Mensajes: 1
    • Ver Perfil
Re: BAPI_SALESORDER_CHANGE
« Respuesta #1 en: 03 de Febrero de 2011, 07:26:55 pm »
Para borrar los pedidos necesitas la BAPI 'BAPI_SALESORDER_CHANGE'

  E_ORDERM-sd_doc_cat  = 'C'.                            "Tipo de Documento Comercial
  E_ORDERMX-UPDATEFLAG = 'D'.                         " La 'D' nos indica que es de borrado

  CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
      SALESDOCUMENT     = V_VBELN                    "Aqui se inserta el numero del documento a borrar
      ORDER_HEADER_IN   = E_ORDERM
      ORDER_HEADER_INX  = E_ORDERMX
      behave_when_error = 'P'
    TABLES
      RETURN          = RETURN_MO.


  READ TABLE RETURN_CO WITH KEY TYPE = 'E'.      "Se ven los mensajes de tipo 'E' (Error)
   IF SY-SUBRC EQ 0.
      MESSAGE E000(ZSD) WITH  RETURN_CO-MESSAGE+0(20)
                                            RETURN_CO-MESSAGE+20(20)
                                            RETURN_CO-MESSAGE+40(20).
   ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.   "Si no hay mensajes de error se guardan cambios
      MESSAGE S000(ZSD) WITH 'Se Borro el Pedido ' V_VBELN.
   ENDIF.