Ver Mensaje Individual
  #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