/
11.2.2.1 Descripción general de implementación (IS-U)

11.2.2.1 Descripción general de implementación (IS-U)

Todas las ampliaciones de mapeo siguen un protocolo común a la hora de su implementación.

En primer lugar se comprueba en el excel de mapeos (suministrado en la documentación técnica de la herramienta) cuál es la asignación que se hace por defecto para cada campo. Si esta coincide con la propuesta del cliente de la implantación, entonces no hay que efectuar ninguna modificación adicional. Si por el contrario la propuesta difiere, hay que determinar si existe una ampliación de tipo BAdI que nos permita cambiar el mapeo para que tome el valor solicitado.

Todas las BAdIs que se pueden utilizar para cambiar los mapeos por defecto están agrupadas en el punto de ampliación /EDGE/SII_MAPEOS_ISU.


Partiendo de este repositorio de ampliaciones y comprobando el código del método GET_ESTRUCTURA_XML de la clase que aplique al mapeo del campo en cuestión podemos determinar la existencia (o no) de una alternativa de ampliación a través de BAdI.

Cada flujo va a tener suministradas una o dos BAdIs. Las finalizadas en el sufijo "_CL" solamente proporcionan una serie de métodos sin código por defecto y que nosotros deberemos completar con el mapeo correspondiente. Las que no tienen sufijo "_CL" suministran un código base por defecto que se puede alterar para ajustarlo a las necesidades de cada cliente.


  • BAdIs con implementación por defecto:

    • /EDGE/BADI_SII_MAPEOS_FE_IS: Esta BAdI es utilizada para campos a mapear en el libro de facturas emitidas IS-U, los métodos que contiene son los siguientes:
      • GET_TIPO_FACTURA: Recupera el tipo de factura.
      • GET_FACTURAS_RECTIFICATIVAS: Recupera las facturas rectificativas.
      • GET_IMPORTE_RECTIFICATIVAS: Recupera el importe de las facturas rectificativas.
      • GET_REGIMEN_ESPECIAL: Recupera el valor del régimen especial.
      • GET_SOCIEDAD: Recupera el valor de la sociedad.
      • SET_SOCIEDAD: Asigna el valor de la sociedad.
      • GET_PERIODO_IMPOSITIVO: Recupera el período impositivo.
      • GET_NUMERO_FACTURA: Recupera el valor de número de factura.
      • GET_BASE_IMPONIBLE: Recupera el valor de la base imponible.
      • GET_DATOS_CONTRAPARTE: Recupera los diferentes datos de identificación de la contraparte (Nombre razón, código de país, NIF, etc...).
      • GET_DESC_OPERACION: Recupera la descripción de la operación.
    • /EDGE/BADI_SII_MAPEOS_FE_SD: Esta BAdI es utilizada para campos a mapear en el libro de facturas emitidas SD, los métodos que contiene son los siguientes:
      • GET_SOCIEDAD: Recupera el valor de la sociedad.
      • SET_SOCIEDAD: Asigna el valor de la sociedad.
      • GET_PERIODO_IMPOSITIVO: Recupera el período impositivo.
      • GET_NUMERO_FACTURA: Recupera el valor de número de factura.
      • GET_DATOS_CONTRAPARTE: Recupera los diferentes datos de identificación de la contraparte (Nombre razón, código de país, NIF, etc...)
      • GET_DESC_OPERACION: Recupera la descripción de la operación.
  •  
    • /EDGE/BADI_SII_MAP_FE_SD_11BAdI para mapeos de la versión 1.1 del XML. Esta BAdI tiene una implementación por defecto y la clase que utiliza para ellos es la /EDGE/CL_SII_MAP_FE_FICA_11.
      • GET_MACRODATO: Determina el mapeo del campo macrodato.
      • GET_DESC_OPERACION: Determina el mapeo del campo descripción operación.
      • GET_DETALLE_EXENTA: Determina el mapeo del nuevo bloque Detalle Exenta.


  • BAdIs sin implementación por defecto:

    • /EDGE/IF_SII_MAPEOS_FE_IS_CLI: Esta BAdI es utilizada para campos a mapear en el libro de facturas emitidas para IS-U, los métodos que contiene son los siguientes:
      • GET_EMISOR_RESUMEN: Recupera resumen de emisor.
      • ES_ALTA_NEGATIVA: Determinación de si es un alta negativa.
      • GET_NIF_REPRESENTANTE: Recupera el NIF del representante.
      • ES_NO_SUJETA: Determinación de si una factura es no sujeta.
      • GET_IMPORTE_NO_SUJETA: Recupera el importe de facturas no sujetas.
      • GET_FACTURAS_AGRUPADAS: Recupera datos de facturas agrupadas.
      • GET_TIPO_RECTIFICATIVA: Recupera el tipo de factura rectificativa.
      • GET_CAUSA_EXENCION: Recupera campo de la causa de exención.
      • GET_ENTREGA_O_SERVICIO: Recupera las entregas y servicios para el desglose por tipo de operación en el caso que aplique.
    • /EDGE/BADI_SII_MAPEOS_FE_SD_CL: Esta BAdI es utilizada para campos a mapear en el libro de facturas emitidas para SD, los métodos que contiene son los siguientes:
      • GET_EMISOR_RESUMEN: Recupera resumen de emisor.
      • ES_ALTA_NEGATIVA: Determinación de si es un alta negativa.
      • GET_NIF_REPRESENTANTE: Recupera el NIF del representante.
      • ES_NO_SUJETA: Determinación de si una factura es no sujeta.
      • GET_IMPORTE_NO_SUJETA: Recupera el importe de facturas no sujetas.
      • GET_FACTURAS_AGRUPADAS: Recupera datos de facturas agrupadas.
      • GET_TIPO_RECTIFICATIVA: Recupera el tipo de factura rectificativa.
      • GET_CAUSA_EXENCION: Recupera campo de la causa de exención.
      • GET_ENTREGA_O_SERVICIO: Recupera las entregas y servicios para el desglose por tipo de operación en el caso que aplique.
      • GET_NUM_REGISTRO_ACUERDO: Recupera el valor del campo  número de registro acuerdo facturación.
      • GET_TIPO_FACTURA: Recupera el tipo de factura.
      • GET_REGIMEN_ESPECIAL: Recupera el valor del régimen especial.
      • GET_FACTURAS_RECTIFICADAS: Recupera las facturas rectificativas.
      • GET_IMPORTE_RECTIFICATIVAS: Recupera el importe de las facturas rectificativas.
      • GET_BASE_IMPONIBLE: Recupera el valor de la base imponible.
      • GET_TIPO_NO_EXENTA: Recupera el valor del campo tipo no exenta.
  •  
    • /EDGE/BADI_SII_MAP_FE_SD_11_CLBAdI para mapeos de la versión 1.1 del XML sin implementación por defecto. Los métodos que la forman son:
      • GET_FACT_DISP_ADICIONAL: Método para calcular el mapeo del campo Facturación Disposición Adicional Tercera y Sexta y del Mercado Organizado del Gas.

      • GET_FACT_SIN_IDENTIF_DEST: Método para calcular el mapeo del campo Factura sin Identif. Destinatario Aritculo 6.1.d.

      • GET_ENTIDAD_SUCEDIDA. Método para calcular el mapeo del campo Entidad Sucedida.
      • GET_REG_PREVIO: Método para calcular el mapeo del campo Reg. previo GGEE o REDEME o Competencia.
      • GET_FACT_SIMPLIF_ARTIC: Método para calcular el mapeo del campo Factura Simplificada Articulos 7.2 y 7.3.
      • GET_NUM_REG_ACUERDO: Método para calcular el mapeo del campo Número Registro Acuerdo Facturación.
      • GET_REFERENCIA_EXTERNA: Método para calcular el mapeo del campo Referencia Externa.
      • GET_DATOS_INMUEBLE: Método para calcular las referencias catastrales posteriores a la 15 para el libro de inmuebles adicionales.
      • DETERMINA_REF_CATAST:  Método para determinar si hay que crear un eDocument de Inmuebles adicionales. Se utiliza en las BTEs de creación para la generación de este libro.


De no existir una alternativa de ampliación vía BAdI para el campo hay que valorar la opción de implementar una clase Z como hija de la clase /EDGE/CL_EDOC_SII_MAP_IS_L. Una vez hecho esto, redefiniríamos el método GET_ESTRUCTURA_XML utilizando el método super para reutilizar la lógica existente con las modificaciones que consideremos necesarias o directamente volver a escribirlo por completo. Otra posibilidad es crear una ampliación POST u OVERWRITE sobre el método GET_ESTRUCTURA_XML.








Related content

Avvale 2024