El Guardián de Producción
ChaRM (Change Request Management) es el mecanismo que SAP Solution Manager usa para imponer disciplina formal en los cambios. Su premisa es simple pero férrea: "Nada llega a producción sin un Change Request aprobado".
No es solo un sistema de tickets; es una modificación profunda del comportamiento de STMS que intercepta el proceso de importación de transportes.
Transacciones Clave
El trabajo diario en ChaRM se realiza mediante:
SOLMAN_WORKCENTER: El portal central. Aquí se crean, aprueban y monitorean Change Requests.AI_CRM_GEN_PROJECT: Generación de proyectos de cambio (para implementaciones grandes)./TMWFLOW/MAINT_VIEW: Configuración de rutas de cambio (qué sistemas participan en qué tipo de cambios).
Tipos de Change Requests
ChaRM clasifica los cambios en tres categorías según riesgo y urgencia:
Normal Change
El cambio estándar. Requiere aprobación completa del Change Advisory Board (CAB). El workflow es:
- Documentación del cambio (justificación, impacto, plan de rollback).
- Desarrollo en DEV con transportes vinculados automáticamente.
- Testing en QAS con Validation Tasks.
- Reunión CAB para aprobación (votación registrada).
- Import automático en PRD durante ventana de mantenimiento.
Urgent Change
Para emergencias de producción (hotfixes). El proceso se agiliza, pero la justificación es obligatoria y se audita post-mortem. La pregunta clave: "¿Por qué no se detectó esto en testing?".
Standard Change
Cambios pre-aprobados de bajo riesgo (e.g., refresh de QAS, aplicación de Security Notes menores). No requieren CAB, solo documentación.
Integración Profunda con STMS
La magia (o maldición, según el contexto) de ChaRM reside en su integración con el Transport Management System:
Mecánica Técnica
ChaRM modifica el comportamiento del programa RDDEXECL (el motor de importación de
transportes). Antes de ejecutar un import, se consulta la tabla CRM_SVT_SR_TRKORR que
mapea:
Transporte (E070-TRKORR) ↔ Change Request (CRM Document ID) ↔ Estado de Aprobación
Si el transporte no está vinculado a un CR aprobado para el sistema destino, el import se bloquea con el mensaje: "No approved Change Request found for transport XXXK9XXXXX".
Registro Automático de Transportes
Cuando un desarrollador crea un transporte en DEV, ChaRM (si está configurado en modo "Strict") fuerza la
creación de un Task vinculado al CR. Sin Task = Sin Transporte. Esto se logra mediante un BAdI
(CRM_SVT_BA_TR_TASK).
Roles y Autorizaciones
ChaRM define roles específicos con permisos granulares:
- Change Manager: Crea y orquesta CRs. No ejecuta cambios técnicos.
- Developer/Implementer: Realiza el desarrollo vinculado al CR.
- Tester: Ejecuta y aprueba Validation Tasks en QAS.
- CAB Member: Vota en aprobaciones de Normal Changes.
- Emergency Coordinator: Puede aprobar Urgent Changes fuera de ciclo.
Troubleshooting Común
Problema: "Transport blocked - No CR found"
Causa: El transporte no está vinculado a ningún Change Request aprobado.
Solución:
- Verificar en
SOLMAN_WORKCENTERsi existe un CR para este cambio. - Si no existe, crear uno y vincular el transporte manualmente (Action: "Attach Transport").
- Aprobar el CR siguiendo el workflow.
Problema: "CR aprobado pero import sigue bloqueado"
Causa: El CR no tiene el status correcto para el sistema destino (PRD).
Solución: Verificar el campo "Deployment Status" del CR. Debe estar en "Released for Production". Si está en "Testing", ejecutar la acción "Approve for Production".
Problema: "Necesito hacer rollback de un cambio"
Proceso:
- NO intentar reimportar un transporte antiguo directamente (genera inconsistencias).
- Crear un nuevo CR tipo "Urgent Change" con justificación "Rollback of CR-XXXXX".
- Generar transportes de reversión (copias o
SAP_WAPI_DELETE_*programs). - Seguir el proceso acelerado de Urgent Change.
Preguntas Frecuentes (FAQ)
¿Qué significa que ChaRM intercepta el proceso de importación de transportes?
ChaRM modifica el motor RDDEXECL para verificar que cada transporte esté vinculado a un Change Request aprobado antes de permitir su importación en sistemas productivos.
¿Cuál es la diferencia entre un Normal Change y un Urgent Change?
Un Normal Change sigue un ciclo completo con aprobación del CAB y ventanas de mantenimiento, mientras que un Urgent Change es para correcciones inmediatas (hotfixes) con un flujo simplificado.
¿Qué debo hacer si recibo el error "Transport blocked - No CR found"?
Debes verificar que el transporte esté vinculado a un Change Request activo y aprobado. Si no es así, vincúlalo manualmente en el Solution Manager Workcenter y prosigue con el workflow.