📰 El síndrome del entorno QAS eterno

¿Por qué hay empresas donde los desarrollos viven más tiempo en QAS que en PRD?

🔍 Dato Curioso

¿Sabías que SAP permite configurar ventanas de transporte automáticas entre entornos QAS y PRD para ciertos objetos?

Aunque suena a ciencia ficción en muchas empresas, es una práctica habitual en entornos bien gestionados: los transportes se pueden programar automáticamente para ejecutarse fuera del horario laboral, normalmente entre las 22:00 y las 4:00, cuando hay menos usuarios conectados y el impacto ante un posible error es menor.

Estas ventanas deben definirse con antelación, y se configuran desde la STMS (Transport Management System). En entornos más profesionales, esta planificación se gestiona de forma más robusta con SAP Solution Manager (SolMan).

¿Qué hace SolMan aquí?

SAP Solution Manager permite coordinar todos los pasos del Change Request Management (ChaRM):

  • Documentar requerimientos funcionales y técnicos.

  • Asociar desarrollos y objetos transportables a cada cambio.

  • Aprobar y planificar ventanas de transporte.

  • Generar backups automáticos antes del transporte.

  • Notificar a usuarios clave por email antes y después de cada paso.

  • Registrar logs de errores, versiones y seguimiento de pruebas.

Todo esto se accede desde la transacción SOLMAN_WORKCENTER o directamente por navegador (en versiones modernas, vía Fiori Launchpad del SolMan).

¿Quién lo prepara y cómo?

Este tipo de orquestación suele estar a cargo de un Administrador de SAP Basis, en coordinación con:

  • El equipo de desarrollo ABAP (quien indica qué se transporta).

  • El equipo funcional (quien valida pruebas y documentación).

  • El Change Manager o Release Manager (si lo hay en la empresa).

Todo el flujo se registra y valida paso a paso antes de ejecutar el transporte, y SolMan se encarga de controlar que no haya saltos entre entornos, errores en dependencias o impactos no evaluados.

¿Y por qué no se hace más?

Porque muchas empresas siguen trabajando con flujos manuales:
transportan a mano, sin documentación ni backup previo, con validaciones por WhatsApp y pruebas “de palabra”.

Pero el sistema existe, funciona… y puede evitar verdaderas SAPocalypsis.

📰 Ultimas noticias

SAP y Microsoft ahora sí que se han dado la mano en serio: Joule ya se integra con Microsoft 365 Copilot y Teams

¡Ya está aquí! SAP ha anunciado que su copiloto de inteligencia artificial, Joule, se integra de forma nativa con Microsoft 365 Copilot y Teams.
¿Y eso qué significa para ti, querido consultor?

Pues que ya no vas a necesitar tener 37 pestañas abiertas para trabajar con SAP, mirar correos y consultar un Excel mientras el café se enfría. Ahora puedes preguntar a Joule directamente desde Teams, sin moverte del chat con tu jefa.

¿Qué puedes hacer desde Microsoft con esta integración?

  • 📦 Consultar el estado de pedidos.

  • 📊 Pedirle informes a SAP sin irte a Fiori.

  • Aprobar workflows.

  • 🤖 Hablar con Joule como si fuera un compi más del equipo… pero que sabe todo del ERP.

Todo eso usando lenguaje natural, sin navegar entre menús, sin memorizar transacciones, y lo mejor: sin abrir SAPGUI.
(Sí, la productividad también puede tener forma de milagro tecnológico.)

¿Qué empresas pueden usarlo?

De momento, los afortunados son los que usan SAP S/4HANA Cloud Public Edition, versión 2408 en adelante.
La integración completa estará desplegándose a lo largo del 2025.
Así que si aún estás en ECC... bueno, tú tranquilo. Disfruta del GUI azulito y no mires hacia la nube todavía.

¿Y esto para qué sirve?

  • Para ahorrar tiempo, y no poco.

  • Para romper los silos entre SAP y otras herramientas.

  • Para hacer la vida del usuario más amigable y que no odie tanto al ERP.

💹 Información en Bolsa

  • La acción de SAP SE cotiza alrededor de los 253 €, con una subida de aproximadamente +1,8 % respecto al cierre anterior.

  • En el último año ha subido cerca de un 30 % desde su rango mínimo (~176 €) hasta alcanzar más de 283 € en máximos recientes, reflejo de un fuerte rally alcista.

  • El consenso de analistas mantiene una calificación de “Buy”, con un precio objetivo promedio a 12 meses en torno a 286 € (~+13 % de potencial).

🧠 ¿Qué significa esto para ti como consultor SAP?

  1. SAP no solo está viva… está potenciándose.

    • Con fuertes resultados en Q2/2025, ingresos Cloud creciendo y una apuesta decidida por la IA y la nube (como con Joule y Microsoft Copilot), la acción refleja el momentum estratégico.

  2. La nube es el presente, no el futuro.

    • Si aún trabajas mayormente con ECC o implementaciones locales, hay mucha tecnología por explorar: CAP, RAP, integración, SAP BTP… es el lugar donde se mueve la demanda real.

  3. Oportunidades clave para posicionarte.

    • Consultores que se formen en herramientas como SAP BTP, CAP/RAP o Administración de S/4HANA Cloud serán cada vez más demandados.

    • La inversión de SAP en estas áreas generará proyectos lucrativos (y con visión).

SAP cotiza hoy a 253 € (+1,8 %), en una tendencia anual alcista de +30 % que refleja su transformación digital.
Desde tu rol de consultor, esto significa que el ecosistema Cloud‑IA está donde se mueven los presupuestos y los proyectos. Seguirte formando allí no es una opción: es la dirección del mercado.

🚀 Innovación IT

¿Quieres montar algo en SAP BTP y no sabes ni por dónde empezar?
Bienvenido al SAP Discovery Center: una plataforma pensada para ayudarte a descubrir, probar y planificar el uso de los servicios de SAP BTP, todo en un solo lugar.

🔍 ¿Qué puedes hacer desde aquí?

  • Explorar casos de uso reales (misiones) listos para desplegar en tu entorno.

  • Probar servicios con cuentas trial o entornos de testing.

  • Usar la calculadora de costes de SAP BTP para estimar qué te va a costar todo eso que sueñas montar.

🧮 La calculadora de costes

Cuando accedes a la calculadora del SAP Discovery Center, puedes elegir entre diferentes modelos comerciales. Y si no los conoces, es como elegir entre tipos de hipoteca sin saber qué es un interés variable. Vamos por partes:

🧪 Trial

Modelo gratuito, limitado en recursos y tiempo.

  • Ideal para aprender, testear y romper cosas sin miedo.

  • Acceso a servicios básicos de BTP por tiempo limitado (en torno a 30 días).

  • No válido para entornos reales ni de calidad.

🟢 Perfecto para formarte, probar y hacer demos.

💼 Subscription

Pagas una tarifa fija por cada servicio contratado.

  • Tienes control total del coste: sabes exactamente cuánto pagarás.

  • No importa si usas el servicio mucho o poco.

  • Rígido: necesitas renovar o renegociar para cambiar servicios.

🟠 Útil si sabes exactamente lo que necesitas y no habrá cambios.

💳 Pay-As-You-Go (PAYG)

Solo pagas por lo que usas, sin compromiso inicial.

  • Flexibilidad total: añade o elimina servicios cuando quieras.

  • Sin permanencias.

  • Cuidado: si no controlas el consumo, la factura puede ser una fiesta (y no de las baratas).

🟢 Recomendado para proyectos pequeños, pruebas en serio o empresas que estén empezando en BTP.

🌐 CPEA (Cloud Platform Enterprise Agreement)

Un modelo basado en créditos prepagados que puedes usar en cualquier servicio de SAP BTP.

  • Ideal para grandes empresas con necesidades cambiantes.

  • Flexibilidad de servicios, regiones y consumo.

  • Contrato global con SAP, normalmente por periodos anuales.

🔵 Recomendado para empresas medianas/grandes con muchos proyectos y equipos distintos.

🧿 SAP BTPEA (SAP BTP Enterprise Agreement)

El hermano mayor de CPEA: contratos a gran escala, con acceso prioritario, soporte técnico premium, condiciones mejoradas...

  • Solo para empresas con mucha facturación y volumen SAP.

  • Total libertad, pero con gestión compleja.

🔴 Solo si gestionas proyectos SAP a nivel multinacional.

Suena fácil… hasta que te enfrentas a la realidad:

Necesitas una carrera, un máster y un oráculo místico para saber cuánto vas a pagar por 3 GB de RAM, 2 servicios y una base de datos HANA durante 2 meses en la nube pública. 😅

Pero no todo es caos: SAP ha mejorado mucho esta herramienta en los últimos meses:

 Nuevas funcionalidades:

  • Comparativas entre servicios.

  • Detalles por zona geográfica y modelo de consumo.

  • Visualización por tipo de plan (entitlements, CPEA, pay-as-you-go).

  • Exportación de escenarios.

 Ventajas del Discovery Center:

  • Puedes probar casos de uso reales guiados paso a paso.

  • Está integrado con tu cuenta global de SAP para ir directo a tu tenant.

  • Se actualiza constantemente con mejoras y nuevos servicios (como el recién lanzado SAP Build Code).

El SAP Discovery Center es tu mejor aliado para entender qué servicios existen, cuánto te costarán, y cómo implementarlos… siempre que no huyas al ver la primera tabla de precios.
La buena noticia: cada día es más accesible.
La mala: todavía necesitarás un par de cafés y mucha calma para entender el presupuesto.

🧠 Tip ABAP

FIELDS-SYMBOLS Y COMPONENTS.

  • Es un puntero o referencia dinámica en ABAP.

  • No almacena datos, sino que apunta a la ubicación en memoria de otra variable, estructura o componente.

  • Te permite leer o modificar datos sin copiar, lo que mejora eficiencia y flexibilidad.

  • Son muy usados para manipulación dinámica o genérica de datos.

FIELD-SYMBOLS: <fs> TYPE i. DATA lv_val TYPE i VALUE 10.

ASSIGN lv_val TO <fs>.   " <fs> apunta a lv_val 
<fs> = 20.               " Modifica lv_val a 20

ASSIGN

  • Es la instrucción que asocia (asigna) un field-symbol a una variable o estructura.

  • Sin ASSIGN, el field-symbol es solo una referencia sin apuntar a nada.

  • Si la asignación falla (por ejemplo, porque la variable no existe o está vacía), el field-symbol no queda asignado y su estado será NOT ASSIGNED.

  • Por eso, tras un ASSIGN, siempre conviene verificar con IF <fs> IS ASSIGNED para evitar errores.

ASSIGN lv_val TO <fs>.
IF <fs> IS ASSIGNED.
  " Ya puedo usar <fs> sin error
ENDIF.

ASSIGN COMPONENT

  • Sirve para asignar un field-symbol a un campo específico (componente) dentro de una estructura.

  • La estructura puede estar apuntada por otro field-symbol o ser una variable normal.

  • Esto permite acceder a un campo específico de forma dinámica, incluso cuando el nombre del campo es una variable.

ASSIGN COMPONENT 'NOMBRE_CAMPO' OF STRUCTURE <fs_estructura> TO <fs_componente>.
  • 'NOMBRE_CAMPO' es el nombre literal del campo dentro de la estructura.

  • <fs_estructura> es un field-symbol que apunta a la estructura.

  • <fs_componente> es otro field-symbol que apuntará al campo seleccionado.

¿Para qué sirve?

  • Para acceder o modificar un campo en una estructura cuando no quieres o no puedes usarlo estáticamente.

  • Cuando el campo a manipular se conoce solo en tiempo de ejecución (p.ej., nombre guardado en una variable).

  • Permite escribir código dinámico y genérico.

TYPES: BEGIN OF ty_person,
         name TYPE string,
         age  TYPE i,
       END OF ty_person.

DATA: ls_person TYPE ty_person VALUE VALUE #( name = 'Ana' age = 30 ).

FIELD-SYMBOLS: <fs_person> TYPE ty_person,
               <fs_field> TYPE any.

ASSIGN ls_person TO <fs_person>.

" Asignar dinámicamente el componente 'AGE'
ASSIGN COMPONENT 'AGE' OF STRUCTURE <fs_person> TO <fs_field>.

IF <fs_field> IS ASSIGNED.
  WRITE: / 'Edad actual:', <fs_field>.
  <fs_field> = 35.   " Cambio directamente el campo AGE de la estructura
ENDIF.

WRITE: / 'Nueva edad:', <fs_person>-age.

Concepto

Función

Ejemplo rápido

FIELD-SYMBOLS

Puntero dinámico para apuntar a variables o componentes

FIELD-SYMBOLS: <fs> TYPE any.

ASSIGN

Asigna el puntero (field-symbol) a una variable o estructura

ASSIGN lv_var TO <fs>.

ASSIGN COMPONENT

Asigna el puntero a un campo específico dentro de una estructura

ASSIGN COMPONENT 'NOMBRE_CAMPO' OF STRUCTURE <fs_estructura> TO <fs_componente>.

🧩 SAP Funcional

TIP FUNCIONAL WM

Control y administración de órdenes de transporte con LT10 y otras transacciones

En WM, las órdenes de transporte (Transfer Orders, TO) son instrucciones para mover stock dentro del almacén, por ejemplo, de la recepción a ubicaciones o entre ubicaciones. Es vital controlar estas TO abiertas para que no se acumulen y el stock esté bien ubicado.

Transacciones clave:

  • LT10: Visualiza órdenes de transporte abiertas.

  • LT21: Modificar órdenes de transporte.

  • LT22: Liberar órdenes bloqueadas.

  • LX02: Visualizar stock en ubicación.

Ejemplo práctico:

Supongamos que quieres revisar las órdenes de transporte abiertas en el almacén 1000 para ver qué movimientos están pendientes.

  1. Ejecuta la transacción LT10.

  2. Introduce el almacén: 1000 y deja el resto de campos en blanco o con valores generales.

  3. Aparece la lista de órdenes de transporte abiertas.

  4. Puedes filtrar por material, tipo de movimiento o ubicación origen/destino.

  5. Selecciona una orden para analizar.

Qué hacer con la información:

  • Si una orden está bloqueada, ve a LT22 para liberarla.

  • Si necesitas modificar alguna cantidad o ubicación, usa LT21.

  • Para verificar dónde está físicamente el stock, usa LX02 (stock en ubicación).

Beneficio:

  • Evitar cuellos de botella en la gestión del almacén.

  • Mejorar la precisión del stock.

  • Facilitar el trabajo del equipo de logística.

TIP FUNCIONAL MM

Gestión eficiente de condiciones de compra con MEK1, MEK2, MEK3

En MM, las condiciones de compra (precios, descuentos, recargos) son esenciales para controlar el coste de adquisición. Gestionarlas bien evita errores en facturación y asegura acuerdos con proveedores.

Transacciones clave:

  • MEK1: Crear condiciones.

  • MEK2: Modificar condiciones.

  • MEK3: Visualizar condiciones.

Ejemplo práctico:

Supongamos que quieres revisar el precio acordado para un material y proveedor específico.

  1. Ejecuta MEK3.

  2. Ingresa:

    • Material: 123456

    • Proveedor: 100001

    • Lista de condiciones: Precio bruto (PB00) o la que corresponda.

    • Fecha: Introduce la fecha para verificar vigencia.

  3. Ejecuta para ver la lista de precios vigentes.

  4. Para crear una nueva condición o modificar una, usa MEK1 o MEK2.

Uso de listas de selección:

  • En MEK1/MEK2/MEK3, puedes filtrar condiciones usando diferentes criterios (material, proveedor, organización de compras).

  • Esto facilita encontrar condiciones específicas para modificar o auditar.

Beneficios:

  • Evitar crear condiciones duplicadas.

  • Asegurar que se aplican precios vigentes.

  • Facilitar auditorías internas.

🔎 Función de la Semana

FI_ITEMS_MASS_CHANGE

¿Qué hace realmente esta función?

FI_ITEMS_MASS_CHANGE permite realizar modificaciones masivas en partidas contables individuales (como cambiar el centro de coste, asignaciones, textos, etc.) de forma programática, sin necesidad de hacerlo manualmente desde transacciones como FBL1N/FBL3N/FBL5N.

No es una BAPI ni está pensada para uso estándar diario, pero se puede usar bajo control en desarrollos internos para automatizar ajustes contables masivos.

📌 ¿Para qué se usa?

  • Modificar en masa los campos de asignación (ZUONR), texto de partidas, centro de coste, etc.

  • En correcciones contables después de migraciones, fusiones o errores masivos.

  • Como parte de procesos internos o herramientas Z para limpieza contable.

Supón que detectas que 200 documentos contables se cargaron con el campo de asignación (ZUONR) en blanco por error y ahora contabilidad quiere rellenarlo automáticamente con el número de factura.

📋 Recomendaciones y precauciones:

  • Nunca se debe usar en productivo sin pruebas previas. Afecta directamente los documentos contables.

  • Ideal para usar en entornos de QA o durante procesos de limpieza controlada.

  • Puede integrarse en una herramienta Z interna para usuarios clave de finanzas.

  • Registrar siempre los cambios (log, backup de datos originales).

🚀 Casos de uso reales:

  • Corrección masiva tras migración S/4HANA donde no se arrastraron bien los campos ZUONR/SGTXT.

  • Ajuste contable masivo por un cambio organizativo (cambio de centro de beneficio en líneas abiertas).

  • Limpieza de textos contables estándar antes de auditoría.

👑 Liderazgo y Gestión

📌 El otro lado del “síndrome del entorno QAS eterno”

No siempre el problema es que nadie se atreva a mover algo a producción.
A veces el verdadero error es no haberlo parado a tiempo.

Porque un proyecto que no está claro desde el inicio, y que el cliente final ni siquiera sabe cómo terminar, es un pozo sin fondo… y tú estás tirando horas valiosas dentro.

🎯 Un buen responsable no solo ejecuta… también decide qué no debe seguir.

Debe tener:

  • 🔍 Criterio: para identificar cuando el problema no es técnico, sino de visión.

  • 🧭 Anticipación: para no dejar que un proyecto se arrastre 6 meses “en validación” sin avanzar.

  •  Coraje: para decir “Esto no está listo ni lo estará, mejor parar aquí”.

🚨 Señales de que algo debe pararse (o congelarse hasta nuevo aviso):

  • El cliente empieza a dar largas, pide “un par de semanas más para pensarlo” varias veces.

  • Cambian de requerimientos constantemente sin una justificación sólida.

  • Nadie asume responsabilidad final: ni prueban, ni validan, ni piden ajustes concretos.

  • Cuando preguntas “¿qué tendría que pasar para moverlo a productivo?”, no hay respuesta clara.

¿Cómo actuar como líder funcional?

  1. Lanza una alerta temprana:

    • “Hemos detectado que no hay una definición clara ni compromiso para avanzar. ¿Tiene sentido continuar ahora?”

  2. Pon un marco de decisión:

    • “Si en X días no tenemos validación, consideramos este desarrollo congelado.”

  3. No sigas documentando para la nada:

    • No te mates haciendo pruebas, documentación y testing si no hay voluntad real de moverlo.

  4. Aprovecha el tiempo y foco del equipo:

    • Un desarrollo sin dirección quita recursos a los proyectos que sí están listos para ir a producción.

Ejemplo rapido:

Un cliente pide una funcionalidad compleja para gestionar anticipos contables con lógica Z. Tras 3 rondas de testing, nunca validan el resultado final. Piden cambios menores, pero nadie firma el pase a PRD.

El líder funcional propone cerrar temporalmente el desarrollo, dejarlo documentado y, si en 30 días no hay avances, se da por cancelado.
¿Resultado? El cliente se lo toma en serio, prioriza y en dos semanas pasa a producción.

De no haber tomado esa decisión, el cliente probablemente habría dejado el tema en pausa indefinidamente. Al cabo de uno o dos meses habría que recordárselo, y para entonces ya necesitaría refrescar la memoria. Pasa otro mes más, y ahora son el funcional y el programador quienes deben volver a entender qué se había hecho. Así comienza un ciclo infinito de repeticiones, donde el tiempo se diluye y el proyecto se alarga durante meses… o simplemente se abandona porque otras prioridades más urgentes se imponen.

Liderar no es solo mover objetos a productivo.
Es también detener los que no deben salir.
Y tener el coraje de decir:
“Mejor no lo llevamos a producción… porque nunca debió pasar de Sandbox.”

💬 Frase del Día

Liderar también es saber cuándo decir: hasta aquí.

📌 Aplazar por comodidad es más peligroso que equivocarse rápido. Un proyecto sin rumbo ni compromiso claro consume energía, desgasta al equipo y bloquea iniciativas que sí están listas para avanzar. El verdadero liderazgo se demuestra cuando eres capaz de soltar, cerrar o pausar antes de que el desgaste sea mayor que el beneficio.

🙌 Gracias por leer

Si has leído todo esto, enhorabuena: ya estás más cerca de no quedarte a vivir en QAS.
Y recuerda, si llevas más de tres reuniones hablando del mismo desarrollo... sin pruebas, sin validación y sin fecha de paso a producción…
¡No estás en un proyecto, estás en una partida infinita de SAP GO!

Gracias por seguir leyendo, aprendiendo y —sobre todo— riéndote un poco en medio del caos consultor.
Nos vemos en la próxima entrega... o en producción, si todo va bien. 😉

Hasta el martes que viene,

Un fuerte abrazo,

Reply

or to participate.