MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Bapi_incominginvoice_create (foro/showthread.php?t=47850)

frank_jruiz 12/01/12 19:26:51

Bapi_incominginvoice_create
 
hola, estoy realizando la implementacion de la BAPI BAPI_INCOMINGINVOICE_CREATE el cual tengo el siguiente codigo.

*Cabecera
L_HEADERDATA-INVOICE_IND = 'X'.
L_HEADERDATA-DOC_TYPE = 'RE'.
L_HEADERDATA-DOC_DATE = '20111130'.
L_HEADERDATA-PSTNG_DATE = '20111130'.
L_HEADERDATA-REF_DOC_NO = 'PRUEBA A'.
L_HEADERDATA-COMP_CODE = '1000'.
L_HEADERDATA-CURRENCY = 'COP'.
L_HEADERDATA-GROSS_AMOUNT = '6000000'.
L_HEADERDATA-CALC_TAX_IND = 'X'.


*pedido POS

LT_ITEMDATA-INVOICE_DOC_ITEM = '000006'.
LT_ITEMDATA-PO_NUMBER = '5000021945'.
LT_ITEMDATA-PO_ITEM = '00020'.
LT_ITEMDATA-REF_DOC = '5000142047'.
LT_ITEMDATA-REF_DOC_YEAR = '2011'."AÑO Fecha factura EKBE
LT_ITEMDATA-REF_DOC_IT = '0001'.
LT_ITEMDATA-TAX_CODE = 'V0'.
LT_ITEMDATA-ITEM_AMOUNT = '6000000'."WRBTR
LT_ITEMDATA-QUANTITY = '30.000'."MENGE-EKBE
LT_ITEMDATA-PO_UNIT = '10'.
APPEND LT_ITEMDATA.

*RETENCIONES ***************

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = '+P' .
LT_WITHTAXDATA-WI_TAX_CODE = '+P' .
LT_WITHTAXDATA-WI_TAX_BASE = '6000000' .
LT_WITHTAXDATA-WI_TAX_AMT = '0.00' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = '+Q' .
LT_WITHTAXDATA-WI_TAX_CODE = '+Q' .
LT_WITHTAXDATA-WI_TAX_BASE = '700000' .
LT_WITHTAXDATA-WI_TAX_AMT = '0.00' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = '/A' .
LT_WITHTAXDATA-WI_TAX_CODE = '/A' .
LT_WITHTAXDATA-WI_TAX_BASE = '730000' .
LT_WITHTAXDATA-WI_TAX_AMT = '0.00' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = '/C' .
LT_WITHTAXDATA-WI_TAX_CODE = '/C' .
LT_WITHTAXDATA-WI_TAX_BASE = '4570000' .
LT_WITHTAXDATA-WI_TAX_AMT = '475377' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = '/D' .
LT_WITHTAXDATA-WI_TAX_CODE = '/D' .
LT_WITHTAXDATA-WI_TAX_BASE = '1818400' .
LT_WITHTAXDATA-WI_TAX_AMT = '0.00' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = '/E' .
LT_WITHTAXDATA-WI_TAX_CODE = '/E' .
LT_WITHTAXDATA-WI_TAX_BASE = '200000' .
LT_WITHTAXDATA-WI_TAX_AMT = '0.00' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

LT_WITHTAXDATA-SPLIT_KEY = '000001' .
LT_WITHTAXDATA-WI_TAX_TYPE = 'CE' .
LT_WITHTAXDATA-WI_TAX_CODE = 'CE' .
LT_WITHTAXDATA-WI_TAX_BASE = '50000' .
LT_WITHTAXDATA-WI_TAX_AMT = '0.00' .
LT_WITHTAXDATA-WI_TAX_WITHHELD_AMT = '0.00' .
APPEND LT_WITHTAXDATA.

CLEAR: LT_WITHTAXDATA,
LT_ITEMDATA.

CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
EXPORTING
HEADERDATA = L_HEADERDATA
* ADDRESSDATA = ADDRESSDATA
* IMPORTING
* INVOICEDOCNUMBER = INVOICEDOCNUMBER
* FISCALYEAR = FISCALYEAR
TABLES
ITEMDATA = LT_ITEMDATA
* ACCOUNTINGDATA = LT_ACCTDATA
* GLACCOUNTDATA = GLACCOUNTDATA
* MATERIALDATA = MATERIALDATA
* TAXDATA = TAXDATA
WITHTAXDATA = LT_WITHTAXDATA
* VENDORITEMSPLITDATA = VENDORITEMSPLITDATA
RETURN = RETURN .

pero al realizar la prueba me genera el mensaje siguiente:

1 E M8 412 Indicador de retención impuestos requiere entrada de importe base 000000 WITHTAXDATA 000001 0 SOLSEP400

ya he probado enviando el importe de diferentes manera pero no me contabiliza.

frank_jruiz 12/01/12 20:09:05

Bapi_incominginvoice_create
 
Hola el problema es que todos los indicadores deben tener la base en este caso el primero no la tiene
gracias.

frank_jruiz 12/01/12 20:39:50

Bapi_incominginvoice_create
 
ya la Bapi esta funcionando pero no genera RETURN para hacer la conta bilizacion que puede ser ??

Attilio Travascio 24/08/19 04:25:42


Solo dejo esta respuesta, por si alguien busca la información, si la tabla RETURN, llega vacía, es porque no se encontró ningún error.

Debes revisar los parámetros de Export, que indican el Numero del documento creado y el año fiscal.

ximena251 26/08/19 17:42:37

En estos te devuelve los datos

invoicedocnumber = lv_doc
fiscalyear = lv_year


ya solo si lv_doc no viene vacío, le aplicas un commit

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.

Saludos.




Husos Horarios son GMT. La hora en este momento es 06:09:56.

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