PDA

Ver la Versión Completa : Pedido con BAPI_PO_CREATE1 no recepciona


mekachu
22/05/08, 11:02:20
Hola a todos :

He creado un programa que genera un pedido de compras con la BAPI_PO_CREATE1 y posteriormente hace un 101 con la BAPI_GOODSMVT_CREATE.

El problema es que el pedido se crea bien, pero luego al hacer el 101 me dice que el pedido no contiene posiciones seleccionables y no me permite crear la entrada de mercancías.
Sin embargo, si creo el pedido a mano si me permite hacer las entradas con mi programa.

Supongo que me debe faltar algún parámetro en la bapi, pero no se me ocurre cuál puede ser.

Adjunto la lista de parámetros que le paso.

* Rellenar datos de cabecera
e_cabecera-comp_code = '2100'.
e_cabecera-doc_type = 'ZREV'.
e_cabecera-purch_org = l_orgcompras. " '2120'.
e_cabecera-pur_group = l_grcompras. " 'S06'.
e_cabecera-vendor = l_vendor.
* e_cabecera-ref_1 = xlikp-vbeln. "codigo de la entrega de salida

e_cabecerax-comp_code = 'X'.
e_cabecerax-doc_type = 'X'.
e_cabecerax-purch_org = 'X'.
e_cabecerax-pur_group = 'X'.
e_cabecerax-vendor = 'X'.
* e_cabecerax-ref_1 = 'X'.

l_numpos = 10.

* Rellenar poitem
t_poitem-po_item = l_numpos.
t_poitem-material = 'SERVICIO'.
t_poitem-short_text = l_descripcion.
t_poitem-plant = xlikp-vstel.
* t_poitem-stge_loc = ''.
t_poitem-quantity = '1'.
t_poitem-acctasscat = 'Y'.
t_poitem-net_price = l_precio.
t_poitem-conf_ctrl = '0004'.

t_poitemx-po_item = l_numpos.
t_poitemx-material = 'X'.
t_poitemx-short_text = 'X'.
t_poitemx-plant = 'X'.
* t_poitemx-stge_loc = 'X'.
t_poitemx-quantity = 'X'.
t_poitemx-acctasscat = 'X'.
t_poitemx-net_price = 'X'.
t_poitemx-conf_ctrl = 'X'.

APPEND t_poitem.
APPEND t_poitemx.

* Rellenar poschedule
t_schedule-po_item = l_numpos.
t_schedule-delivery_date = xlikp-lfdat.

t_schedulex-po_item = l_numpos.
t_schedulex-delivery_date = 'X'.

APPEND t_schedule.
APPEND t_schedulex.

* Rellenar el pocond
t_pocond-itm_number = l_numpos.

* t_pocondx-itm_number = l_numpos.

*
* append t_pocond.
* append t_pocondx.

t_poaccount-po_item = l_numpos.
t_poaccount-quantity = '1'.
t_poaccount-costcenter = ''.
t_poaccount-gl_account = c_cuenta.

APPEND t_poaccount.
CLEAR t_poaccount.

t_poaccountx-po_item = l_numpos.
t_poaccountx-quantity = 'X'.
t_poaccountx-costcenter = 'X'.
t_poaccountx-gl_account = 'X'.


APPEND t_poaccountx.
CLEAR t_poaccountx.

El_Sapote
22/05/08, 14:00:57
Hacerle commit a la primera BAPI BAPI_PO_CREATE1
y asegurarte que la compra no tenga activado confirmacion de entrega.


Crea manualmente la P.O desde ME21N , despues intenta recepcionar con la Tx MIGO. Sucede el mismo error?

En tu codigo en que momento llamas las BAPIS???. No olvides validar la tabla return de ambas, si trae datos es que hay un error.

Saludos.