#11
|
|||
|
|||
Kelvin no puedo explicarte lo que es cada parámetro que vas a enviar a la bapi ya que necesitaríamos horas sentados los dos comentando los campo.
Eso se lo tienes que consultar a tu funcional. Haz un esfuerzo revisa los campos en el documento y en la tabla y en las estructuras de la bapi. Aqui estamos para ayudarnos pero no para hacer el trabajo de los demás. Saludos |
#12
|
|||
|
|||
Acá hay un ejemplo
Mira este código....
Es el ejemplo más simple que pude preparar para las bapis BAPI_ACC_DOCUMENT_POST y BAPI_ACC_DOCUMENT_REV_POST... Espero te sirva Saludos
__________________
Miguel Ángel Garcés Ramírez |
#13
|
|||
|
|||
Asientos Contables
Excelente!!!!
Muchas gracias, es lo que necesitaba para tener idea de como estructurar mi BAPIS y hacer los asientos contables. Muchas gracias amigos, Kelvin Acosta |
#14
|
|||
|
|||
Asiento Modulo de Inversion
Hola Amigos,
lo que me envio Graces, esta super bien. pero ahora tengo que hacer unos asientos para el modulo de inversion. osea que ellos registran una operacion llamese, compra o venta de una (accion,bonos,cupon) esto deber ser contabilizado, quiero saber, es el mismo BAPIS para hacer la contabilizacion de estos temas. porque en este caso no se como se manejaria el tema de si es un cliente o proveedor. saludos, |
#15
|
|||
|
|||
Hola me imagino que en el ejemplo has utilizado la tabla accountgl. Tienes que utilizar las tablas accountreceivable accountpayable. Saludos |
#16
|
|||
|
|||
Asientos con BAPI
Hola Bisonye,
No estoy muy claro a que se rerfiere la tabla accountreceivable , me podrias decir por favor. Saludos, |
#17
|
|||
|
|||
hola, como estas en esa tabla se indica la posicion del cliente asocioado, el cliente asociado, y datos del mismo. saludos |
#18
|
|||
|
|||
Te explico.... La tabla AccountGL se usa para posiciones que afectan cuentas de mayor (es de tipo LIKE BAPIACGL09) La tabla AccountPayable se usa para posiciones que afectan cuentas de proveedor (es de tipo LIKE BAPIACAP09) La tabla AccountRecceivable se usa para posiciones que afectan cuentas de cliente (es de tipo LIKE BAPIACAR09) La tabla AccountTax se usa para posiciones correspondientes a impuestos (es de tipo LIKE BAPIACTX09) La tabla CurrencyAmount se usa para ingresar los importes de cada posición (es de tipo LIKE BAPIACCR09) Todas estas son parámetros opcionales de la BAPI_ACC_DOCUMENT_POST, es decir, puedes ponerlas o no... La bapi tiene otros parámetros que te recomiendo que revises en la transacción SE37, así como las estructuras que te indico líneas arriba con la SE11... Espero haberte ayudado... Saludos...
__________________
Miguel Ángel Garcés Ramírez |
#19
|
|||
|
|||
Asientos contables
Hola,
he puesto en marcha el programa, pero me da el siguiente error. me podrias ayudar a saber cual es el error. aqui abajo colocolo el codigo del programa que estoy utilizando, el cual fue el que me enviaste Garces. donde he colocado xxxxx tengo datos reales. pero me da un error : E RW 609 Error en el documento: IDOC 1 0 E RW 014 Interfaz: Múltiple pos. de documento *&---------------------------------------------------------------------* *& Report ZFI_ASIENTO_OPINVE *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* report zfi_asiento_opinve. constants: gc_awtyp like bkpf-awtyp value 'IDOC'. "Tipo de Documento que genera el asiento (Te recomiendo el valor IDOC) constants: gc_awkey like bkpf-awkey value '1'. "Código del documento que genera el asiento a crear constants: gc_awkey_r like bkpf-awkey value ''. "Codigo del documento que generó el asiento a reversar (para la BAPI_ACC_DOCUMENT_REV_POST) constants: gc_awsys like bkpf-awsys value '0'. "Sistema que genera el asiento (Te recomiendo que lo dejes vacío si lo vas a generar desde SAP) constants: gc_bukrs like bkpf-bukrs value 'xxxx'. "Sociedad constants: gc_busact like bkpf-glvor value 'RFBU'. "Operación empresarial (Te recomiendo el valor RFBU) start-of-selection. perform ejecutar_bapi. * PERFORM reversar_bapi. ************************************************************************ form ejecutar_bapi. data: w_header like bapiache09. data: w_accoun like bapiacgl09. data: w_payabl like bapiacap09. data: w_custom like bapiacar09. 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_custom like bapiacar09 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-obj_type = gc_awtyp. w_header-obj_key = gc_awkey. w_header-obj_sys = gc_awsys. w_header-bus_act = gc_busact. w_header-ac_doc_no = 'xxxxxxxxxx'. w_header-username = sy-uname. "Usuario w_header-comp_code = gc_bukrs. w_header-doc_date = sy-datum. "Fecha del Documento w_header-pstng_date = sy-datum. "Fecha de contabilización w_header-trans_date = sy-datum. "Fecha de Conversión w_header-fisc_year = sy-datum+0(4). "Ejercicio w_header-fis_period = sy-datum+4(2). "Período Contable w_header-doc_type = 'SA'. "Tipo de Documento Contable (Te recomiendo 'SA') * Posición G/L clear w_accoun. w_accoun-itemno_acc = 1. "Primera posición en el documento contable w_accoun-gl_account = 'xxxxxxxxxx'. "Cuenta de Mayor - Ingresos/Inversiones append w_accoun to t_accoun. * Posicion Deudor clear w_custom. w_custom-itemno_acc = 1. w_custom-customer = 'xxxxxxxxxx'. append w_custom to t_custom. * Valores clear w_curren. w_curren-itemno_acc = 1. "Asocio con la primera posición del doc. contable w_curren-currency = 'DOP'. "Moneda w_curren-amt_doccur = 1000. "Monto append w_curren to t_curren. * Valores 2 clear w_curren. w_curren-itemno_acc = 2. "Asocio con la primera posición del doc. contable w_curren-currency = 'DOP'. "Moneda w_curren-amt_doccur = -1000. "Monto (opuesto para que cuadre es debe/haber) append w_curren to t_curren. * Llamada a la BAPI call function 'BAPI_ACC_DOCUMENT_POST' exporting documentheader = w_header tables accountgl = t_accoun accountreceivable = t_custom 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. "ejecutar_bapi ************************************************************************ form reversar_bapi. data: w_reversal like bapiacrev. data: w_return like bapiret2. data: t_return like bapiret2 occurs 1. w_reversal-obj_type = gc_awtyp. w_reversal-obj_key = gc_awkey_r. w_reversal-obj_sys = gc_awsys. w_reversal-obj_key_r = gc_awkey. w_reversal-pstng_date = sy-datum. w_reversal-comp_code = gc_bukrs. call function 'BAPI_ACC_DOCUMENT_REV_POST' exporting reversal = w_reversal bus_act = gc_busact tables 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. "reversar_bapi |
#20
|
|||
|
|||
Hola Kelvin...
Tu error está en que estás ingresando dos posiciones del documento contable con el mismo numero de item.... Se supone que la primera posicion de tu documento contable corresponde a la posición de cuenta de mayor, entonces es correcto que pongas... w_accoun-itemno_acc = 1. Sin embargo, la segunda posición de tu documento corresponde a una posición deudor, por lo tanto, deberías utilizar para ello la sentencia... w_custom-itemno_acc = 2. (actualmente le estás asignando el valor 1) Por esta razón el sistema te dice que tienes posiciones múltiples, estás ingresando en dos posiciones distintas el mismo valor 1... Luego likeas en la tabla t_curren con cada posición y debería reesolverse tu problema... Espero te haa ayudado... Saludos...
__________________
Miguel Ángel Garcés Ramírez |
Herramientas | Buscar en Tema |
Desplegado | |
|
|