• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram

S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram
Product Information  ·  SAP HANA Cloud Migration

Migración a la nube de SAP HANA: Remediaciones de código común después de la conversión de artefactos XS Classic

By s4pcademy 


Atención: El contenido de este blog fue no creado por SAP. Fue escrito por un consultor que no es de SAP, Arvind Lachhireddy (Consultor de HANA, Pythian) para ayudar en su viaje de migración a la nube. Por lo tanto, tenga en cuenta que puede llevar más tiempo obtener una respuesta a su pregunta en caso de que deje alguna en este blog.


La herramienta SAP HANA XS Advanced Migration Assistant se utiliza para convertir el código XS «clásico» y el contenido de la base de datos del repositorio de SAP HANA (por ejemplo, Calc Views) al formato y sintaxis para XS Advanced (XSA) y SAP HANA Deployment Infrastructure (HDI). Sin embargo, se pueden encontrar varios problemas comunes al implementar los objetos convertidos en SAP BTP Cloud Foundry y SAP HANA Cloud.

Este artículo describe cómo actualizar sus artefactos convertidos para solucionar algunos de estos problemas comunes antes de implementar el código convertido en el entorno de destino. En las secciones y capturas de pantalla a continuación, estamos utilizando SAP Business Application Studio (BAS) para realizar los cambios de código necesarios.

1. Vistas de cálculo

Si su contenido original en el Repositorio de SAP HANA estaba organizado en varios paquetes y subpaquetes, puede optar por dividir la conversión en fragmentos a nivel de paquete cuando ejecuta la utilidad de migración XSA. Esto dará como resultado la división de su contenido en varios contenedores HDI separados, lo que tendrá un impacto en las referencias de fuentes de datos en el código convertido.

Todas las vistas de cálculo dependen de varios otros objetos de la base de datos, como tablas, vistas, procedimientos, funciones, etc. Lo primero que debemos verificar es si el espacio de nombres para la vista de cálculo es el mismo que en los objetos dependientes que se han migrado e implementado.

Aquí, paquete1.NombreEsquema:: es la referencia de esquema generada por la utilidad de migración XSA. Verifique el nombre del objeto como en la base de datos (junto con el espacio de nombres, si está configurado). Si hay un cambio en la referencia del objeto, la vista generará un error de objetos faltantes durante la implementación.

Para cambiar la referencia del esquema, abra la vista de cálculo en la herramienta de desarrollo (p. ej., BAS, IDE WEB) con el editor de vista de cálculo. Seleccione el nodo de fuente de datos que necesita cambiar y haga clic con el botón derecho en el nodo que ofrece las opciones como se muestra a continuación. Luego, elija reemplazarlo con la opción Origen de datos para apuntar al objeto de origen correcto en la base de datos.Cambiando%20el%20paquete%20referencia%20en%20el%20Cálculo%20vista%20editor

Cambiar la referencia del paquete en el editor de vista de cálculo

Alternativamente, puede usar el editor de texto en BAS para cambiar la referencia. Localice la etiqueta XML del URI del recurso y busque la referencia del paquete. Luego cámbielo apropiadamente de acuerdo con el espacio de nombres (si se usa).

Mostrando%20paquete%20referencia%20en%20el%20archivo

Ejemplo de cómo cambiar la referencia del paquete en el editor de código

Además, si hay alguna fecha() función utilizada en el cálculo en Vistas de cálculo y Funciones de tabla, deben reemplazarse con la función díafecha() función, ya que la fecha() La función no es compatible con SAP HANA Cloud. Cambiando%20fecha%20datos%20tipo%20a%20díafecha

Ejemplo de cambio de función date() a daydate()

2. Procedimientos almacenados

ACTUALIZAR DESDE

En SAP HANA Cloud, el ACTUALIZAR… DESDE La sintaxis SQL no es compatible. En cambio, el UNIRSE CON La sintaxis (agregada a partir de SAP HANA 2.0) se puede usar para cualquier escenario de actualización que se haya implementado previamente usando el ACTUALIZAR DESDE sintaxis. Para más información, ver Declaración MERGE INTO (manipulación de datos).La declaración DML en la captura de pantalla anterior usando el ACTUALIZAR DESDE La sintaxis no es compatible con SAP HANA Cloud y generará el error que se muestra a continuación:Para abordar esto, el ACTUALIZAR DESDE declaración debe ser reemplazada por UNIRSE CON Como se muestra abajo.

TABLA TRUNCADA

En algunos escenarios, un desarrollador puede haber optado por utilizar el TRUNCAR declaración para realizar una eliminación de todos los datos en una tabla o partición (Nota: TRUNCAR debe usarse con precaución porque es irreversible y no se puede revertir si la transacción falla). Si los objetos que está truncando están en el mismo contenedor HDI que el procedimiento, entonces el TRUNCAR declaración funcionará y no se necesita ningún ajuste.

Sin embargo, si usa un sinónimo para hacer referencia a una tabla en otro contenedor HDI o esquema externo, entonces TRUNCAR no funcionará y arrojará un error. Por lo tanto, deberá modificar su código en consecuencia.

La solución más simple es reemplazar la instrucción TRUNCATE con una instrucción DELETE FROM. Vea el siguiente ejemplo.Código original% 20

codigo original

Aquí ”EMPSALARY” es un objeto (tabla) de una referencia de sinónimo. El código original usando TRUNCAR devolverá un error en la implementación como se ilustra a continuación:

Modificado% 20 código

Código modificado

En este caso, si reemplaza el TRUNCAR declaración con el ELIMINAR DE tal como se muestra a continuación, la implementación se realizará correctamente.

NOTA: El ELIMINAR DE declaración puede ser un reemplazo razonable para TRUNCAR en mesas pequeñas y medianas. Sin embargo, si tiene razones específicas para usar la declaración TRUNCATE y requiere su uso, entonces puede crear un procedimiento dentro de la objetivo Contenedor HDI o esquema (es decir, donde está presente la tabla) para ejecutar el TRUNCAR declaración allí. Luego, puede llamar al procedimiento truncado personalizado de forma remota utilizando un sinónimo de su contenedor y procedimiento.

3. Funciones

Por lo general, existen pocas complicaciones o problemas al implementar funciones escalares y funciones de tabla migradas. Sin embargo, estos objetos suelen depender de otros objetos, como tablas, vistas de cálculo y/o procedimientos. Por lo tanto, debe implementar los objetos dependientes con el espacio de nombres adecuado al que se hace referencia en la función de tabla.

En el siguiente ejemplo, como vemos en las vistas de cálculo, la función utiliza una referencia de esquema. Esto debe corregirse haciendo referencia a los nombres de objeto de base de datos apropiados en el entorno migrado para evitar errores de «objeto desconocido» durante la implementación.Mostrando%20esquema%20referencia%20en%20el%20archivo

Ejemplo que muestra la referencia del esquema en el archivo

Para corregir la referencia no válida, elimine el espacio de nombres del paquete antiguo («clásico») del nombre del objeto y reemplace el nombre del objeto con el nombre exacto del objeto presente en la base de datos migrada.Objeto%20en%20la%20base de datos

Nombre del objeto en la base de datos

4. Diagramas de flujo SDI

En algunos escenarios, los diagramas de flujo SDI convertidos por XSA Migration Assistant pueden tener asignaciones incorrectas. Podemos realizar cambios en las asignaciones de los diagramas de flujo utilizando el editor de diagramas de flujo SDI. Después de importar el código convertido a su proyecto en la herramienta de desarrollo (p. ej., BAS, WEB IDE), abra el archivo en el editor de diagramas de flujo.

Para ilustrar el escenario, podemos ver los códigos fuente y convertidos a continuación.

Diagrama de flujo XSC

El mapeo de atributos en el nodo de filtro de flowgraph está entre comillas dobles ‘‘Filter5_Input”.”Nombre de usuario”. Pero el código convertido de la herramienta XSA Migration Assistant a veces pasa por alto esto. El nodo de filtro no está disponible en SAP HANA Cloud, por lo que el nodo de filtro se convierte en una proyección y, a veces, las asignaciones vienen sin ninguna referencia al nodo y sin comillas dobles, como se muestra a continuación.Disponible%20nodos%20en%20a%20Flowgraph%20-%20HANA%20Cloud

Nodos disponibles en un Flowgraph – HANA Cloud

Faltan%20referencias%20en%20XSA%20convertido%20código

Faltan referencias en código convertido XSA

Esto debe corregirse manualmente y volver a implementarse. Es posible que este escenario no produzca errores mientras implementa el código, pero al ejecutar los diagramas de flujo, la referencia de asignación que falta provoca errores. Reasignar las columnas con la referencia correcta y citar corregirá este problema.Código%20corregido%20manualmente

Código corregido manualmente

5. Tareas de replicación

Las tareas de replicación están estrechamente vinculadas con las fuentes remotas, de modo que la fuente remota debe configurarse correctamente y hacer referencia a ella en el entorno de destino. Las tareas de replicación convertidas con la herramienta XSA Migration Assistant se pueden importar a la herramienta de desarrollo (p. ej., BAS, WEB IDE). El editor SDI Reptask brinda los detalles de la configuración, es decir, la fuente remota asociada, los detalles de la tabla, el comportamiento de replicación, etc. Si la tarea de repetición no está conectada a la fuente remota, primero debe verificar si la fuente remota está disponible en la base de datos. y si se han asignado los privilegios requeridos (por ejemplo, en el archivo de concesiones).La%20fuente%20remota%20en%20la%20basededatos

La fuente remota en la base de datos.

Si la fuente remota está disponible pero el reptask no está conectado a ella, esto puede ser un problema con los privilegios de acceso. Se debe otorgar acceso a la fuente remota agregando la fuente remota faltante en el archivo de permisos e implementándola.

Subvenciones%20archivo%20ejemplo

Ejemplo de archivo de subvenciones

Una vez que se implementa el archivo de subvenciones, verifique la fuente remota en el archivo reptask. Si la conexión de origen remota está disponible como se muestra, implemente el archivo reptask.

Durante la implementación, generará un procedimiento que debe ejecutarse para la carga inicial y la activación de la tarea de replicación para capturar los cambios activos (según el comportamiento de replicación configurado en la tarea de replicación).

6. Conclusión

Estos son solo algunos consejos y sugerencias para ayudarlo con la migración del contenido de su base de datos SAP HANA «clásica» para su implementación en SAP HANA Cloud.

Por favor, siéntase libre de dejar cualquier comentario/pregunta. Puede llevar algo de tiempo ya que este contenido no es de SAP, pero haremos todo lo posible para comunicarnos con usted con información precisa y confiable.



Source link


ArtefactosClassiccódigocomúnconversióndespuésHANAMigraciónnubeRemediacionesSAP

Artículos relacionados


#btp  ·  #Oil and Gas  ·  #PartnerEdge  ·  #SPRINT1  ·  #utilities  ·  Event Information  ·  innovation  ·  sap
Contribución del ecosistema de socios de SAP en nuestras conferencias internacionales de SAP para servicios públicos y energía 2023
Business Trends  ·  sap ecc  ·  sap partners  ·  SAP Qualified Partner-Packaged Solution
Navegación por la conversión de SAP ECC a SAP S/4HANA con Let’S/4 Travel
Technical Articles
Aplicar filtro en SAP Build Apps: aprender SAP Build Apps desde lo básico

Deja tu comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

Xiting Central Workflows: Nuevas características con SP4
Previo
Mi tiempo con Planificación Estratégica de la Fuerza Laboral: ¡una experiencia saludable!
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.
Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar
Cambiar ajustes
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies quiere permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. Aprenda más sobre las cookies que usamos.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Bloquear todas
  • Essentials
  • Funcionalidad
  • Análisis
  • Publicidad

Este sitio web hará:

Este sitio web no:

  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
  • Recuerde sus detalles de inicio de sesión
  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
Guardar y cerrar