PDA

Ver la Versión Completa : BAPI_ACC_BILLING_POST -> ¿uso?


rrr.Vanquish
24/10/06, 09:11:00
Hola a todos!

Mi aventura con las bapi's sigue con un nuevo episodio (el primero fue BAPI_ACC_GL_POSTING_POST).

Tengo que crear documentos contables de facturas, los datos de las cuales las obtengo de ficheros .txt y los guardo en tablas internas.

He estado investigando un poco y he llegado a la conclusión de que la bapi a utilizar es BAPI_ACC_BILLING_POST, pero no tengo ni idea de cómo utilizarla. He estado buscando por Internet y por el foro pero ni por asomo hay tantas cosas como en la anterior BAPI.

Alguien tiene algún código de ejemplo o me puede marcar las directrices básicas de utilización de dicha BAPI?

Muchas gracias por adelantado a todos!!

rrr.Vanquish
24/10/06, 10:22:37
He encontrado este ejemplo de código de llamada a la bapi en cuestión,
pero no consigo hacer que me reconozca el cliente.
He probado con alguna entrada de la KNA1 y de BSID o BSAK, pero no los encuentra:

Error en el documento: BKPFF $ ...

El deudor 100193 SH06 no existe.

Donde SH06 es la sociedad donde estoy haciendo las pruebas y el deudor 100193 existe en la tabla BSID.







******************************************************************
** Código de prueba para el uso de BAPI_ACC_BILLING_POST
******************************************************************

DATA: documentheader LIKE bapiache01 ,
accountreceivable LIKE bapiacar01 OCCURS 0 WITH HEADER LINE,
* wa_accountreceivable LIKE LINE OF bapiacar01,
accountgl LIKE bapiacgl01 OCCURS 0 WITH HEADER LINE,
* wa_accountgl LIKE LINE OF bapiacgl01,
currencyamount LIKE bapiaccr01 OCCURS 0 WITH HEADER LINE,
* wa_currencyamount LIKE LINE OF bapiaccr01,
accounttax LIKE bapiactx01 OCCURS 0 WITH HEADER LINE,
return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.

* header
documentheader-obj_type = 'BKPFF'.
documentheader-obj_key = '$'.
*documentheader-obj_key(10) = number.
*documentheader-obj_key+10(4) = '1000'.
*documentheader-obj_key+14(4) = '2003'.
documentheader-obj_sys = 'HOTCLNT201'.
*documentheader-obj_sys(1) = 'Z'.
*documentheader-obj_sys+1(3) = sy-sysid.
*documentheader-obj_sys+4(3) = sy-mandt.
documentheader-username = sy-uname.
documentheader-header_txt = 'BAPI Billing Example'.
documentheader-obj_key_r = ''.
documentheader-comp_code = 'SH06'.
documentheader-ac_doc_no = sy-datlo."number.
documentheader-fisc_year = '2006'.
documentheader-doc_date = '20060110'.
documentheader-pstng_date = '20060110'.
documentheader-trans_date = '20060110'.
documentheader-fis_period = '10'.
documentheader-doc_type = 'RV'.
documentheader-ref_doc_no = 'xx-xx-xx'.
documentheader-compo_acc = ''.
documentheader-reason_rev = ''.

********************************************************************
* cuentas a cobrar
*wa_
accountreceivable-itemno_acc = '1'.
accountreceivable-customer = '100193'. "Customer number
accountreceivable-item_text = 'TEXTO'. "Item Text
* wa_ACCOUNTRECEIVABLE-GL_ACCOUNT = '7690000001'.
APPEND accountreceivable." TO accountreceivable.

*wa_
accountgl-itemno_acc = '2'.
accountgl-gl_account = '9001100100'. "¿?¿?¿?¿?¿?¿?
accountgl-tax_code = 'R2'. "'K2'.
APPEND accountgl." TO accountgl.


********************************************************************
* Items
*wa_
currencyamount-itemno_acc = '1'.
currencyamount-currency = 'EUR'.
currencyamount-amt_doccur = '1200'.
APPEND currencyamount." TO currencyamount.

*wa_
currencyamount-itemno_acc = '2'.
currencyamount-currency = 'EUR'.
currencyamount-amt_doccur = '-1200'.
currencyamount-amt_base = currencyamount-amt_doccur.
APPEND currencyamount." TO currencyamount.

********************************************************************
* Llamada a la bapi de facturas

CALL FUNCTION 'BAPI_ACC_BILLING_POST'
EXPORTING
documentheader = documentheader
TABLES
accountreceivable = accountreceivable
accountgl = accountgl
accounttax = accounttax
currencyamount = currencyamount
return = return.

LOOP AT return.
WRITE : /, return-message.
ENDLOOP.

*CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* wait = 'X'
* TABLES
* return = return.

rrr.Vanquish
24/10/06, 13:29:25
Me sigo autocontestando:

Se comprueba el deudor sobre la vista VF_DEBI (vista de KNA1 y KNB1). Para que el sistema entienda bien el id del deudor, éste debe ser de 10 dígitos. Es decir, se debe completar con 0's por la izquierda.

drake316
05/04/13, 19:34:32
Podrias decirme si esta bapi funciona para postear el impuesto tambien?