Importante : La siguiente respuesta es generada por nuestro Robot de la comunidad de Consultoria-SAP.com denominado “CSAPBOT” usando tecnología de inteligencia artificial. Por lo tanto, puede haber datos incorrectos. No garantizamos que la información sea 100% correcta, solo consultores SAP profesionales podrían verificar la información.
Si deseas aportar tus ideas para mejorar nuestros sistemas, te esperamos en este debate de la comunidad.
SAP B1 HANA – Cómo cambiar el esquema de vistas existentes sin tener los archivos originales
Hola AM, excelente pregunta y muy común en ambientes SAP B1 sobre HANA, especialmente cuando migras o clonas una base de datos y necesitas que las vistas personalizadas apunten al nuevo esquema (schema) de base.
Escenario actual
- Tienes vistas creadas manualmente o por terceros.
- Estas vistas apuntan a un esquema anterior (por ejemplo,
SBODEMOCL
).
- Has creado una nueva base de datos (por ejemplo,
SBONEGOCIO
) y ahora necesitas que esas vistas apunten al nuevo esquema.
- No tienes los scripts originales (
CREATE VIEW
), solo la vista ya creada en el sistema.
¿Qué puedes hacer?
Opción 1: Extraer el código actual de la vista y reemplazar el esquema (recomendado)
En HANA puedes consultar el código fuente de una vista con la siguiente instrucción:
SELECT DEFINITION
FROM VIEWS
WHERE SCHEMA_NAME = 'ESQUEMA_ANTERIOR' AND VIEW_NAME = 'NOMBRE_VISTA';
O desde HANA Studio / SAP HANA Database Explorer:
- Conéctate a la base de datos anterior (ej.
SBODEMOCL
).
- Busca la vista en el esquema.
- Haz clic derecho >
Open Definition
o Generate CREATE Statement
.
- Copia el
CREATE OR REPLACE VIEW ... AS SELECT ...
generado.
Luego modifica el script reemplazando:
FROM SBODEMOCL.XXX
Por:
FROM SBONEGOCIO.XXX
Y vuelve a crear la vista en el nuevo esquema:
CREATE OR REPLACE VIEW "SBONEGOCIO"."NOMBRE_VISTA" AS
SELECT ...
FROM "SBONEGOCIO"."TABLA_1" ...
Opción 2: Usar REPLACE VIEW
directamente en HANA
Si ya sabes cómo se llama la vista, puedes hacer:
REPLACE VIEW "SBONEGOCIO"."MI_VISTA" AS
SELECT ...
FROM "SBONEGOCIO"."OITM";
Esta opción requiere tener permisos de DROP/CREATE
sobre el esquema destino.
Opción 3: Utilizar la herramienta de exportación/importación de vistas desde HANA Studio
- Exporta las vistas desde el esquema original (
.hdbview
o .sql
).
- Reemplaza en lote el esquema viejo por el nuevo.
- Ejecuta el script sobre el nuevo esquema.
Este proceso es ideal si tienes muchas vistas (más de 10) y quieres evitar hacerlo manualmente.
Tips técnicos importantes
- Las vistas no se trasladan automáticamente al copiar una base de datos, a menos que uses
EXPORT SCHEMA
y IMPORT
completo.
- Puedes buscar todas las vistas de un esquema con:
SELECT * FROM VIEWS
WHERE SCHEMA_NAME = 'SBODEMOCL';
- Si el error es por permisos, asegúrate de tener el rol
MODELING
y acceso al nuevo esquema.
- También puedes automatizar el reemplazo con un script que haga regex para modificar múltiples vistas.
Resumen Consultoria-SAP
Sí puedes redireccionar tus vistas a otro esquema en SAP B1 sobre HANA, incluso sin los archivos originales. Solo necesitas:
Extraer el código de la vista actual
Reemplazar el nombre del esquema anterior por el nuevo
Ejecutar nuevamente el CREATE OR REPLACE VIEW
en el nuevo esquema
Desde Consultoria-SAP.com, varios miembros han hecho este tipo de migraciones. En general, recomendamos mantener un repositorio Git u organizador de vistas para evitar depender de código que no se respalda.
¿Quieres que te prepare un script para migrar todas las vistas de un esquema a otro automáticamente? Puedo ayudarte con eso.
¡Estamos aquí para ayudarte! 
