#1
|
|||
|
|||
Anulación Factura SD-FI
Ojalá puedan ayudarme...
El caso que tengo es el siguiente. Tengo una Factura SD la cual fue realizada su cobranza por FI y ya se encuentra compensada. Por error, un usuario generó una anulación de la factura por SD, la cual ya está compensada. Aún asi generó el documento de anulación que no apunta a ningún documento. ¿En qué parte del estándar puedo revisar la configuración en que no me permita generar la anulación de un documento compensado? ¿Eso lo tengo que revisar en FI o en SD? ¿Es necesario implementar un exit para que me realice dicha validación? Gracias. |
#2
|
|||
|
|||
Aqui hay una forma
Hola espero que te sirva en esta include RV60AFZZ
agrega el siguiente codigo: *Control de Anulación de Facturas if SY-TCODE = 'VF11'. * Si existen Solic.NC/ND o Devol. activas => No permite anular select * from vbfa where vbelv = vbrk-vbeln and posnv = space and vbtyp_n in ('K','L','H'). select single * from vbap where vbeln = vbfa-vbeln and ABGRU = space. if sy-subrc = 0. perform vbfs_hinzufuegen_allg using xvbrp-vbeln xvbrp-posnr 'ZSD' 'A' '004' vbfa-vbeln vbap-posnr space space. message id 'ZSD' type 'E' number '000' with 'Error, ver log'. endif. endselect. * Si el periodo FI está cerrado, no se permite anular data: wa_per like t001b-frpe1, wa_ejer like t001b-frye1, wa_per1(7) type c, wa_per2(7) type c, wa_perd(7) type c. tables: T001B. wa_per = xvbrk-fkdat+4(2). wa_ejer = xvbrk-fkdat+0(4). select * from T001B where RRCTY = '0' and BUKRS = xvbrk-bukrs and MKOAR in ('+','D','S') and FRYE2 <= wa_ejer and TOYE2 >= wa_ejer. if sy-subrc = 4. * Error perform vbfs_hinzufuegen_allg using xvbrp-vbeln xvbrp-posnr 'ZSD' 'A' '008' 'X' space space space. message id 'ZSD' type 'E' number '000' with 'Error, ver log'. else. * Controla si periodo está abierto concatenate T001B-FRYE2 T001B-FRPE2 into wa_per1. concatenate T001B-TOYE2 T001B-TOPE2 into wa_per2. concatenate wa_ejer wa_per into wa_perd. if not ( wa_perd >= wa_per1 and wa_perd <= wa_per2 ). * Error perform vbfs_hinzufuegen_allg using xvbrp-vbeln xvbrp-posnr 'ZSD' 'A' '008' T001B-MKOAR space space space. message id 'ZSD' type 'E' number '000' with 'Error, ver log'. endif. endif. endselect. * Controla que factura no esté compensada o tenga pago parcial * (descarta documentos temporales que aparecen al anular NC) if xvbrk-vbeln+0(1) NE '$'. data: w_belnr like bkpf-belnr, w_GJAHR like bkpf-GJAHR. select single BELNR GJAHR into (w_belnr,w_GJAHR) from bkpf where bukrs = xvbrk-bukrs and awtyp = 'VBRK' and awkey = xvbrk-vbeln. if sy-subrc = 0. select single * from bsad where bukrs = xvbrk-bukrs and kunnr = xvbrk-KUNRG and GJAHR = w_GJAHR and belnr = w_belnr. if sy-subrc = 0. * Error, factura compensada perform vbfs_hinzufuegen_allg using xvbrp-vbeln xvbrp-posnr 'ZSD' 'A' '028' xvbrk-vbeln space space space. message id 'ZSD' type 'E' number '000' with 'Error, ver log'. endif. * endif. * Identifica pagos parciales select single * from bsid where bukrs = xvbrk-bukrs and kunnr = xvbrk-KUNRG and rebzg = w_belnr and rebzj = w_GJAHR. if sy-subrc = 0. * Error, factura tiene pagos parciales perform vbfs_hinzufuegen_allg using xvbrp-vbeln xvbrp-posnr 'ZSD' 'A' '029' xvbrk-vbeln space space space. message id 'ZSD' type 'E' number '000' with 'Error, ver log'. endif. endif. endif. endif. me cuentas cono te va. |
#3
|
|||
|
|||
Gracias Marco
Lo voy a probar y te estoy informando. |
#4
|
|||
|
|||
Re: Anulación Factura SD-FI
Como están tengo el mism caso, pero las facturas se realizan desde FI y las anulan por la FB08, cuando es parcial las permite anular la Factura y estoy tratando de hacer una validación para el campo REF FACTURA = '' me indique la validación pero no lo hace
__________________
Dimas Daniel Gonzalez Parra Contador Publico | Consultor SAP FI Avenida Santa Fe | CABA |CP1059 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|