hardrake
23/01/09, 12:05:56
Hola a todos, tengo un problema con esta BAPI. El pedido y todo lo hace bien, pero cuando tiene que meter un emisor diferente no lo hace, no se si me faltara algo o no. Pongo parte del codigo de la BAPI:
DATOS CABECERA:
header-doc_type = 'ZNB'. " Clase de documento de compras
SELECT SINGLE bukrs FROM t001k INTO header-comp_code WHERE bwkey = i_final-zzcentro. " Sociedad
SELECT SINGLE ekorg FROM t024w INTO header-purch_org WHERE werks = i_final-zzcentro. " Organización de compras
header-pur_group = '001'. " Grupo de compras
SELECT SINGLE mfrnr FROM mara INTO v_mfrnr WHERE matnr = i_final-material.
SELECT SINGLE * FROM zdistrib_agente WHERE cine = i_final-zzcentro AND distribuidora = v_mfrnr.
header-vendor = v_mfrnr.
IF sy-subrc = 0.
header-diff_inv = zdistrib_agente-agente.
ELSE.
header-diff_inv = v_mfrnr.
ENDIF.
header-creat_date = sy-datum.
* Ahora meto los campos en headerx
headerx-doc_type = 'X'.
headerx-comp_code = 'X'.
headerx-purch_org = 'X'.
headerx-pur_group = 'X'.
headerx-vendor = 'X'.
headerx-creat_date = 'X'.
headerx-diff_inv = 'X'.
Y la funcion la relleno con las siguientes tablas:
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = header
poheaderx = headerx
testrun = p_test
IMPORTING
exppurchaseorder = purchaseorder
TABLES
poitem = poitem
poitemx = poitemx
poschedule = poschedule
poschedulex = poschedulex
poaccount = bapimepoaccount
poaccountx = bapimepoaccountx
pocond = pocond
pocondx = pocondx
return = return.
Muchas gracias.
DATOS CABECERA:
header-doc_type = 'ZNB'. " Clase de documento de compras
SELECT SINGLE bukrs FROM t001k INTO header-comp_code WHERE bwkey = i_final-zzcentro. " Sociedad
SELECT SINGLE ekorg FROM t024w INTO header-purch_org WHERE werks = i_final-zzcentro. " Organización de compras
header-pur_group = '001'. " Grupo de compras
SELECT SINGLE mfrnr FROM mara INTO v_mfrnr WHERE matnr = i_final-material.
SELECT SINGLE * FROM zdistrib_agente WHERE cine = i_final-zzcentro AND distribuidora = v_mfrnr.
header-vendor = v_mfrnr.
IF sy-subrc = 0.
header-diff_inv = zdistrib_agente-agente.
ELSE.
header-diff_inv = v_mfrnr.
ENDIF.
header-creat_date = sy-datum.
* Ahora meto los campos en headerx
headerx-doc_type = 'X'.
headerx-comp_code = 'X'.
headerx-purch_org = 'X'.
headerx-pur_group = 'X'.
headerx-vendor = 'X'.
headerx-creat_date = 'X'.
headerx-diff_inv = 'X'.
Y la funcion la relleno con las siguientes tablas:
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = header
poheaderx = headerx
testrun = p_test
IMPORTING
exppurchaseorder = purchaseorder
TABLES
poitem = poitem
poitemx = poitemx
poschedule = poschedule
poschedulex = poschedulex
poaccount = bapimepoaccount
poaccountx = bapimepoaccountx
pocond = pocond
pocondx = pocondx
return = return.
Muchas gracias.