MUNDOSAP

MUNDOSAP (foro/index.php)
-   LO - MM - SD (foro/forumdisplay.php?f=11)
-   -   Bapi Crear Entrega Para Subcontratacion (foro/showthread.php?t=77469)

NatachaPNovoa 05/09/17 22:46:11

Bapi Crear Entrega Para Subcontratacion
 
Hola a todos. Necesito algo de ayuda.
Debo desarrollar un proceso Z que contempla crear una Entrega referida a un Pedido de Subcontratación.

Encuentro tres BAPI que hacen referencia a creación de Entrega:

BAPI_OUTB_DELIVERY_CREATE_SLS: no me sirve, porque está exclusivamente preparada para que el documento precedente sea una Orden de Venta.

BAPI_OUTB_DELIVERY_CREATE_STO: no me sirve, porque si bien está preparada para recibir como documento precedente un Pedido, trabaja solamente para Pedidos de Traslado. Si refiero a un Pedido con posición de subcontratación (L), no funciona.

BAPI_OUTB_DELIVERY_CREATENOREF: no logro hacerla funcionar. Pese a que no me pide documento precedente (estuve intentando crear una entrega para luego ver si podía modificarla y referirla a un pedido de subcontratación), no logro ejecutarla con los datos que deseo usar. Me está fallando cuando analiza el valor que pongo como Destinatario. Estoy usando una cuenta que cumple con el rol de interlocutor "Destinatario de mercancías" para el proveedor que recibirá los materiales en concepto de componentes por la subcontratación. Es un interlocutor de tipo WE, pero la BAPI parece esperar uno AG (Solicitante).

Analicé el código de la transacción ADSUBCON, y veo que ejecuta muchas funciones, no usa BAPI, pero no quiero copiar esa lógica tan compleja y tampoco quiero hacer un BATCHIMPUT.

¿Alguien tiene experiencia en esto, que me pueda recomendar? Desde ya a todos muchas gracias

NatachaPNovoa 09/10/17 12:14:58

Gn_delivery_create
 
Estimados, les comparto cómo solucioné mi problema de momento.
Realmente no sé si hubiera podido hacer esto con la BAPI, como yo deseaba. Analicé el programa ADSUBCON y apliqué en el programa las siguientes funciones:

'GN_DELIVERY_CREATE' informando
Tabla vbsk_i: los campos smart = 'L', ernam, erdat,uzeit y programm con los datos del ambiente;

Tabla KOMDLGN: VKORG, VTWEG, SPART con datos del centro de salida de la entrega, LFART con el tipo de entrega (que es de sub-contratación), KUNWE con el destinatario de la mercancía, MATNR y WERKS y LGORT y CHARG y VRKME del lote que va a salir, XCHPF = X por sujeto a lote, VGBEL y VGPOS con el nro. y la posición del Pedido de Compras de subcontratación, VGTYP = "V" que hace referencia a Pedido, KZAZU = X, LIFNR

Con esta función obtengo la entrega con el lote seteado, pero no queda hecho el picking.

Como yo quería que me quedara el picking completo, uso luego la función ’SD_DELIVERY_UPDATE_PICKING’, a la que fué suficiente pasarle el nro de la entrega en la tabla VBKOK_WA , y el flag SYNCHRON = X para que haga el commit, y la tabla VBPOK_TAB informando nro. de entrega, nro. y posición del pedido , y la cantidad de picking en PIKMG.

Si alguien conoce mejor forma de hacer esto, no duden en comentarme porque me interesa. Desde ya, muchas gracias


Husos Horarios son GMT. La hora en este momento es 15:27:07.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web