Alguno de ustedes ha usado esta bapi BAPI_OUTB_DELIVERY_CHANGE para modificar las cantidades de un material dentro de una entrega?
Encontré un ejemplo en la net pero no me está funcionando, me dice que tengo problemas con las cantidades pero al final lo que quiero es modificar las cantidades.
Si alguien la ha usado y me pasa un ejemplo será agradecido por los siglos de los siglos.
Entra a la Vl02N y has el cambio del mondo despues de colocar /H en buscador, y cuando entres en modo debuging busca break-point por modulos de funciones y coloca esa bapi, ejecuta y cuando llegue alla, mira como se esta llenando a nivel estandar, y con eso resuelves.
Este tipo de bapis necesitas marcar algunos flags para que modifique ciertas cosas, veo que quieres modificar la cantidad de la entrega entonces debes llenar estas dos tablas que modifican la cantidad:
Ahora sí, no me estaba actualizando la entrega porque no le estaba pasando el Commit.
Este es el code de ejemplo que estoy usando por si las moscas:
"Esta es una prueba
SELECT * FROM lips INTO TABLE t_entregas
WHERE vbeln = no_entrega.
**Datos de cabecera*****************************************************
header_data-deliv_numb = no_entrega.
header_control-deliv_numb = no_entrega.
techn_control-upd_ind = 'U'."Actualizar
"Ahora suponemos que en t_entregas solo iran las posiciones a modificar
LOOP AT t_entregas.
item_data-deliv_numb = t_entregas-vbeln."Entrega
item_data-deliv_item = t_entregas-posnr."Posicion
item_data-material = t_entregas-matnr."Material
item_data-dlv_qty = t_entregas-lfimg."Cantidad modificada de la entrega
item_data-dlv_qty_imunit = t_entregas-lfimg."De nuevo cantidad
item_data-fact_unit_nom = t_entregas-umvkz."No sé que es pero está en la LIPS
item_data-fact_unit_denom = t_entregas-umvkn."Ni idea
item_data-sales_unit = t_entregas-vrkme."Unidad medida de venta
IF t_entregas-kzpod IS NOT INITIAL."Este campo lo tomé al azar para pasar A si se actualiza la pos
"O pasarle B si se borra la misma.
item_control-deliv_numb = t_entregas-vbeln.
item_control-deliv_item = t_entregas-posnr.
IF t_entregas-kzpod = 'A'."Actualizar
item_control-chg_delqty = 'X'.
ELSEIF t_entregas-kzpod = 'B'."Borrar
item_control-del_item = 'X'.
ENDIF.
APPEND item_control.
ENDIF.
APPEND item_data.
ENDLOOP.
"Modificar entrega
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
header_data = header_data
header_control = header_control
delivery = no_entrega
techn_control = techn_control
TABLES
item_data = item_data
item_control = item_control
return = t_return.
IF t_return[] IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
@smota standard no me apareció la bapi, le puse el commit porque en el desarrollo que estoy haciendo uso más bapis, y a todas le paso el commit, revisando me di cuenta que me faltaba eso, porque no me estaba devolviendo siquiera error al final ¯_(ツ)_/¯
Esa es la BAPI que usa el standard, hare una busqueda a ver que tal, buenisimo que resolviste con eso. Marca tu solucion como valida, y sigamos con el dia.