Volver al Blog

Mapeos Complejos: Dominando Java Mapping y XSLT en SAP PI/PO


El mapeo gráfico de SAP PI/PO es excelente para el 90% de los casos. Sin embargo, cuando enfrentamos payloads gigantescos, ordenamientos dinámicos complejos o manipulaciones a nivel de nodo que rompen el contexto, necesitamos herramientas más fuertes: Java Mapping o XSLT.

¿Cuándo usar qué?

  • XSLT (Extensible Stylesheet Language Transformations): Ideal para transformaciones estructurales, filtrado de nodos masivos y ordenamientos. Es declarativo y extremadamente rápido procesando XML.
  • Java Mapping: La opción definitiva cuando necesitas lógica de negocio compleja, conectarte a una base de datos externa en medio del mapeo, o utilizar librerías externas (como un parser JSON personalizado).

Ejemplo de estructura básica de un Java Mapping usando la API nativa de SAP:

import com.sap.aii.mapping.api.*;
import java.io.*;

public class MiJavaMapping extends AbstractTransformation {
    @Override
    public void transform(TransformationInput in, TransformationOutput out) throws StreamTransformationException {
        try {
            InputStream inputPayload = in.getInputPayload().getInputStream();
            OutputStream outputPayload = out.getOutputPayload().getOutputStream();
            
            // Lógica de lectura y escritura de streams aquí
            
        } catch (Exception e) {
            throw new StreamTransformationException("Error en Java Mapping: " + e.getMessage());
        }
    }
}

Referencia Oficial: SAP Help Portal - Java Mapping