
AI, które przyspiesza programowanie w ABAP!
Dzięki CodeCompanion piszemy kod szybciej i bez zbędnego przełączania między narzędziami – poznaj rozwiązanie, które integruje AI bezpośrednio w Eclipse i przenosi programowanie w ABAP na nowy poziom.
Mateusz Tofil
SAP Developer
Kontekst
Biznesowo
- Pisanie kodu to nie tylko składanie linijek w logiczną całość – to także testowanie, dokumentowanie czy poprawianie błędów. I właśnie w tych obszarach postanowiliśmy sobie pomóc! Nasze wewnętrzne rozwiązanie łączy AI z Eclipse, dzięki czemu nie musimy już przełączać się między ChatGPT w przeglądarce, GitHub Copilotem czy zewnętrznymi edytorami tekstu. Wszystko mamy pod ręką, w jednym miejscu.
- Nasze narzędzie jest unikalne, ponieważ działa on-premise, podczas gdy inne dostępne rozwiązania, takie jak GitHub Copilot albo nie są zoptymalizowane pod ABAP, albo jak SAP Joel, wymagają licencji BTP i działają wyłącznie w połączeniu z chmurą.
- A co dokładnie potrafi nasz plugin?
- Generowanie testów jednostkowych – analizuje zaznaczony kod i automatycznie generuje testy jednostkowe
- Automatyczne tworzenie dokumentacji – samodzielnie uzupełnia komentarze na podstawie kodu, zmiennych i parametrów wejściowych
- Interakcja przez komentarze w kodzie – Deweloper może w kodzie umieścić specjalny komentarz w specjalnym formacie, a system automatycznie prześle to zapytanie do AI i zwróci gotowy kod.
- Dynamiczne okno promptów – Możliwość interakcji z AI bezpośrednio w Eclipse, z opcją wyboru parametrów, np. języka programowania czy szczegółowości odpowiedzi.
Technicznie
- Jednym z naszych największych wyzwań technicznych była Integracja Eclipse (Java) z ABAP – Problemem było połączenie dwóch środowisk. Rozwiązanie znaleźliśmy dzięki wykorzystaniu SAP Java Connector (JCo), co umożliwiło komunikację między kodem w ABAP a funkcjami napisanymi w Java.
- Połączenie systemu SAP z OpenAI API – Stworzyliśmy middleware w Java, który obsługuje zapytania HTTP do OpenAI, a następnie zwraca odpowiedzi w strukturze dostosowanej do użycia w ABAP.
- Brak dokumentacji budowania pluginów dla Eclipse – Instalacja narzędzia wymagała zastosowania starszych mechanizmów budowania aplikacji, ponieważ nie mogliśmy skorzystać z nowoczesnych rozwiązań takich jak Maven czy Gradle. Po wielu testach udało się wypracować spójny proces instalacji.
- Jest to projekt innowacyjny - Stosujemy iteracyjne podejście agile, które pozwala nam elastycznie dostosowywać kierunek rozwoju projektu. Spotykamy się co tydzień, aby omówić postępy, wyzwania i kolejne etapy wdrożenia zarówno w tym projekcie, jak i w dwóch innych związanych z AI w naszej firmie.
Technologie i narzędzia
- ABAP
- Java
- Eclipse
- SAP Java Connector (JCo)
- OpenAI API
Organizacja pracy
To jest Agile!

Planowanie

Estymacja

Standup

Demo

Retro
Na czym się skupiamy?
90% rozwój
10% spotkania
Zespół
1
Junior SAP Developer
1
SAP Developer
2
SAP Architect
Wartość dla kandydata
To przed nami i może Tobą?
- Obecnie zakończyliśmy wersję 1.0. Projekt działa i jest testowany wewnętrznie (testy alfa). Zrealizowaliśmy kluczowe założenia, aby można było w pełni wdrożyć i aby spełniało określone wymagania.
- Planujemy dalszy rozwój projektu o kolejne wersje i testowanie rozwiązania z nowymi modelami AI w połączeniu z wektorową bazą danych. Chcemy przetrenować model na naszym kodzie, aby osiągnąć jeszcze lepsze wyniki zwracanych odpowiedzi.
Tego się uczymy. Rozwiniesz kompetencje z nami?
- Zarządzanie czasem - konieczność równoległego łączenia codziennych zadań projektowych z dodatkowym zaangażowaniem w projekt innowacyjny sprawiała, że zarządzanie czasem stało się kluczowym wyzwaniem. Wymagało to od nas ciągłego priorytetyzowania oraz szybkiego dostosowywania się do zmieniających się potrzeb. Tak, aby zapewnić terminową realizację projektu i jego założeń.
- Optymalizacja promptów dla AI – testujemy i udoskonalamy sposoby komunikacji z modelami językowymi, aby uzyskiwać lepsze wyniki w generowaniu kodu i dokumentacji.
- Integracja AI w systemach on-premise – uczymy się, jak optymalnie łączyć modele językowe z lokalnym środowiskiem SAP bez korzystania z chmury.
- Java w kontekście ABAP – mimo że głównie pracujemy w ABAP, musieliśmy opanować podstawy Javy, aby skutecznie napisać rozszerzenie dla Eclipse.
- Korzystanie z SAP Java Connector – zdobywamy praktyczne doświadczenie w integracji systemów SAP z narzędziami opartymi na Javie.
Więcej o projekcie
Liczby, które mają znaczenie
4
kluczowe funkcjonalności
∞
możliwości rozwoju
0%
utrzymania
Efekt końcowy

No items found.
Dołącz do projektu!
No items found.
Robimy różnicę
O efektach niech opowiedzą klienci!