PDA

Ver la Versión Completa : Actualizar condiciones de precio Ventas.


parrillero
04/03/14, 07:10:58
Buenas,

VA02 --> Pasar a --> Posición --> Condiciones --> Actualizar

Estoy intentando simular la actualización de precios de un pedido a nivel de posición. No hay manera.... el proceso que sigo es un informe y selecciono una serie de pedidos dependiendo de unas condiciones.

El usuario selecciona el pedido deseado a nivel de posición y ejecuta el botón "actualizar precio".

Para ello estoy utilizando la función BAPI_SALESORDER_CHANGE:

-------------------------------------------
LOOP AT lt_index_row INTO le_index_row.
READ TABLE ti_alv INTO wa_alv INDEX le_index_row-index.

IF sy-subrc EQ 0.

le_order_header_inx-updateflag = 'U'.
le_logic_switch-pricing = 'C'.

le_order_item_in-itm_number = wa_alv-posnr.
le_order_item_inx-itm_number = wa_alv-posnr.
le_order_item_inx-updateflag = 'U'.

APPEND le_order_item_in TO lt_order_item_in.
APPEND le_order_item_inx TO lt_order_item_inx.

CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = wa_alv-vbeln_a
order_header_inx = le_order_header_inx
logic_switch = le_logic_switch
TABLES
return = lt_return
order_item_in = lt_order_item_in[]
order_item_inx = lt_order_item_inx[].


LOOP AT lt_return INTO le_return.
MOVE-CORRESPONDING le_return TO le_log.
le_log-vbeln = wa_alv-vbeln_a.
APPEND le_log TO ti_log.
CLEAR: le_return,
le_log.
ENDLOOP.

**** Guardado de los datos en DDBB
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = '1'.

ENDIF.
CLEAR: le_index_row,
le_order_header_inx,
le_logic_switch.
REFRESH: lt_order_item_in,
lt_order_item_inx.
ENDLOOP.

-------------------------------------------

No me hace absolutamente nada. Me muestra el mensaje de que el proceso ha sido el correcto pero nada. Alguna ayuda??? Gracias de antemano.