MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Necesito algún ejemplo con la BAPI_ACC_GL_POSTING_POST (foro/showthread.php?t=1855)

rrr.Vanquish 25/09/06 09:31:37

Necesito algún ejemplo con la BAPI_ACC_GL_POSTING_POST
 
Hola a todos,

soy nuevo en esto de sap y una de las primeras tareas que me han encomendado es crear una interfase de carga de ficheros de texto plano que contienen datos para la contabilización (cobros, facturas, producción).

Una vez leídos los datos y guardados en tablas internas, he de contabilizar las entradas que he obtenido, y aquí es donde comienzan los problemas. Sé que tengo que utlizar la bapi bapi_acc_gl_posting_post, pero aparte de eso no tengo ni idea de cómo hacerlo.

Alguien tiene algún ejemplo de utilización de dicha bapi? Se lo agradecería mucho. Llevo 3 semanas en este trabajo y no quiero causar mala impresión.

Un saludo a todos!

rrr.Vanquish 26/09/06 10:04:31

Un empujoncito.

Gracias!

Aottone 03/10/06 22:00:26

Puedes utilizar LSMW?
 
Hola, tengo un ejemplo de uso de esta BAPI utilizando LSMW (Legacy System Manager Workbench), la use para convertir los asientos de saldos iniciales a partir de archivos TXT.
Avisame si te serviria y te envio la documentación.
Saludos

tracer 04/10/06 07:35:00

Aquí tienes un ejemplo, usalo con sabiduría :D .

report z_test_bapi_gl_ac_doc LINE-SIZE 200.

data:
obj_type like bapiache02-obj_type,
obj_key like bapiache02-obj_key,
obj_sys like bapiache02-obj_sys,
documentheader like bapiache08,

accountgl like bapiacgl08
occurs 0 with header line,
currencyamount like bapiaccr08
occurs 0 with header line,
return like bapiret2
occurs 0 with header line,
extension1 like bapiextc
occurs 0 with header line,

t_edidd like edidd occurs 0 with header line,
bapi_retn_info like bapiret2 occurs 0 with header line.
data: error_flag.


*documentheader-obj_type = 'BKPFF'.
*documentheader-obj_key = '18000000002002004'.
*documentheader-obj_type = 'BKPFF'.
*documentheader-obj_key = '180000000010002004'.

*documentheader-obj_sys = 'RD1CLNT200'.


documentheader-username = sy-uname.
documentheader-header_txt = 'Test using BAPI'.
documentheader-comp_code = '1000'.

*documentheader-ac_doc_no
*documentheader-fisc_year = '2005'.

documentheader-doc_date = sy-datum.
documentheader-pstng_date = sy-datum.

*documentheader-trans_date
*documentheader-fis_period

documentheader-doc_type = 'SA'.


*documentheader-ref_doc_no
*documentheader-compo_acc
*documentheader-reason_rev



accountgl-itemno_acc = '1'.
accountgl-gl_account = '0000160100'.
accountgl-comp_code = '1000'.
accountgl-pstng_date = sy-datum.
accountgl-doc_type = 'SA'.
accountgl-profit_ctr = '0000010000'.
append accountgl.

accountgl-itemno_acc = '2'.
accountgl-gl_account = '0000160100'.
accountgl-comp_code = '1000'.
accountgl-pstng_date = sy-datum.
accountgl-doc_type = 'SA'.
accountgl-profit_ctr = '0000010000'.
append accountgl.


*AC_DOC_NO
*FISC_YEAR
*FIS_PERIOD
*accountgl-STAT_CON = 'X'.
*REF_KEY_1
*REF_KEY_2
*REF_KEY_3
*CUSTOMER
*VENDOR_NO
*ALLOC_NMBR
*ITEM_TEXT
*BUS_AREA
*COSTCENTER
*ACTTYPE
*ORDERID
*ORIG_GROUP
*COST_OBJ
*PROFIT_CTR
*PART_PRCTR
*WBS_ELEMENT
*NETWORK
*ROUTING_NO
*ORDER_ITNO


currencyamount-itemno_acc = '1'.
currencyamount-currency = 'GBP'.
currencyamount-amt_doccur = '100.00'.
append currencyamount.

currencyamount-itemno_acc = '2'.
currencyamount-currency = 'GBP'.
currencyamount-amt_doccur = '-100.00'.
append currencyamount.


* call BAPI-function in this system
call function 'BAPI_ACC_GL_POSTING_POST'
exporting
documentheader = documentheader
* importing
* obj_type = obj_type
* obj_key = obj_key
* obj_sys = obj_sys
tables
accountgl = accountgl
currencyamount = currencyamount
return = return
extension1 = extension1
exceptions
others = 1.
if sy-subrc <> 0.
message e999(re) with 'Problem occured'.
else.
loop at return.
if not return is initial.
clear bapi_retn_info.
move-corresponding return to bapi_retn_info.
if return-type = 'A' or return-type = 'E'.
error_flag = 'X'.
endif.
append bapi_retn_info.
endif.
endloop.
if error_flag = 'X'.
message e999(re) with 'Problem occured'.
rollback work.
else.
commit work.
endif.
endif.


Un saludo a todo el foro de sap.

rrr.Vanquish 05/10/06 11:00:36

Muchísimas gracias; ya lo he probado cambiando cuentas, sociedad,... para mi sistema pero no me funciona.

He probado directamente la bapi y después de muchos intentos llego a un mensaje parecido a
E F5 702 Saldo en la moneda de transacción

Estoy buscando una configuración de parámetros que funcione, aunque sea de prueba y nada, no lo consigo. SNIF.

Aottone 05/10/06 13:04:51

Asiento desbalanceado
 
Vanquish,
El error que te da "Saldo en la moneda de transacción
Nº mensaje: F5702" es porque el asiento no esta balanceado, es decir, la suma del debe y el haber no son iguales.
Verifica eso que vas bien.
Saludos

rrr.Vanquish 20/10/06 10:06:01

Ok, después de muchas vueltas conseguí que funcionara. Era una historia rara que obligaba a pasar por una user exit usando una entrada de EXTENSION1...algo que a mi corta experiencia se le escapa.

Muchas gracias a todos por las respuestas!!!

aska 23/10/06 09:33:06

Hola,

creo que tengo un problema parecido, cuál es la Exit que estás utilizando?

Gracias!

rrr.Vanquish 23/10/06 10:13:46

Cuando tengas rellenadas las tablas con los datos necesarios (header, account, account...) añade ésto:
* Añadir tax code (para pasar a través del user exit)
extension1-field1 = 'BAPI CALL'.
APPEND extension1.

y en la llamada a la bapi le pasas la tabla extension1.

Así me ha funcionado a mi.

dmgman 24/10/06 09:31:07

Hola Vanquish,
Realmente os ha funcionado esto? Yo lo he revisado y la bapi mencionada, la tengo vacia, no tiene codigo. Una vez añadidas las lineas en la tabla Extension1 ¿os ha tocado modificar algo mas o en la bapi?

A mi me sale este error, pq cada documento financiero que paso a la bapi, solo lleva 1 posicion en BSEG con lo cual siempre hay descuadre.


Husos Horarios son GMT. La hora en este momento es 20:51:39.

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