...
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.
...
- 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_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:
- /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.
- 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 : Recupera las entregas y servicios para el desglose por tipo de operación en el caso que aplique.
- /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:
- /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.
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.
...