ABAP - BAPI_SALESORDER_CHANGE

 
Vista:

BAPI_SALESORDER_CHANGE

Publicado por may (4 intervenciones) el 07/09/2007 14:10:19
Hola!

Tengo un problema con la bapi "BAPI_SALESORDER_CHANGE".

Tengo que cambiar el centro y almacén de la líneas de pedido, por lo que primero
*se recuperan las líneas existentes ("BAPI_SALESORDER_GETLIST"),
*luego se borran ("BAPI_SALESORDER_CHANGE"), con updateflag='D'.
*y por último se vuelven a insertar con los nuevos centro y almacén ("BAPI_SALESORDER_CHANGE") con el flag updateflag='I'.

El caso es que hasta borrar lo hace bien, pero al insertar las nuevas líneas deja la cantidad de palets (kwmeng) a 0. Todos los demás datos los inserta correctamente.

El campo en el que inserto la cantidad es i_tab_item-target_qty, tb he probado con i_tab_item-RNDDLV_QTY y i_tab_item-COMP_QUANT, pero no parece ser ninguno.

La tabla i_tab_item y i_tab_itemx están bien informadas, con los valores necesarios y al terminar la BAPI tmabién. Después de cada BAPI hago la COMMIT correspondiente.

La BAPI no da ninguna clase de error. Y no se me ocurren más cosas

Si alguien la ha usado y le suena el error, o si alguien se le ocurre alguna idea... :-)

Gracias!!!

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:BAPI_SALESORDER_CHANGE

Publicado por Abap_younglin (2 intervenciones) el 11/09/2007 03:31:54
Hola, tal vez las ideas suenen algo obvio y quizá ya lo hayas hecho, pero ahi van:

-Que en el i_tab_itemx, todos los campos esten indicados con 'X'.

-Revisar a detalle los mensajes de la tabla RETURN, ¿todos son tipo 'S'? ¿hay alguno que sea tipo 'I' información, 'W' warning o 'E' Error? La BAPI por lo regular devuelve un SY-SUBRC = 0.

-He léido en algunos foros en inglés, que para modificar la cantidad se debe probar con los parametros SCHEDULE_LINES y SCHEDULE_LINESX .

-Probar la "BAPI_SALESORDER_CHANGE". La estructura de encabezado BAPISDH1X con updateflag = 'U', pero indicando con 'X' los campos que se modificaran,en este caso los campos donde almacenas el centro y el almacén.

Mucho éxito. "Que la fuerza te acompañe"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por may (4 intervenciones) el 11/09/2007 13:42:10
Hola!!

Pues sí que me ha servido una de las sugerencias. Me faltaba de rellenar la tabla schedule de líneas de reparto y por eso sumaba 0. No me había fijado en esa tabla porque la ponen como opcional...

De todas maneras, ya para rematar :-), crea una línea de reparto adicional por la misma cantidad; con lo que si en un principio tenía una línea de producto terminado por 1BOT y una línea de embalajes por 2, ahora me crea otra de embalajes por 2, con lo que en el pedido me aparecen 4, y así sucesivamente.

He mirado las 4 tablas (i_tab_item, i_tab_itemx, i_tab_schedule, i_tab_schedulex) y todas ellas tienen 2 líneas bien informadas, la BAPI no da mensajes de error ni advertencia, pero al ir a mirar cómo ha quedado el pedido, se ve que ha creado una línea de reparto adicional.

Alguna sugerencia...?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por Abap_younglin (2 intervenciones) el 12/09/2007 01:35:21
En este caso, ¿como están los updateflag de i_tab_itemx y de i_tab_schedulex? Por lo que escribes me parece que los dos están como updateflag = 'i', puede ser por eso que inserta los registros dos veces: uno desde el i_tab_item y otro desde el i_tab_schedule.

Prueba eliminando los parametros de i_tab_item, i_tab_itemx y ejecuta la BAPI con i_tab_schedule, i_tab_schedulex solamente.

Espero que sea de utilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por may (4 intervenciones) el 14/09/2007 13:48:36
Hola!

Ya he solucionado mis problemas.

Los cuento por si a alguien le sirve.

Hasta borrar las líneas de pedido no tuve problemas.

Al usar la BAPI_SALESORDER_CHANGE para insertar de nuevo las líneas pero con el centro y almacén cambiados (que es lo que yo quería) he hecho:

* Informar la i_tab_headerx con el updateflag a U.
* Informar la i_tab_item con las dos (o las que sean ) líneas de pedido, y se informa su tabla de x con los campos a informar y el flag de updateflag a I.
* Informar la i_tab_schedule los con los repartos cuya línea de pedido sea producto terminado (vbap-uepos = 0). Si se informan todos los repartos, añade una linea de reparto del embalaje automaticamente (cogiéndolo de 'su padre') y otra porque se la metes en esta tabla., así que se duplica la cantidad de embalaje.
* Informar la i_tab_schedulex con los campos a modificar y su udateflag a I.
* Llamar a la bapi:
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = v_vbeln
order_header_inx = i_tab_headerx
TABLES
return = i_return_bapi
order_item_in = i_tab_item
order_item_inx = i_tab_itemx
schedule_lines = i_tab_schedule
schedule_linesx = i_tab_schedulex.

Si a alguien le pasaba algo parecido, espero que le sirva de ayuda.

Muchas gracias.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por Jorge Servín (1 intervención) el 07/12/2007 08:28:17
Hola que tal, oye quiero insertar líneas pero no tengo todos los parámetros y no me hace nada tendras código de como insertar nuevos materiales con esta BAPI? porque me sería de mucha ayuda.

Saludos, Jorge.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por Sagrario (1 intervención) el 30/04/2009 17:04:50
Hola May podria ver tu codigo por favor.

solo en la parte que llenas tus tablas de p_schedule y p_schedule
_inx ya que me pide el numero de reparto pero no se si traer el maximo de la tabla??? o que le pusiste?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por May (4 intervenciones) el 01/02/2010 19:25:36
Hola,

Lo siento, ya no trabajo con ABAP y no tengo acceso al código que hice :-S

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por Gus (1 intervención) el 18/06/2010 20:15:00
Ups pues a que te metiste???? porque otro tipo de desarrollo no deja dinero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BAPI_SALESORDER_CHANGE

Publicado por Hleon (1 intervención) el 12/04/2013 02:20:05
pero para modifcar la cantidad, de la tabla item ...
lo que hace es sumar las cantidad... como puedo modificarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar