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