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.
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.