• 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
JAVABEANNOTSUPPORTED  ·  Product Information  ·  SAP Desktop Office Integration  ·  sap gui for html

Cómo habilitar SAP Desktop Office Integration para SAP GUI para HTML y SAP GUI para JAVA

By s4pcademy 


El reemplazo directo se ha desarrollado para permitir que SAP Desktop Office Integration (DOI) se ejecute en más plataformas y sistemas operativos. SAP Desktop Office Integration es una solución para que los desarrolladores de aplicaciones integren productos de Office como Microsoft Excel y Microsoft Word en sus aplicaciones SAP GUI. Esta tecnología se desarrolló en los años 90 y todavía es muy utilizada por muchas aplicaciones y clientes. Por ejemplo, se usa ampliamente para importar y exportar datos desde y hacia un sistema SAP.

Hasta ahora, SAP Desktop Office Integration solo funcionaba en Microsoft Windows en combinación con SAP GUI para Windows, porque se basa en la interfaz de la aplicación OLE2 que solo está disponible para aplicaciones nativas como SAP GUI para Windows. Con el cambio a las aplicaciones web y otros sistemas operativos como Apple MacOS, esto se ha convertido en un problema para los clientes que usan aplicaciones SAP GUI con SAP GUI para JAVA o SAP GUI para HTML.

Si un cliente intenta ejecutar un programa que utiliza SAP Desktop Office Integration en SAP GUI para HTML o SAP GUI para Java, el programa finalizará con la siguiente excepción:

Category:       ABAP programming error	
Runtime Errors: RAISE_EXCEPTION
Short Text:     Exception condition "JAVABEANNOTSUPPORTED" raised.    

¿Qué es el reemplazo directo de la integración de SAP Desktop Office?

Un reemplazo directo es un componente que puede reemplazar a otro componente sin ningún otro código o cambios de configuración. El reemplazo directo de SAP Desktop Office Integration sigue usando las mismas interfaces que la solución actual, pero permite que las aplicaciones también se ejecuten en el navegador web en SAP GUI para HTML o SAP GUI para JAVA. El objetivo es mantener el esfuerzo de migración lo más bajo posible y, en la mayoría de los casos, se trata de un cambio de código de una línea. La primera versión del reemplazo directo para SAP Desktop Office Integration admitirá el escenario de importación y exportación de datos utilizando Microsoft Excel.

Descripción general%20de%20el%20Reemplazo%20de%20%20de%20el%20SAP%20Desktop%20Office%20Integración

Descripción general del reemplazo directo de la integración de SAP Desktop Office

Ejemplo de código de la integración actual de SAP Desktop Office

Con la implementación original, debe obtener el control del contenedor de la clase C_OI_CONTAINER_CONTROL_CREATOR y llamar al método get_container_control( ) que devuelve el objeto de control del contenedor que implementa la interfaz I_OI_CONTAINER_CONTROL. Usando el objeto de control de contenedor, ha podido obtener una instancia del proxy de documento a través del método get_document_proxy( ) y en la instancia del proxy del documento, pudo obtener una instancia de la interfaz de la hoja de cálculo llamando al método get_spreadsheet_interface( ).

El código necesario para establecer datos en una hoja se vería así:

c_oi_container_control_creator=>get_container_control( 
  IMPORTING control = DATA(container_control) ).
...
container_control->get_document_proxy( 
  EXPORTING document_type="Excel.Sheet"
  IMPORTING document_proxy = DATA(document_proxy) ).
...
document_proxy->get_spreadsheet_interface( 
  IMPORTING sheet_interface = DATA(spreadsheet) ).
...
spreadsheet->set_ranges_data( ... ).

Cambio de código requerido

Para cambiar al reemplazo directo de SAP Desktop Office Integration, solo tiene que cambiar la llamada inicial para obtener el control del contenedor. En lugar de obtener el control del contenedor de la clase C_OI_CONTAINER_CONTROL_CREATORel control del contenedor se recuperará de la clase CL_SOVY_CONTAINER_CONTROL. No es necesario cambiar las llamadas posteriores o la lógica de la aplicación.

Para permitir que la integración de la oficina en memoria funcione correctamente, se debe proporcionar un modo de integración. Esto es necesario, porque el reemplazo inmediato necesita saber ahora cómo se pretende utilizar. Anteriormente esto no era necesario porque la aplicación de Office se abría al principio del proceso. Debido a que esto ya no es posible en una aplicación web o con SAP GUI para JAVA, necesitábamos introducir un modo de integración. De todos los posibles casos de uso, actualmente admitimos los siguientes modos de integración:

  • soi_mode_export
    • Para casos de uso en los que los datos se exportan desde un sistema SAP a un archivo de Microsoft Excel.
  • importar_modo_soi
    • Para casos de uso en los que los datos se importan a un sistema SAP desde un archivo de Microsoft Excel.

Cambio de código requerido para el caso de uso de exportación

Necesitas deshacerte de la siguiente línea de código:

c_oi_container_control_creator=>get_container_control( ... ).

y reemplácelo con la siguiente línea:

cl_sovy_container_control=>get_container_control(
  EXPORTING office_integration_mode = cl_sovy_container_control=>soi_mode_export
  IMPORTING control                 = DATA(container_control) ).

Para el caso de uso de exportación, ahora es obligatorio llamar a uno de los siguientes métodos para finalizar la exportación de datos:

  • save_as( )
  • save_document_to_url( )
  • close_document( )
  • save_copy_as( )

Esta es una señal para el reemplazo directo de que la creación del archivo ha finalizado y ahora se puede guardar.

Puede encontrar un ejemplo del caso de uso de exportación en el paquete SOVY_IMP. El informe TEST_SOVY_SHEET_EXPORT demuestra cómo puede exportar datos de un sistema SAP a una hoja de Excel.

Cambio de código requerido para el caso de uso de importación

Necesitas deshacerte de la siguiente línea de código:

c_oi_container_control_creator=>get_container_control(…).

y reemplácelo con la siguiente línea:

cl_sovy_container_control=>get_container_control(
    EXPORTING office_integration_mode = cl_sovy_container_control=>soi_mode_import
    IMPORTING control                 = DATA(container_control) ).

No es necesario modificar todas las llamadas posteriores. De forma predeterminada, SAP GUI Desktop Office Integration se utilizará en SAP GUI para Windows. Por lo tanto, no arriesga nada más que obtener soporte para todos los demás casos de uso.

Puede encontrar un ejemplo del caso de uso de importación en el paquete SOVY_IMP. El informe TEST_SOVY_SHEET_IMPORT demuestra cómo puede importar datos de una hoja de Excel a un sistema SAP.

Opciones de configuración

El método cl_sovy_container_control=>get_container_control( ) se puede configurar pasando la estructura de parámetros opcional config. Son posibles las siguientes opciones de configuración:

  • enforce_new_integration: de forma predeterminada, la integración de oficina en memoria recurrirá a la antigua GUI de SAP para la integración de oficina basada en Windows, si la llamada se ejecuta dentro de una sesión de GUI de SAP para Windows. Si desea imponer siempre el uso de la integración de Office en memoria, puede anular esto configurando el valor en:
    • enforce_new_integration = ABAP_TRUE
  • disabled_unimplemented_errors: de forma predeterminada, la integración de Office en memoria arrojará excepciones, si se invocan métodos no implementados. El motivo es que la integración de Office en memoria no implementa el conjunto completo de funciones de la API. Puede evitar que se produzcan errores estableciendo el valor en:
    • disable_unimplemented_errors = ABAP_TRUE
  • enable_cloud_integration: a partir de SAP S/4 HANA 2022, los clientes pueden exportar hojas de forma nativa a Hojas de cálculo de Google. Al habilitar la integración en la nube, el selector de archivos estándar será reemplazado por el selector de archivos en la nube. Esto no solo permite almacenar un archivo de Excel localmente, sino que también permite almacenar una hoja en la nube. Puede habilitar la integración en la nube estableciendo el valor en:
    • enable_cloud_integration = ABAP_TRUE

Integración de Google Workspace: Exportación de Hojas de cálculo de Google

Google y SAP se asociaron para permitir a los clientes conectar el software central de SAP diseñado para ejecutar todos los procesos de misión crítica en la nube con las capacidades de colaboración de Google Docs y Google Sheets. Esto innova la forma en que se realiza el trabajo en toda la empresa. Como parte de esta asociación, el reemplazo directo de SAP Desktop Office Integration también admite la exportación de hojas directamente desde SAP a Google Sheets. Para obtener más información sobre lo que se ha logrado como parte de esta asociación, lea la siguiente publicación de blog:

https://blogs.sap.com/2022/08/21/saps-ui-technologies-habilitación-google-workspace/

Limitaciones

Si bien el reemplazo directo para SAP Desktop Office Integration podrá admitir la mayoría de todos los casos de uso relevantes, tiene las siguientes limitaciones:

  • Microsoft Excel no se abrirá durante la lectura o escritura de los datos.
    • Una vez finalizadas las operaciones de escritura, el archivo de Excel se descargará y se podrá abrir
    • Para la operación de lectura durante la importación de una hoja, ya no es necesario tener Excel abierto, ya que el backend lee el archivo.
  • Con la integración actual de Desktop Office, los datos formateados se devuelven en la configuración regional que se configuró para el sistema operativo.
    • Por ejemplo, si se configuró Microsoft Office para la configuración regional us_ENentonces la fecha se devolvió como 20/02/2023. En el caso de la integración de Office en memoria, la configuración regional se puede pasar a la integración de Office o se utiliza la configuración regional del usuario de SAP que inició sesión.
  • El resultado de una fórmula no se volverá a evaluar cuando se lea una celda. Microsoft Excel almacena el resultado de una fórmula como parte del valor de la celda. Durante una operación de lectura, la fórmula no se volverá a evaluar. Para la mayoría de los escenarios, este debería ser el comportamiento deseado. Sin embargo, si la fórmula depende, por ejemplo, de la fecha actual, el resultado puede ser diferente. En tal caso, la hoja debe abrirse y guardarse nuevamente antes de importar la hoja a SAP.
  • No se implementan todos los métodos de SAP GUI for Windows Desktop Office Integration. La antigua integración de Office ofrecía métodos para modificar los elementos del menú en Excel, cambiar el formato y los estilos, establecer selecciones y ocultar o mostrar filas. Algunas de estas funciones no tienen sentido si la aplicación no está abierta mientras se ejecuta la integración de la oficina; otras funcionalidades no son compatibles con los marcos y bibliotecas subyacentes.
  • Actualmente, solo se admiten los casos de uso de exportación e importación.
    • Aún no se admiten situaciones como la actualización de una hoja de Excel existente.
    • Escenarios como descargar y volver a cargar archivos de Excel requieren la implementación/adaptación de la aplicación para hacer primero una exportación y luego una importación independiente.
    • No se admiten los escenarios interactivos en los que Excel y la aplicación SAP están abiertos en paralelo.

Es posible que el reemplazo directo de SAP Desktop Office Integration no siempre sea la solución adecuada. Aquí hay algunas alternativas:

  • Si desarrolla una nueva aplicación, es mejor usar la biblioteca SAP XCO XLSX. Ofrece una API moderna para leer y escribir archivos XLSX. El reemplazo directo está usando el propio XCO.
  • La mayoría de los controles de tabla o lista en SAP GUI, como ALV o ABAP List, admiten la exportación a Excel de forma nativa. A partir de SAP_BASIS 7.57, también admiten la exportación a Hojas de cálculo de Google:
  • Si sus usuarios solo usan Windows, SAP Business Client también podría ser una solución, ya que reúne aplicaciones como Fiori Launchpad (FLP) y SAP GUI. También permite comenzar desde una aplicación web y navegar a una aplicación SAP GUI para Windows que admite la integración de escritorio de Office:

Debido a que muchos clientes han implementado SAP Desktop Office Integration en programas e informes personalizados, no conocemos muchos escenarios. Inicialmente, creamos soporte para los casos de uso puros de importación y exportación para los cuales hemos recibido muchos informes de errores. Si sus escenarios no están cubiertos por la implementación actual, nos interesaría conocerlos para poder mejorar nuestra solución. Utilice la sección de comentarios para informarnos sobre sus requisitos o póngase en contacto con nosotros por correo.

El reemplazo directo para SAP Desktop Office Integration estará disponible con SAP S/4 HANA 2023 con SAP_BASIS versión 7.92 o posterior.



Source link


comoDesktopGUIhabilitarHTMLIntegrationJavaOfficeparaSAP

Artículos relacionados


#CEI  ·  Event Information  ·  SAP Customer Engagement Initiative
Se buscan comentarios de socios: ¡31 iniciativas de compromiso con el cliente de SAP están abiertas para su participación!
#s4hana  ·  #sapdigitalmanufacturing  ·  #SAPDSC  ·  Product Information
LM POD, OAT, informe de pedidos, informe SFC (versión SAP Digital Manufacturing 2302)
fiscal  ·  fiscal calendar  ·  fiscal year  ·  fiscal year variant  ·  Technical Articles
Generación de calendario fiscal para SAP Data Warehouse Cloud utilizando un procedimiento integrado

Deja tu comentario Cancelar la respuesta

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

*

*

Su guía para la sostenibilidad @ Conferencia internacional de SAP para servicios públicos y energía
Previo
Integración de ChatGPT-3 en SAP Analytics Cloud usando un widget personalizado
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