First glance at ChatGPT and its potential for ABAPers
ChatGPT is one of the biggest, if not the biggest, innovation buzz in IT in the past years. If you don’t know it, it will itself summarize as :
ChatGPT is a computer program that can hold a conversation with people in a natural and conversational way. It’s a “chatbot” that uses advanced machine learning algorithms to understand and generate human-like language. It’s called a “large language model” because it has been trained on a vast amount of text data to generate text that is similar to human language. ChatGPT can be used for a variety of tasks, such as answering questions, generating text, and holding a conversation. It’s a powerful tool that can help people communicate with computers in a more natural and intuitive way, and has the potential to be used in many different applications in the future.
I have browsed and learned about the different use cases, and I was astonished to discover that though it is not specialized in one specific area, it is capable of doing SAP ABAP development.
I wanted to give it a try myself, and understand what I could do with it in my everyday work, especially how it could save us some time in our daily (most boring) tasks.
My use case: we have received lately a new business requirement in order to “skip” some of the approvals for purchase orders, under certain limited conditions (purchase order type and plants). Technically, this could be designed as:
- a simple program with inputs as purchase order type and plants
- selection of the relevant PO
- for each one, release the PO
- display results.
Here is my chat discussion with my new friend, verbatim (sorry, this is a bit long).
WOW. Sorry, it is way too technical and too long but what I mean to say is that ChatGPT is REALLY surprising. Not because the code is clean and usable (it is not at all actually), but because it has reached the level of a kid developer (who would have read a lot of books/blogs) or a bad developer (who would have NOT read a lot of books/blogs).
- ChatGPT cognition is based on a statistical model, very advanced one, but still a statistical model: all the code lines he has proposed are a fuzzy mix of all the different source codes he has been through. What is extraordinary is that it was able to propose the correct tables for selection, the correct function to be used
- The NLP (Natural Language Processing) has reached a very high level. From my request, it was able to put a context, infer the expected input/outputs
Beyond the WOW effects, there are still some glitches in my experiment:
- ChatGPT does not invent source code (well, not really), it reproduces code that it has learned. Sometimes, you will notice piece of codes out of nowhere, or piece of codes that are shuffled/replaced by something else totally different. I guess we will face the same issues as with Github Copilot, and maybe issues with some copyrights?
- Though the skeleton source code can look good, it takes you a very long time to fine tune the code with the chat, especially because the answers are not always consistant (the code could randomly change for whatever reason). You will find it faster to change the code yourself.
- I feel that ChatGPT is not trying to provide you with the best answer, but the most common answers from blogs. It may propagate wrong code (just like fake news spread by chatbots).
AI is one of the big innovation of the decade. Its true power is still to be unleashed and everyone is imagining use cases. AI is not only ChatGPT, and many other initiatives exist, OpenAI is at the moment one of the most famous ones.
We may ask ourself what it can bring to SAP folks:
- Speed up some common tasks (scaffolding for developments, checks of code, automated testing, etc.)
- Bootstrap some activities like writing documentations, functional specifications, testing scenarios
- Ingest all our documents and become a super assistant (for both key users and IT people)
- Help in ETL tasks (AI-based data wrangling)
- Assist in data/process mining, discover hidden inference in a huge amount of data
As a developer, I am wondering and I am often asked whether I am afraid that ChatGPT would take my job. I am not. Well at least not for the next decade.
- AI will bring a new generation of tools, following the same trend as LowCode/NoCode. But at the end, we will need someone technical in the middle: it was a developer, it will be a kind of UI/flow designer. The citizen developer will remain a developer.
- At the opposite, I feel ChatGPT-like tools help in filling the semantic gap between IT and business users, and tasks which could be handled by AI are ranging far wider than the technical tasks we all have in mind: not only the developer could be replaced but also all the people in the IT value chain
As with any industrial transformation, technology will bring new tools, new ways of working. It will help us to focus more on the added values, not the repetitive tasks any robot could do.