PDA

Ver la Versión Completa : BAPI_ACC_DOCUMENT_PO Acreedores


marianoboni
28/05/10, 13:43:42
Buenos días:
Estoy tratando de entender el funcionamiendo de esta Bapi en cuanto a que necesito emular la transaccion FB60.
Hasta ahora no hé logrado hacerla funcionar:
El escenario es el siguiente:

Cabecera de Factura
Lineas
Retenciones e impuestos

Estas son las estructuras que debo completar.
DOCUMENTHEADER cabecera
ACCOUNTGL mapea los importes a las cuentas????
ACCOUNTPAYABLE acreedor
CURRENCYAMOUNT importes
ACCOUNTTAX p/imuestos ( iva )
ACCOUNTWT p/retenciones

Pero no logro hacer que funcione.
Alguién tendra algun ejemplo o guia?

Desde ya muchas gracias!

conrad10ar
28/05/10, 14:08:09
Acá van varios post sobre esa BAPI

BAPI_ACC_DOCUMENT_POST

http://www.forosap.com/f17/bapi-acc-document-post-para-contabilizar-t1486/

http://www.forosap.com/showthread.php?t=994

Espero que algo te puedan aportar.

marianoboni
28/05/10, 15:11:03
Acá van varios post sobre esa BAPI

BAPI_ACC_DOCUMENT_POST

http://www.forosap.com/f17/bapi-acc-document-post-para-contabilizar-t1486/

http://www.forosap.com/showthread.php?t=994

Espero que algo te puedan aportar.

Te cuento que hé estado viendo varios post, el tema es que esta bapi es amplia en su uso y o se encuentra mucha documentación de como utilizarla, asi que estoy investigando y documentando su funcionamiento.
Saludos

marianoboni
01/06/10, 14:55:11
Buenos días:
En base a ejemplos plante comenzar desde lo mas basico, para luego agregar impuestos y retenciones.
El tema es que si uso el ejemplo en la prueba de BAPI, no acusa ningun error y me devuelve el numero de referencia del objeto generado ( q dicho sea de paso no se encuntra en la tabla BKPF, supongo q es porque no corre un commit ).

Ahora, si hago la misma prueba en un Z me sale los siguientes errores:

E RW 609
Error en el documento: BKPFF $
E F5 507
Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
E F5 507
Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
E F5 507
Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
E FH 004
La cuenta 7130609 no está prevista en el PlCtas. 1000.


El codigo fuentes es el siguiente:



*&---------------------------------------------------------------------*
*& Report ZTESTFAC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZTESTFAC.
CONSTANTS: gc_bukrs LIKE bkpf-bukrs VALUE '1000'.
CONSTANTS: gc_busact LIKE bkpf-glvor VALUE 'RFBU'.

START-OF-SELECTION.

PERFORM ejecutar_bapi.


************************************************************************
FORM ejecutar_bapi.

DATA: w_header LIKE bapiache09.
DATA: w_accoun LIKE bapiacgl09.
DATA: w_payabl LIKE bapiacap09.
DATA: w_taxes LIKE bapiactx09.
DATA: w_curren LIKE bapiaccr09.
DATA: w_return LIKE bapiret2.

DATA: t_accoun LIKE bapiacgl09 OCCURS 0.
DATA: t_payabl LIKE bapiacap09 OCCURS 0.
DATA: t_taxes LIKE bapiactx09 OCCURS 0.
DATA: t_curren LIKE bapiaccr09 OCCURS 0.
DATA: t_return LIKE bapiret2 OCCURS 0.

* Cabecera del documento contable
w_header-bus_act = gc_busact.
w_header-username = sy-uname.
w_header-comp_code = gc_bukrs.
w_header-doc_date = sy-datum.
w_header-pstng_date = '20100424'.
w_header-trans_date = sy-datum.
w_header-fisc_year = '2010'.
w_header-fis_period = '4'.
w_header-doc_type = 'KR'.
w_header-ref_doc_no = '0001A00099666'.


* Posición G/L
CLEAR w_accoun.
w_accoun-itemno_acc = '10'.
w_accoun-gl_account = '7130609'.
w_accoun-item_text = 'Linea a cta. gastos'.
w_accoun-comp_code = '1000'.
w_accoun-ACCT_TYPE = 'A'.
w_accoun-FM_AREA = 1000.
* w_accoun-fis_period = '04'.
* w_accoun-fisc_year = '2010'.
w_accoun-costcenter = 6900.
w_accoun-CMMT_ITEM = 'PROVEED'.

APPEND w_accoun TO t_accoun.

* Posición Acreedor
CLEAR w_payabl.
w_payabl-itemno_acc = '20'.
w_payabl-vendor_no = '0000100863'.
APPEND w_payabl TO t_payabl.

* Valores
CLEAR w_curren.
w_curren-itemno_acc = '10'.
w_curren-currency = 'ARS'.
w_curren-curr_type = '00'.
w_curren-amt_doccur = 6500.
APPEND w_curren TO t_curren.

CLEAR w_curren.
w_curren-itemno_acc = '20'.
w_curren-currency = 'ARS'.
w_curren-curr_type = '00'.
w_curren-amt_doccur = -6500.
APPEND w_curren TO t_curren.


* Llamada a la BAPI
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = w_header
TABLES
ACCOUNTGL = t_accoun
ACCOUNTPAYABLE = t_payabl
CURRENCYAMOUNT = t_curren
RETURN = t_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

LOOP AT t_return INTO w_return.

WRITE:/ w_return-type,
w_return-id,
w_return-number,
w_return-message.

ENDLOOP.

ENDFORM.

marianoboni
01/06/10, 15:13:48
Buenos días:
En base a ejemplos plante comenzar desde lo mas basico, para luego agregar impuestos y retenciones.
El tema es que si uso el ejemplo en la prueba de BAPI, no acusa ningun error y me devuelve el numero de referencia del objeto generado ( q dicho sea de paso no se encuntra en la tabla BKPF, supongo q es porque no corre un commit ).

Ahora, si hago la misma prueba en un Z me sale los siguientes errores:

E RW 609
Error en el documento: BKPFF $
E F5 507
Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
E F5 507
Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
E F5 507
Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
E FH 004
La cuenta 7130609 no está prevista en el PlCtas. 1000.


El codigo fuentes es el siguiente:



*&---------------------------------------------------------------------*
*& Report ZTESTFAC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZTESTFAC.
CONSTANTS: gc_bukrs LIKE bkpf-bukrs VALUE '1000'.
CONSTANTS: gc_busact LIKE bkpf-glvor VALUE 'RFBU'.

START-OF-SELECTION.

PERFORM ejecutar_bapi.


************************************************************************
FORM ejecutar_bapi.

DATA: w_header LIKE bapiache09.
DATA: w_accoun LIKE bapiacgl09.
DATA: w_payabl LIKE bapiacap09.
DATA: w_taxes LIKE bapiactx09.
DATA: w_curren LIKE bapiaccr09.
DATA: w_return LIKE bapiret2.

DATA: t_accoun LIKE bapiacgl09 OCCURS 0.
DATA: t_payabl LIKE bapiacap09 OCCURS 0.
DATA: t_taxes LIKE bapiactx09 OCCURS 0.
DATA: t_curren LIKE bapiaccr09 OCCURS 0.
DATA: t_return LIKE bapiret2 OCCURS 0.

* Cabecera del documento contable
w_header-bus_act = gc_busact.
w_header-username = sy-uname.
w_header-comp_code = gc_bukrs.
w_header-doc_date = sy-datum.
w_header-pstng_date = '20100424'.
w_header-trans_date = sy-datum.
w_header-fisc_year = '2010'.
w_header-fis_period = '4'.
w_header-doc_type = 'KR'.
w_header-ref_doc_no = '0001A00099666'.


* Posición G/L
CLEAR w_accoun.
w_accoun-itemno_acc = '10'.
w_accoun-gl_account = '7130609'.
w_accoun-item_text = 'Linea a cta. gastos'.
w_accoun-comp_code = '1000'.
w_accoun-ACCT_TYPE = 'A'.
w_accoun-FM_AREA = 1000.
* w_accoun-fis_period = '04'.
* w_accoun-fisc_year = '2010'.
w_accoun-costcenter = 6900.
w_accoun-CMMT_ITEM = 'PROVEED'.

APPEND w_accoun TO t_accoun.

* Posición Acreedor
CLEAR w_payabl.
w_payabl-itemno_acc = '20'.
w_payabl-vendor_no = '0000100863'.
APPEND w_payabl TO t_payabl.

* Valores
CLEAR w_curren.
w_curren-itemno_acc = '10'.
w_curren-currency = 'ARS'.
w_curren-curr_type = '00'.
w_curren-amt_doccur = 6500.
APPEND w_curren TO t_curren.

CLEAR w_curren.
w_curren-itemno_acc = '20'.
w_curren-currency = 'ARS'.
w_curren-curr_type = '00'.
w_curren-amt_doccur = -6500.
APPEND w_curren TO t_curren.


* Llamada a la BAPI
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = w_header
TABLES
ACCOUNTGL = t_accoun
ACCOUNTPAYABLE = t_payabl
CURRENCYAMOUNT = t_curren
RETURN = t_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

LOOP AT t_return INTO w_return.

WRITE:/ w_return-type,
w_return-id,
w_return-number,
w_return-message.

ENDLOOP.

ENDFORM.


Logre arreglarlo: el tema es que no me reconocia ni las cuentas ni el centro de constoluego porque no tenia concatenado los ceros delante:

w_accoun-gl_account = '0007130609'
w_accoun-costcenter = '0000006900'.


Ahora debo ver como funciona el tema del Iva ( impuestos ) y retenciones.