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
  #1  
Viejo 28/01/09, 18:57:39
Avatar de xinitta
xinitta xinitta is offline
Junior Member
 
Fecha de Ingreso: feb 2008
Mensajes: 2
Problema con creacion de documento contable

Hola a todos...

necesito de su ayuda nunca he trabajado con BAPI y tengo que modificar un programa que no realice yo, que como dice crea documentos contables.. el problema si no me equivoco es con la BAPI 'BAPI_ACC_DOCUMENT_POST' que manda un error (adjunto imagen)... por favor si me pudiesen ayudar se los agradeceria mucho, ya que tengo muy poco tiempo para poder dar con el error.

adjunto el programa (ZFI_DOCU_CONTABLE), el txt (prueba) y la imagen con el error..

de ante muchas gracias...

Saludos...
Imágenes Adjuntas
Tipo de Archivo: jpg imagen error.jpg (58.9 KB, 27 visitas)
Archivos Adjuntos
Tipo de Archivo: txt ZFI_DOCU_CONTABLE.txt (18.4 KB, 28 visitas)
Tipo de Archivo: txt prueba.txt (245 Bytes, 13 visitas)
Responder Con Cita
  #2  
Viejo 29/01/09, 08:37:40
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
Pues tienes dos errores diferentes. El error de la moneda es que estás intentando relacionar la línea de moneda con una línea del documento que no existe. Parece que tu documento tiene dos líneas, pon número 1 y 2 a las líneas de moneda para que funcione.

El otro es por el número de deudor. Está bastante claro, no existe. Revisa el maestro de deudores para buscar el número correcto.

Saludos
Responder Con Cita
  #3  
Viejo 29/01/09, 15:16:01
Avatar de xinitta
xinitta xinitta is offline
Junior Member
 
Fecha de Ingreso: feb 2008
Mensajes: 2
ya lo solucione ahora si contabiliza ...
tan solo era que faltaba algunas cositas en el codigo...

FORM preparar_contabilizacion.
DATA : cont TYPE i,
zlin TYPE i,
w_kostl(10) TYPE n.

LOOP AT ti_posicion WHERE budat <> ' '.

CHECK ti_posicion-newko NE '0'.
* CHECK ti_posicion-wrbtr_4 = '0'.
cont = 1.

* Llena la estructura s_documentheader cabecera de documento
PERFORM set_document_header.

* Si es una cuenta deudor
IF ti_posicion-newbs > 0 AND ti_posicion-newbs < 20.
CLEAR ti_accountreceivable.
ti_accountreceivable-itemno_acc = cont.
ti_accountreceivable-customer = ti_posicion-newko.
* ti_accountreceivable-item_text = 'Factura'.
APPEND ti_accountreceivable.
ENDIF.
* Si es una cuenta Acreedor
IF ti_posicion-newbs > 20 AND ti_posicion-newbs < 40.
ENDIF.
* Si es una cuenta de mayor
IF ti_posicion-newbs3 >= 40 AND ti_posicion-newbs3 <= 50.
CLEAR ti_accountgl.
ADD 1 TO cont.
ti_accountgl-itemno_acc = cont.
ti_accountgl-gl_account = ti_posicion-newko3.
ti_accountgl-tax_code = ti_posicion-mwskz1.

IF NOT ti_posicion-kostl IS INITIAL.
IF ti_posicion-kostl CO '0123456789 '.
w_kostl = ti_posicion-kostl.
ti_accountgl-costcenter = w_kostl.
ELSE.
ti_accountgl-costcenter = ti_posicion-kostl.
ENDIF.
ENDIF.
APPEND ti_accountgl.

ENDIF.
IF ti_posicion-newbs4 >= 40 AND ti_posicion-newbs4 <= 50.
CLEAR ti_accountgl.
ADD 1 TO cont.
ti_accountgl-itemno_acc = cont.
ti_accountgl-gl_account = ti_posicion-newko4.
ti_accountgl-tax_code = ti_posicion-mwskz2.
APPEND ti_accountgl.
ENDIF.

* Ingresa cuenta indicador de impuesto
CLEAR ti_accounttax.
ADD 1 TO cont.
ti_accounttax-itemno_acc = cont.
ti_accounttax-gl_account = ti_posicion-newko2.
ti_accounttax-tax_code = ti_posicion-mwskz1.
APPEND ti_accounttax.

* Ingresar la posicion en su moneda respectiva
CLEAR ti_currencyamount.
ti_currencyamount-itemno_acc = '1'.
ti_currencyamount-currency = ti_posicion-waers.
IF ti_posicion-blart = 'DC' OR ti_posicion-blart = 'DY'. "Nota Credito
* Ingresar positivo o negativo el importe dependiendo de si pertenece al H o S
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_d * -1.
ti_currencyamount-amt_base = ti_posicion-wrbtr_d * -1.
APPEND ti_currencyamount.

IF ti_posicion-wrbtr_3 IS NOT INITIAL.
ti_currencyamount-itemno_acc = '2'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_3.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3.
APPEND ti_currencyamount.
ENDIF.
IF ti_posicion-wrbtr_h IS NOT INITIAL.
ti_currencyamount-itemno_acc = '3'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_h.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3.
APPEND ti_currencyamount.
ENDIF.
IF ti_posicion-wrbtr_4 IS NOT INITIAL.
ti_currencyamount-itemno_acc = '4'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_4.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3.
APPEND ti_currencyamount.
ENDIF.
ELSE.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_d.
ti_currencyamount-amt_base = ti_posicion-wrbtr_d.
APPEND ti_currencyamount.
IF ti_posicion-wrbtr_3 IS NOT INITIAL.
ti_currencyamount-itemno_acc = '2'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_3 * -1.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3 * -1.
APPEND ti_currencyamount.
ENDIF.
IF ti_posicion-wrbtr_h IS NOT INITIAL.
ti_currencyamount-itemno_acc = '3'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_h * -1.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3 * -1.
APPEND ti_currencyamount.
else.
ti_currencyamount-itemno_acc = '3'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_h * -1.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3 * -1.
APPEND ti_currencyamount.

ENDIF.
IF ti_posicion-wrbtr_4 IS NOT INITIAL.
ti_currencyamount-itemno_acc = '4'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_4 * -1.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3 * -1.
APPEND ti_currencyamount.
else.
ti_currencyamount-itemno_acc = '4'.
ti_currencyamount-currency = ti_posicion-waers.
ti_currencyamount-amt_doccur = ti_posicion-wrbtr_4 * -1.
ti_currencyamount-amt_base = ti_posicion-wrbtr_3 * -1.
APPEND ti_currencyamount.

ENDIF.
ENDIF.

PERFORM call_bapi.
CLEAR: s_documentheader, ti_accountreceivable, ti_accountgl, ti_accounttax, ti_currencyamount.
REFRESH: ti_accountreceivable, ti_accountgl, ti_accounttax, ti_currencyamount.
ENDLOOP.
ENDFORM. "preparar_contabilizacion


gracias...
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 07:13:32.


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