Bapi Bapi_acc_document_post
Hola Amigos
alguien tiene algun ejemplo de como utilizar esta bapi (BAPI_ACC_DOCUMENT_POST) soy nuevo en abap y me pidieron esto con urgencia alguin me puede ayudar |
A mi también me interesa mucho.
Te lo subo. Saludos! |
Hola, espero les sea de ayuda.
1) deben declarar las tablas que le van a pasar a la BAPI. DATA BEGIN OF t_cabecera OCCURS 0. INCLUDE STRUCTURE BAPIACHE09. DATA END OF t_cabecera. DATA: wa_cabecera LIKE BAPIACHE09. DATA BEGIN OF t_poscliente OCCURS 0. INCLUDE STRUCTURE BAPIACAR09. DATA END OF t_poscliente. DATA BEGIN OF t_posprove OCCURS 0. INCLUDE STRUCTURE ZBAPIACAP09. DATA END OF t_posprove. DATA BEGIN OF t_impuesto OCCURS 0. INCLUDE STRUCTURE BAPIACTX09. DATA END OF t_impuesto. DATA BEGIN OF t_importes OCCURS 0. INCLUDE STRUCTURE BAPIACCR09. DATA END OF t_importes. DATA BEGIN OF t_retenciones OCCURS 0. INCLUDE STRUCTURE BAPIACEXTC. DATA END OF t_retenciones. DATA BEGIN OF t_log OCCURS 0. INCLUDE STRUCTURE BAPIRET2. DATA END OF t_log. 2) Una vez declaradas, deben poner los datos que necesiten en cada uno de sus campos. (para ver más detalles de los campos, entren a la se37 y miren el IMPORT de la función) 3) Una vez que cargaron los datos, estos pueden ser levantando un archivo, harcodeandolos, etc, llaman a la BAPI. CALL FUNCTION 'Z_BAPI_ACC_DOCUMENT_POST' EXPORTING DOCUMENTHEADER = wa_cabecera * Prueba copia de bapi_acc_posting_document_post * IMPORTING * obj_key = l_obj_key TABLES * ACCOUNTGL = ACCOUNTRECEIVABLE = t_poscliente ACCOUNTPAYABLE = t_posprove ACCOUNTTAX = t_impuesto CURRENCYAMOUNT = t_importes * CRITERIA = * VALUEFIELD = EXTENSION1 = t_retenciones RETURN = t_log * PAYMENTCARD = * CONTRACTITEM = * EXTENSION2 = * REALESTATE = Llaman por último esta función y listo. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. Espero les halla servido, ante cualquier estoy a su disposición. :) |
Aclaración al anterior POST la llamada de la BAPI es sin 'Z_' y la estructura zbapiacap09 también es sin la Z delante.
|
Hola, espero que me puedas echar un cable acerca de esta funcion. Mi problema es que no me graba el asiento, ¿¿en que parte de la funcion efectua las grabaciones???
|
Hola, si no te está dando ningún error, lo que te falta es agregar un commit work o ejecutar la "BAPI_TRANSACTION_COMMIT" después de la BAPI.
Espero que te sirva. :) |
Hola conrad,
Te cuento estoy desarrollando un interfase, para la cual hasta que tenga datos fijos, estoy usando valores de prueba que me han pasado. Llamo a la funcion "BAPI_ACC_DOCUMENT_POST", y en la tabla de respuesta, me viene que se ha ejecutado correctamente. Y luego hago la funcion "BAPI_TRANSACTION_COMMIT". A partir de ahi, voy a ver el nuevo asiento por la transaccion FB03 y me dice que no existe. ¿Sabeis que campos son obligatorio pasarle a la funcion? O que otra cosa puede pasarme. Gracias. |
Te paso los que puse y me anduvo:
document_header: BUS_ACT USERNAME HEADER_TXT COMP_CODE DOC_DATE PSTNG_DATE DOC_TYPE REF_DOC_NO REF_DOC_NO_LONG account_receivable: ITEMNO_ACC CUSTOMER REF_KEY_1 REF_KEY_2 COMP_CODE PMNTTRMS PAYMT_REF ALLOC_NMBR ITEM_TEXT BUSINESSPLACE PYMT_CUR_ISO PYMT_AMT account_payable: ITEMNO_ACC VENDOR_NO REF_KEY_1 REF_KEY_2 COMP_CODE PMNTTRMS ALLOC_NMBR ITEM_TEXT BUSINESSPLACE PYMT_AMT PYMT_CUR_ISO PAYMT_REF currency: ITEMNO_ACC CURRENCY AMT_DOCCUR AMT_BASE Espero te halla sido de ayuda. ;) |
Estoy revisando los campos que me comentas, de todas formas, pensandolo un poco digo yo que si me faltara algun campo me devolveria un error la funcion.
O eso supongo que seria lo logico. Si se os ocurre alguna otra posibilidad de solucionarlo, soy todo oidos. |
Hola,
Estoy en la misma tesitura: la bapi teóricamente me funciona ya que me devuelve un mensaje de éxito. Realizo la llamada a la BAPI_TRANSACTION_COMMIT y ésta devuelve 0, por lo que entiendo que no ha habido problemas en el commit. Pero al ir a la FB03 para visualizar el documento éste no existe. He mirado mil cosas y me estoy volviendo loco y no sé qué puede ser. Entiendo que si me faltara algo me devolvería algún código de error, pero nada de nada. Socorro!!! PD: un saludo. Editado: también lo estoy haciendo con valores de prueba, y los datos me vendrán de una interfase (archivo), al igual que el compañero. |
Al respecto del problema que comentaba antes he encontrado esto por la web:
La cuestion que no entiendo muy bien esto.... |
Por ahí es muy obvio, pero probaron viendo los datos que devuelve la tabla, que indican en el return? por ahí se les está pasando algún error.
saludos |
Esto es la visualizacion de lo que me devuelve el return:
TYPE: S ID: RW NUMBER: 605 MESSAGE: El documento se ha contabilizado correctamente: BKPFF 04900013601 2006 LOGSYS1002 Estos son los datos que envio (Ten en cuenta q la clase de cuenta es una "S"): DocumentHeader: BUS_ACT=RFBU USERNAME=[USUARIO] HEADER_TXT='' COMP_CODE=1 DOC_DATE=20060905 PSTNG_DATE=20060701 FISC_YEAR=2006 FIS_PERIOD=07 DOC_TYPE=ZA Accountgl: ITEMNO_ACC=0000000001 GL_ACCOUNT=0004080000 ITEM_TEXT=Documento DOC_TYPE=ZA COMP_CODE=1 FISC_YEAR=2006 PSTNG_DATE=20060701 PROFIT_CTR=A001 Currencyamount: ITEMNO_ACC=0000000001 CURRENCY=EUR Return: Segun lo que te he puesto arriba. Accountreceivable en blanco. Accountpayable en blanco. Accounttax en blanco. Criteria en blanco. Valuefield en blanco. Extension1 en blanco. Paymentcard en blanco. Contractitem en Blanco. |
Probá poniendo PSTNG_DATE y doc_date con la fecha actual, para probar si así te funciona.
saludos |
Sigue igual...
|
Hola nuevamente, probá completando todos los campos que te pasé, porque según la nota de SAP cuando no lo contabiliza es porque están pasando mal los datos.
:) |
He leido, que los documentos financieros 'BKPFF' se les da un tratamiento especial, y que por eso es por lo que no se estan grabando.
Alguien me podria indicar, los pasos a seguir en este tratamiento. Y ya puestos, que les diferecia a estos documentos a los otros, para le subsodicho tratamiento personal. Gracias. |
bapi_acc_document_post
Hola:
Te recomiendo leer este post : He visto un codigo como ejemplo. Espero te ayude. Salu2 |
Buenas a todos, ya solucione el problema, y la verdad que no era tan complicado como lo veia.
El principal problema es que no me habian dado los permisos para grabar registros. Una vez tuvo permiso, cree un documento manualmente, poniendo solamente los datos que iban a venirme en el interfaz, y a partir de ahi me puse a comparar campos. Resulta que que si los valores pasados a traves del currencyaccount tienen el importe en blanco, no graba nada. Para que eso no suceda, hay q completar ese campo, asi como el Indicador de Debe y Haber, que hace que los valores sean negativos o positivos. Bueno, hasta otra y gracias por la colaboracion :D . |
Hola a todos,
También lo he solucionado gracias al link que VICHAMA ha puesto. Muchísimas gracias, te lo agradezco mucho, así como a todos los que han participado. Un saludo y reitero mi gratitud. |
Hola que tal, te comendo que yo estoy haciendo la BAPI, pero antes le paso la BAPI para checar si ese documento se puede contabilizar (BAPI_ACC_DOCUMENT_CHECK), que para el hecho la BAPI_ACC_DOCUMENT_POST es lo mismo ya que en la variable return te regresa los mismos errores si es que no puede contabilizar, solo que a mí me pasa lo mismo, esta BAPI me regresa que contabilizo correctamente el documento XXXXXXX y le hago el commit work y no guarda nada.... también estoy atorado con esto...
|
hiciste un bapi_commit ?
saludos! |
respuesta
hola si puedes pasame tu codigo
|
hola como estan? sabrian decirme porque cuando creo un documento con esta BAPI cuando lo quiero ir a ver en el libro de IVA, en el codigo el documento se trabaja como un documento MM ??
saludos |
Problema BAPI
Hola dmgman! Veo que paso mucho tiempo de tu post pero estoy teniendo el mismo problema. Podrias indicarme en donde estas completando el indicador de Debe/Haber ?
Yo no tengo importe en cero por lo cual imagino que ese no es el problema. Desde ya muchas gracias! |
Husos Horarios son GMT. La hora en este momento es 20:42:57. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web