✒️El landscape de SAP
El landscape de SAP
Ambientes, Mandantes y Clases de desarrollo o Paquetes
Ambientes y Mandantes: Como en todos los ámbitos de desarrollo de software, se configuran en SAP tres ambientes, uno de desarrollo, uno de pruebas y otro de producción, que es donde se utilizan las aplicaciones desarrolladas y probadas satisfactoriamente.
AMBIENTE: Es un servidor donde ha sido instalado el sistema SAP. Por ejemplo: el ambiente de desarrollo se instala en el servidor 1, el ambiente de pruebas se instala en el servidor 2 y el ambiente de producción se instala en el servidor 3.
Los programadores tendremos acceso para desarrollar nuestros programas en el ambiente de desarrollo.
Accederemos al ambiente de testing o pruebas para probar en forma integral y con datos actualizados nuestros programas y muy ocasionalmente ingresaremos al ambiente de producción, en caso de que se haya reportado alguna incidencia o error, que requiere de nosotros para ser detectado y solucionado.
A su vez, en cada ambiente, existen distintos mandantes, siendo independientes los datos que se visualizan en cada mandante dentro del mismo ambiente. Por ejemplo, puede existir el mandante 100, que se utiliza para la configuración del sistema, el mandante 200 que se utiliza para el desarrollo de las aplicaciones y el mandante 300, que se utiliza para las pruebas unitarias dentro del ambiente de desarrollo.
MANDANTE: Es una instancia creada dentro de un ambiente, que se utiliza para configuración, desarrollo o pruebas. Por último, existen dentro de cada mandante, dos tipos de objetos, los que son independientes de mandante y los que son dependientes de mandante. Por ejemplo, un programa es independiente de mandante ya que, si lo creamos en el mandante 200, el programa también va a existir en los mandantes 100 y 300.
Los datos de una tabla son dependientes del mandante ya que, si a esta tabla le ingresamos registros en el mandante 200, estos registros no van a existir en los restantes mandantes dentro del mismo ambiente.
En el gráfico que vemos a continuación, tenemos una posible distribución de los mandantes y los ambientes dentro de una instalación SAP.
Los datos de las bases de datos y los formularios (concepto que veremos más adelante) son dependientes del mandante en el que fueron creados.
Mandantes Estándar: Cualquier sistema SAP se instala inicialmente con tres mandantes estándar.
Las funciones de los mandantes estándar son las siguientes:
Mandante 000: es el mandante de referencia. No contiene datos de parametrización empresarial y por lo tanto las creaciones de mandante propios se deben hacer como copias de este para asegurarnos que empezamos la parametrización desde cero.
Durante un cambio de versión de SAP los datos dependientes de mandante se actualizan automáticamente en el 000 y los cambios al resto de mandantes se deben hacer desde aquí.
No debe modificarse o borrarse ningún aspecto del mandante 000.
Mandante 001: es el mandante de ejemplo. Inicialmente es idéntico al 000 y salvo que lo cambiemos nosotros, ninguna actualización de SAP lo va a modificar, al contrario de lo que ocurre con el 000. Siempre lo podemos tener como ejemplo de la instalación inicial, aunque SAP no impone ninguna prohibición de cambiarlo o borrarlo.
Mandante 066: es el mandante del servicio EarlyWatch, cuyo objetivo es garantizar la confidencialidad de nuestros datos reales en productivo. Este mandante está aislado y es al cual se conecta SAP cuando le pedimos que nos realice un servicio de detección de problemas de rendimiento. Los usuarios de este mandante tienen las autorizaciones mínimas para poder ejecutar el informe de rendimiento. Este mandante tampoco debe ser borrado ni modificado nunca.
Mandantes Propios: A partir del mandante de referencia 000 podemos crear tantos mandantes como queramos (siempre que el tamaño de nuestra base de datos nos lo permita). En el ambiente de desarrollo se suelen crear varios mandantes, en integración o testing algunos menos y en el ambiente de producción solo debe existir un mandante propio.
A continuación, vamos a describir los mandantes que se crean habitualmente y cuáles son sus funciones. Aunque vemos que tienen un número asignado, esto se ha hecho para facilitar la diferenciación entre ellos.
En nuestro sistema SAP nosotros podemos darle el número que queramos a cada mandante propio.
Es posible implementar SAP con más o menos mandantes de los indicados, pero hay que buscar el equilibrio entre muchos y pocos. Con pocos mandantes podemos tener conflictos durante la parametrización, el desarrollo de programas o las pruebas, pero con muchos mandantes estaremos aumentando el tamaño de la base de datos y empeorando el rendimiento además de requerir un mayor esfuerzo en los procedimientos de administración de sistemas.
Las funciones de los mandantes propios son las siguientes:
Mandante 200: Desarrollo y parametrización en el sistema de desarrollo. Aquí iniciamos nuestro prototipo de empresa y creamos los primeros desarrollos a medida que sean necesarios. Los programadores y consultores de aplicación trabajan en este sistema. No tendremos datos maestros ni transaccionales de manera que la pruebas las realizaremos en el mandante 220 después de pasar todos los cambios hechos aquí.
Mandante 210: se lo conoce como Sandbox. Las pruebas inusuales de parametrización las realizaremos en el 210 de manera que no interrumpamos el trabajo normal del mandante 200. Los cambios que hagamos aquí no se registran en ningún sitio de manera que si probamos algo en lo que nos va bien debemos repetirlo a mano en el 200 para que quede grabado en una orden de transporte (concepto que veremos más adelante) y se pueda pasar al mandante de pruebas unitarias. Periódicamente y para mantener el mandante limpio se hará una copia de refresco desde el 220.
Mandante 220: Pruebas unitarias en desarrollo. Los responsables de desarrollo y parametrización efectuarán aquí las pruebas unitarias del prototipo que se está creando. Aquí sí que tendremos datos maestros y transaccionales, aunque no serán muy fiables debido a que la parametrización puede cambiarse.
Mandante 300: Pruebas integradas y control de calidad en integración. La función de este mandante es similar a la del 220 pero con la diferencia de que las pruebas incluyen la interacción entre los diferentes módulos, rendimiento y aprobación del usuario.
También se comprueba que el paso de las órdenes de transporte desde el ambiente de desarrollo sea correcto como garantía de que el paso de esas mismas órdenes a producción también lo sea.
Mandante 310: Formación a usuarios finales. Una vez superadas las pruebas correspondientes al mandante 300, pasamos el prototipo aquí para que los usuarios finales reciban los cursos de formación y tengan un sitio donde poder seguir practicando después. De esta manera, los datos maestros y transaccionales que crean no nos interfieren en nuestro trabajo habitual.
Mandante 320: Maestro de parametrización. Este mandante se usa únicamente como referencia para poder consultar la parametrización que tenemos en productivo sin tener que acceder a la máquina de productivo, no obligándonos a dar acceso a la misma a personal no autorizado.
Para que cumpla su función se deben transportar los cambios al mandante 400 y al 320 al mismo tiempo y mantenerlos siempre sincronizados.
Mandante 400: Mandante productivo. Aquí es donde se lleva a cabo la explotación real del software. Este es el único mandante propio que debe existir en el ambiente productivo. Antes del arranque en productivo realizaremos aquí las cargas iniciales de datos maestros, movimientos e históricos.
Clase de desarrollo o Paquete
CLASE DE DESARROLLO: La Clase de Desarrollo o también llamada "Paquete", es una forma de organizar todos los nuevos objetos que se crean en SAP, clasificándolos generalmente por módulos. Poniendo un ejemplo, un objeto sería un archivo y la clase de desarrollo sería la carpeta donde guardamos el archivo.
Existe la Clase de Desarrollo $TMP, que se utiliza para los objetos temporales que no se van a transportar entre ambientes, es decir para pruebas.
Al momento de crear un nuevo objeto en el sistema, SAP nos proporcionará la pantalla que vemos a continuación para que le asignemos el Paquete al que pertenece. En este caso, el paquete es Z_WEB_SERVICE.
Transacción SE80: Las Clases de Desarrollo o Paquetes se crean a través de la transacción estándar SE80.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Sebastian Morales Naranjo
Sobre el autor
Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alex Francisco Lemos Collazos
Profesión: Ingeniero en Sistemas - Colombia - Legajo: QS36A
✒️Autor de: 174 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA Material Management
🎓Egresado de los módulos:
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Inicial