• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
#AI  ·  #ChatGPT  ·  #S/4HANA  ·  abap  ·  cloud  ·  innovation  ·  Technical Articles

ChatGPT para desarrollos de SAP: ¿amenaza u oportunidad?

By s4pcademy 


ChatGPT se ha hecho grande. Si Internet es algo por lo que pasar, es LA PRÓXIMA GRAN COSA, y me refiero a Industria 4.0 + 1. Sea lo que sea: ¿Industria 5.0, Internet 5.0, Conversaciones 5.0? Dejaré el nombramiento a los expertos en marketing.

Todos hemos visto cientos de artículos en Internet sobre cómo ChatGPT está revolucionando el mundo y cómo se llevará puestos de trabajo. Ah, bueno, hemos escuchado que la IA se hizo cargo de los trabajos durante los últimos años, pero nuestros trabajos siempre estuvieron seguros: ¡somos programadores! El problema es que esta revolución es un poco diferente: aparentemente, afecta PRINCIPALMENTE a los programadores…

Esta publicación de blog se divide en las siguientes secciones:

  • Capacidades de ChatGPT
  • ¿Cómo pueden los desarrolladores de ABAP comenzar a usar ChatGPT hoy? Ejemplos
  • Cuáles son las debilidades y limitaciones de ChatGPT
  • ¿Deberían los desarrolladores de ABAP preocuparse por su futuro? 4 conclusiones clave
  • Qué podría pasar después… – Sesión de ensoñación

¿Cuáles son las capacidades de ChatGPT?

Para poder responder a la pregunta de este artículo, veamos las capacidades de ChatGPT, específicamente para desarrolladores de software. Si le preguntas al mismo ChatGPT, te dará la siguiente respuesta:

Como modelo de lenguaje de IA, no tengo la capacidad de escribir software. Sin embargo, puedo entender y generar texto en lenguaje natural sobre conceptos de programación y varios lenguajes de programación. Puedo ayudar con la codificación proporcionando información sobre la sintaxis, ejemplos de código y resultados del programa.

Oh, qué modesto… Sin embargo, cuando le pide que escriba un informe ABAP que tome el número de vuelo y la fecha de salida como parámetros de entrada y presente otras conexiones con el mismo origen y destino que salen dentro de los 10 días anteriores o posteriores a la fecha especificada, presenta el siguiente salida:

(si no eres técnico, puedes desplazarte más allá del código 🙂)

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

Entonces, aquí está lo primero sobre ChatGPT: ¡es un mentiroso! 😉 En realidad, es bastante bueno para escribir código mucho más rápido que la mayoría de los desarrolladores.

Además, cuando le pedí que cambiara este código para que estuviera orientado a objetos y proporcionara una clase de prueba de unidad ABAP para él, emitió los siguientes 2 fragmentos:

  1. Implementación

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

2. Unidad ABAP

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

Bueno, en este punto, podríamos ponernos exigentes y cuestionar el hecho de que tanto la lógica de selección como la de presentación están integradas en un solo método, también podríamos cuestionar el hecho de que generó una clase de «alternativas» dedicada en lugar de un controlador de vuelo genérico con un método de alternativas, o que nombró todo como una clase local, aunque queríamos crear un objeto global. Pero este no es el punto…

El punto es que ChatGPT logró convertir un extracto de lenguaje natural de dos oraciones en algo que podemos copiar y pegar en ADT (herramientas de desarrollo ABAP) y desarrollarlo más. Si hay ALGUIEN en el mundo que pueda hacerlo más rápido, envíeme un mensaje y lo contrataré hoy por mucho dinero.

¿Cómo pueden los desarrolladores de ABAP hacer uso de ChatGPT?

Todavía tengo que probar esto en la vida real, pero debido a que realmente no he estado involucrado en un proyecto de desarrollo desde que se publicó ChatGPT, solo puedo trabajar en algunos escenarios hipotéticos que se me ocurren. Sin embargo, si ahora estuviera a cargo de un nuevo requisito de desarrollo ABAP, esto es para lo que usaría ChatGPT:

Sentencias SQL en tablas estándar

Tuve la oportunidad de pedirle a ChatGPT que creara una consulta SQL para mí que acceda a los datos del pedido de ventas, aquí está el primer intento:

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

Como puede ver, no es genial… La tabla Sales_order_header no existe y estos nombres de campo parecen demasiado fáciles de leer para ser SAP.

Entonces, decidí continuar con el chat y darle a ChatGPT más detalles sobre lo que quiero:

¡El resultado de esto fue mucho mejor! Obtuve los nombres de campo correctos, la sintaxis ahora se ve como ABAP y podría copiar y pegar esto en un informe y desarrollarlo como quiero.

¿Qué pasa con algo más complejo, por ejemplo, vistas de CDS con algunas uniones? Aquí tienes:

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

¿Cuánto se tardó en generar? 20 segundos para escribir mi consulta, otros 20 para la respuesta. Voy a repetir: si hay ALGUIEN en el mundo que pueda escribir todo esto en menos de un minuto, por favor comuníquese conmigo.

Andamiaje para ABAP y clases de unidades ABAP

El siguiente caso de uso potencial para ChatGPT en su trabajo diario es construir un andamiaje para sus clases ABAP. Imaginemos que tenemos un escenario en el que necesitamos una clase DAO (objeto de acceso a datos) que actuará como nuestro único canal que interactúa con la capa de datos. Así es como ChatGPT maneja mi consulta:

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

No es perfecto: a la parte de definición le faltan los métodos y tiene una extraña declaración pública de creación privada dentro, no hay verificación de entradas en lt_materials antes de la llamada de VBAK. Pero aún así, se puede copiar y pegar en un IDE y desarrollarse aún más. La lógica de selección real es bastante acertada. Tiempo necesario: Alrededor de 90 segundos en total.

Pantallas de selección de informes

Ahora, usemos la clase DAO que creamos anteriormente y envolvámosla en un informe que tome los parámetros requeridos como entrada del usuario. Los resultados deben mostrarse en una cuadrícula ALV.

Salida%20generada%20por%20ChatGPT

Salida generada por ChatGPT

Diré una cosa: ¡GUAU! Manejó el botón de opción, creó una declaración de caso bien estructurada e incluso colocó los resultados en una cuadrícula ALV. Aunque no estoy seguro de si este ALV realmente funcionaría correctamente, sigo pensando que es bastante impresionante, ¡especialmente porque me tomó alrededor de 40 segundos llegar a él!

Nota: En realidad, no ejecuté nada del código, así que si hay errores en él que pasé por alto, lo siento.

¿En qué es todavía bastante débil ChatGPT?

Pero, no es tan hermoso. ChatGPT es bastante nuevo y tiene sus fallas y limitaciones. Aquí hay algunos que todos deberíamos recordar cuando lo usamos.

modelo obsoleto

La versión actual de ChatGPT se basa en datos de capacitación de 2021 que están disponibles en Internet. Debido a que ya tiene 2 años y el ecosistema de SAP ha evolucionado mucho desde entonces, puede haber pequeñas discrepancias en los resultados que proporciona. ChatGPT-4, que se rumorea que se lanzará en 2023, es aún más avanzado. ¿Qué mejoras traerá para escribir ABAP? Vamos a esperar y ver.

Calidad de las respuestas

ChatGPT es «solo» un modelo de lenguaje, inevitablemente proporcionará respuestas incorrectas. Por lo tanto, confiar únicamente en su salida podría no ser una buena idea todavía. Recomendaría verificar las respuestas que proporciona con una fuente confiable. En la programación ABAP, una simple copia y pegado en ADT/ABAP Workbench probablemente ya resaltaría los problemas principales.

Nota: ¡Es posible que aún sea demasiado pronto para tratar de superar esa entrevista de trabajo para un puesto del que no tiene idea!

Comprensión de la entrada

Como puede ver arriba, cuando le pedí a ChatGPT que creara una declaración SQL para mí, sin darle suficiente contexto, no respondió diciendo «No estoy seguro de haberlo entendido correctamente, ¿podría proporcionar más contexto?» para eliminar las conjeturas En cambio, simplemente respondió con lo que pensó que era la mejor combinación. Se necesita un poco de práctica para obtener estas consultas con suficiente nivel de detalle, por lo que nuevamente, es mejor tener al menos algún tipo de idea del resultado esperado.

es todo texto

Los resultados entregados por ChatGPT están en formato de texto. Lo que significa que todavía necesitamos a alguien que se encargue de las configuraciones sin código, llene las tablas personalizadas, transporte los cambios, copie y pegue el código en un editor ABAP y, potencialmente, depure para encontrar problemas.

¿Deberían los desarrolladores de ABAP preocuparse por su futuro?

No, no deberían. No deberían preocuparse por su futuro todavía, siempre y cuando pasen la prueba de innovación, es decir, adopten la evolución de ChatGPT y comiencen a utilizar sus capacidades para su ventaja. Aquí están mis 4 conclusiones clave para los desarrolladores de ABAP:

  1. Los clientes, gerentes y arquitectos comenzarán gradualmente a ajustar sus estimaciones de esfuerzo en función de la rapidez con la que se pueden lograr las cosas fáciles con ChatGPT. Ya no aceptarán 5 días de esfuerzo en su parte de horas etiquetada como «Creación de clases ABAP y clases de prueba de unidad ABAP». Cuanto antes empiece a usar ChatGPT, mejor será para usted. Recuerde, escribir consultas de buen contexto también requiere un tiempo para acostumbrarse.
  2. Un desarrollador ABAP centrado en ChatGPT pronto será mucho más valioso que uno que lo ignore.
  3. La conexión directa de ChatGPT a los sistemas SAP para desencadenar acciones es muy poco probable. Hay demasiados riesgos de seguridad sin descubrir en esta área en este momento y, a menos que se pueda controlar con cuidado, no será fácil de ejecutar. Entonces, por el momento, ChatGPT seguirá siendo «solo» su amigo chatbot que puede responder sus preguntas.
  4. El ecosistema de SAP está extremadamente integrado y reemplazar a los desarrolladores no se trataría solo de reemplazar a la persona que presiona las teclas de su teclado para producir código. También tendría que reemplazar a las personas responsables de configurar conexiones, personalizar módulos estándar, crear extensiones, etc. Gran parte todavía se basa en clics.

Soñar despierto: ¿y si…?

¿Hasta dónde puede llegar? ¿Cuánto puede evolucionar potencialmente Chat-GPT? Estas son 2 preguntas que muchos profesionales de TI se hacen hoy en día. La hoja de ruta de Chat-GPT y SAP aún no está clara, pero estos son algunos de mis pensamientos inverosímiles al respecto…

Sin código/código bajo

SAP está invirtiendo mucho esfuerzo en herramientas sin código/de código bajo. Estas herramientas no están destinadas a reemplazar completamente a los desarrolladores, sino que se supone que abren el mundo del software a usuarios no técnicos. ¿Qué pasaría si pudiéramos integrarlos con Chat-GPT? ¿Se volverían eventualmente lo suficientemente fuertes como para eliminar por completo la necesidad de desarrolladores de software? ¿Podría Chat-GPT eventualmente convertirse en el desarrollador que necesitaría ocasionalmente, al usar herramientas sin código o de código bajo?

Acceso al sistema BTP CLI y SAP

¿Puede Chat-GPT volverse tan avanzado y confiable que eventualmente obtenga acceso directo a los sistemas locales y al BTP? ¿Se imagina pedirle a Chat-GPT que cree una aplicación de Fiori Elements y la aloje en BTP y el resultado sería una aplicación implementada completamente funcional?

Vulnerabilidad de seguridad

Al final del día, Chat-GPT es un modelo extremadamente inteligente que puede causar estragos. ¿Cómo nos mantenemos a salvo después de dejar que este huésped no descubierto ingrese a nuestros sistemas?

Me encantaría escuchar sus opiniones sobre Chat-GPT. ¿Ya lo usas o estás pensando en empezar? ¿Cómo ves su futuro? ¡Déjame saber abajo en los comentarios!




amenazaChatGPTdesarrollosoportunidadparaSAP

Artículos relacionados


Technical Articles
SAP Datasphere: conectividad SFTP local
SA Repair  ·  Technical Articles
SA Repair: Transforme sus procesos comerciales con SAP Signavio y SAP Build
Product Information
Adelanto del lanzamiento de SAP Analytics Cloud para el primer trimestre de 2023
¡Nos encantan los comentarios! Showcase Situation Handling: excelente colaboración entre clientes, socios y equipos de desarrollo de SAP
Previo
Unificación de historia y aplicación analítica con la nueva experiencia de historia optimizada en SAP Analytics Cloud
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.