MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #11  
Viejo 04/12/08, 13:23:18
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
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
Responder Con Cita
  #12  
Viejo 04/12/08, 14:13:45
Garces Garces is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 321
Thumbs up 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
Archivos Adjuntos
Tipo de Archivo: txt ZPRUEBABAPI.txt (4.6 KB, 1571 visitas)
__________________
Miguel Ángel Garcés Ramírez
Responder Con Cita
  #13  
Viejo 04/12/08, 18:18:41
kelvin.acosta kelvin.acosta is offline
Member
 
Fecha de Ingreso: ago 2008
Mensajes: 37
Thumbs up 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
Responder Con Cita
  #14  
Viejo 11/12/08, 20:53:46
kelvin.acosta kelvin.acosta is offline
Member
 
Fecha de Ingreso: ago 2008
Mensajes: 37
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,
Responder Con Cita
  #15  
Viejo 12/12/08, 06:07:05
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635

Hola me imagino que en el ejemplo has utilizado la tabla accountgl. Tienes que utilizar las tablas accountreceivable accountpayable.

Saludos
Responder Con Cita
  #16  
Viejo 12/12/08, 12:49:35
kelvin.acosta kelvin.acosta is offline
Member
 
Fecha de Ingreso: ago 2008
Mensajes: 37
Asientos con BAPI

Hola Bisonye,

No estoy muy claro a que se rerfiere la tabla accountreceivable , me podrias decir por favor.

Saludos,
Responder Con Cita
  #17  
Viejo 12/12/08, 13:03:12
marianoa marianoa is offline
Member
 
Fecha de Ingreso: jun 2007
Mensajes: 77

hola, como estas en esa tabla se indica la posicion del cliente asocioado, el cliente asociado, y datos del mismo.
saludos
Responder Con Cita
  #18  
Viejo 12/12/08, 18:28:00
Garces Garces is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 321


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
Responder Con Cita
  #19  
Viejo 12/12/08, 20:02:20
kelvin.acosta kelvin.acosta is offline
Member
 
Fecha de Ingreso: ago 2008
Mensajes: 37
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
Responder Con Cita
  #20  
Viejo 14/12/08, 19:58:56
Garces Garces is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 321
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 15:34:22.


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