Concepto de mandante
El mandante (client en inglés) es uno de los conceptos fundamentales en la arquitectura SAP. Un mandante es una unidad organizativa autocontenida dentro de un sistema SAP que tiene sus propios datos maestros, transacciones y usuarios, aunque comparte el mismo código ABAP y configuración técnica con otros mandantes del sistema.
Esta separación lógica permite que múltiples organizaciones independientes utilicen el mismo sistema SAP físico sin que sus datos se mezclen. También facilita tener entornos de prueba y producción dentro del mismo sistema sin interferencias.
Separación técnica
A nivel técnico, casi todas las tablas de base de datos en SAP tienen un campo MANDT como primera columna de la clave primaria. Este campo identifica a qué mandante pertenece cada registro, permitiendo que la misma tabla física almacene datos de múltiples mandantes.
Cuando un usuario se conecta a SAP, especifica el mandante al que quiere acceder (típicamente un número de tres dígitos como 100 o 800). Todas las consultas SQL que ejecute el sistema añaden automáticamente una condición WHERE MANDT = 'XXX' para filtrar solo los datos de ese mandante.
Esta separación es transparente para los usuarios y desarrolladores ABAP. El sistema se encarga automáticamente de incluir el mandante correcto en todas las operaciones de base de datos, garantizando el aislamiento de datos.
Datos dependientes e independientes de mandante
No todos los datos en SAP están segregados por mandante. Existen dos categorías fundamentales: datos dependientes de mandante (client-dependent) y datos independientes de mandante (cross-client).
Los datos dependientes de mandante son específicos de cada organización: clientes, proveedores, pedidos de venta, documentos contables, usuarios, roles de autorización. Estos datos tienen el campo MANDT y son completamente independientes entre mandantes. Un cliente creado en el mandante 100 no existe en el mandante 200.
Los datos independientes de mandante son compartidos por todos los mandantes del sistema: programas ABAP, pantallas, estructuras de base de datos, configuración técnica del sistema, parámetros de instancia. Estos objetos no tienen campo MANDT y cualquier cambio afecta a todos los mandantes.
La configuración funcional de SAP (customizing) puede ser dependiente o independiente de mandante según el objeto específico. Por ejemplo, la configuración de empresa es dependiente de mandante (permite diferentes estructuras organizativas por mandante), mientras que la definición de variantes de país es independiente de mandante.
Mandantes estándar de SAP
Los sistemas SAP se instalan con tres mandantes estándar precreados que tienen propósitos específicos. El mandante 000 es el mandante de referencia que contiene configuración básica de SAP y plantillas de customizing. Se utiliza como origen al crear nuevos mandantes mediante copia.
El mandante 001 es una variación del 000 con ciertos ajustes. En muchas instalaciones el 000 y 001 se mantienen bloqueados y sin uso después de la instalación inicial, conservándolos solo como referencia.
El mandante 066 es el mandante SAP EarlyWatch que SAP puede utilizar para soporte remoto y análisis del sistema. Por seguridad, muchas empresas mantienen este mandante desactivado o severamente restringido.
Estrategia de mandantes en el landscape
En un landscape SAP típico, cada sistema contiene múltiples mandantes organizados estratégicamente. En el sistema de desarrollo (DEV) es común tener un mandante de desarrollo activo (ej. 110) donde se realizan cambios, un mandante de prueba técnica (ej. 120) para validaciones del equipo técnico, y posiblemente un mandante sandbox (ej. 100) para experimentación.
En el sistema de calidad (QAS) los mandantes replican la estructura de producción. Si PRD tiene mandantes 310 y 320 para dos divisiones de negocio, QAS tendrá mandantes 210 y 220 que son copias de ellos para testing.
En producción (PRD) los mandantes representan las organizaciones del negocio. Una empresa con operaciones en múltiples países puede tener un mandante por país o región, permitiendo separación de datos y reportes independientes mientras comparten el mismo landscape técnico.
Creación de mandantes
Los nuevos mandantes se crean mediante la transacción SCC4 que gestiona la administración de mandantes. El proceso implica definir el número de mandante, descripción, rol lógico y configuración de protección contra cambios.
Tras crear la definición del mandante, debe poblarse con datos iniciales. La opción más común es copiar un mandante existente utilizando transacciones de copia de mandante (SCC1, SCCL o herramientas del sistema operativo). La copia incluye datos maestros, configuración, usuarios y todo el contenido dependiente de mandante del mandante origen.
Las copias de mandante son operaciones pesadas que pueden llevar horas o días según el volumen de datos. Requieren planificación cuidadosa y ventanas de mantenimiento, especialmente si se copia el mandante productivo.
Alternativamente, un mandante puede crearse vacío e inicializarse solo con configuración básica mediante copia selectiva desde el mandante de referencia, construyendo los datos maestros gradualmente según se necesiten.
Roles de mandante
SAP define roles estándar para mandantes que determinan su propósito y nivel de protección. El rol de producción (P) marca mandantes productivos que requieren máxima protección. Los cambios están muy restringidos y cualquier modificación requiere desbloqueo explícito.
El rol de prueba (T) se asigna a mandantes de testing donde se validan cambios antes de producción. Permite más flexibilidad que producción pero sigue controlando los cambios para mantener integridad.
El rol de formación (S) es para mandantes donde se entrena a usuarios. Estos mandantes se refrescan periódicamente desde producción aplicando anonimización de datos sensibles para cumplir regulaciones de protección de datos.
El rol de desarrollo (D) permite cambios sin restricciones para facilitar el trabajo de configuración y desarrollo. Solo debe usarse en sistemas no productivos.
Protección de mandantes
La configuración de protección de mandantes controla qué tipos de cambios se permiten en cada mandante. Un mandante productivo típicamente bloquea todo tipo de customizing y desarrollo directo, requiriendo que los cambios vengan mediante transportes importados.
La protección de mandante puede configurarse para permitir o bloquear: cambios en customizing (configuración funcional), modificaciones en el repositorio ABAP (programas, objetos del diccionario), modificaciones en objetos dependientes de mandante (usuarios, roles) y grabaciones de transacciones.
Estas restricciones se configuran mediante la transacción SCC4 y son críticas para mantener la integridad del entorno productivo y garantizar trazabilidad de todos los cambios mediante el sistema de transportes.
Transporte entre mandantes
Aunque el sistema de transportes mueve objetos independientes de mandante automáticamente entre sistemas del landscape, los datos dependientes de mandante requieren gestión específica. Las órdenes de transporte pueden contener tanto objetos cross-client como client-dependent.
Los transportes de customizing capturan cambios de configuración realizados en un mandante específico de DEV. Cuando se importan en QAS o PRD, estos cambios se aplican al mandante destino especificado, que puede tener diferente número que el mandante origen.
Esta capacidad permite desarrollo centralizado en un mandante de DEV y distribución a múltiples mandantes productivos con diferentes configuraciones. Por ejemplo, desarrollar en mandante 110 de DEV y transportar selectivamente a mandantes 310, 320 y 330 de PRD.
Usuarios y mandantes
Los usuarios SAP existen dentro de mandantes específicos. Un usuario creado en el mandante 100 no puede conectarse al mandante 200, incluso en el mismo sistema, a menos que se cree también allí.
Este aislamiento garantiza segregación de accesos. Un consultor que trabaja en el mandante de desarrollo no tiene automáticamente acceso al mandante productivo, incluso si conoce la contraseña, porque son usuarios completamente separados.
Los administradores BASIS necesitan usuarios en todos los mandantes que gestionan. Típicamente tienen un usuario con autorizaciones de administración en cada mandante del landscape para ejecutar tareas de mantenimiento.
La gestión de usuarios puede centralizarse mediante UME (User Management Engine) o SAP Identity Management que sincronizan usuarios entre mandantes, pero a nivel técnico cada mandante sigue manteniendo sus propias tablas de usuarios.
Casos de uso de múltiples mandantes
Las empresas multinacionales utilizan mandantes separados para diferentes regiones geográficas, permitiendo configuraciones específicas de cada país (planes de cuentas, impuestos, reportes legales) mientras comparten la misma plataforma SAP y reducen costes de infraestructura.
Los grupos empresariales con múltiples compañías pueden asignar un mandante a cada empresa legal, manteniendo separación contable y de datos mientras consolidan reportes a nivel grupo.
Los proyectos de transformación empresarial pueden utilizar un mandante paralelo para diseñar y probar nuevos procesos sin afectar las operaciones actuales, migrando usuarios gradualmente al nuevo mandante cuando esté listo.
Los proveedores de servicios compartidos pueden alojar múltiples clientes en el mismo sistema SAP físico, usando mandantes para garantizar separación total de datos entre empresas diferentes.
Consideraciones de rendimiento
Aunque técnicamente posible, tener demasiados mandantes en un sistema puede impactar el rendimiento. Cada mandante añade datos a las tablas compartidas y puede generar carga de trabajo adicional en el sistema.
El dimensionamiento del sistema debe considerar el número de mandantes y usuarios activos en cada uno. Un sistema con cinco mandantes productivos requiere más recursos que uno con un solo mandante, incluso si el número total de usuarios es similar.
Los trabajos de administración como backups de base de datos, reorganizaciones de tablas y análisis de rendimiento deben considerar los datos de todos los mandantes, no solo del productivo principal.
Mandantes en S/4HANA
El concepto de mandante permanece en SAP S/4HANA pero con algunas diferencias. La simplificación del modelo de datos en S/4HANA afecta cómo se almacenan datos de diferentes mandantes en tablas físicas de SAP HANA.
Las capacidades de embedded analytics de S/4HANA y las vistas CDS proporcionan nuevas formas de agregar y analizar datos entre mandantes para reportes consolidados del grupo, manteniendo la separación transaccional.
En S/4HANA Cloud, las restricciones de personalización pueden limitar algunas capacidades tradicionales de gestión de mandantes, dependiendo de la variante específica de cloud que se utilice.
Preguntas Frecuentes (FAQ)
¿Qué es el mandante 000?
Es el mandante maestro o de referencia que viene preconfigurado de fábrica por SAP. Contiene todos los objetos iniciales y se utiliza como base para crear nuevos mandantes mediante copias.
¿Qué significa que un dato sea dependiente de mandante?
Significa que ese dato (como un proveedor o un pedido) solo existe y es visible dentro del mandante donde fue creado, permitiendo el aislamiento de datos entre diferentes entornos lógicos.
¿Cómo se crea un nuevo mandante en SAP?
Se crea registrándolo en la transacción SCC4 y posteriormente poblandolo mediante una 'Copia de Mandante' (SCCL) desde un mandante origen (como el 000).
Temas relacionados
Para profundizar en sistemas y mandantes, consulta:
Landscape SAP para entender cómo se organizan mandantes en el conjunto de sistemas DEV, QAS y PRD.
Conceptos básicos de arquitectura para los fundamentos técnicos subyacentes de sistemas y mandantes.
SAP BASIS para las tareas operativas de gestión de mandantes, copias y mantenimiento.
Seguridad SAP para la gestión de usuarios y autorizaciones dentro de mandantes.
Integración entre sistemas para conectar diferentes mandantes entre sí o con sistemas externos.