HANA Development – Fuzzy search
De inhoud van een volledige website doorzoeken, ons welbekende CRTL+F in documenten of emailboxen, zoeken via Google of via apps. We zoeken continu naar bepaalde informatie, waarbij de zoekmogelijkheden steeds rijker en intelligenter worden. We kunnen meer data doorzoeken met vaak ook minder specifieke zoekcriteria. Toch is één van de bekende beperkingen van jarenlang SAP gebruik, dat er heel wat bij komt kijken om de gewenste gegevens uit het systeem te halen. Kennis van het datamodel, kennis van de verschillende sleutels in tabellen, het inzicht om je zoekcriteria op voorhand al zoveel mogelijk in te perken zodat er ook daadwerkelijk resultaten worden geretourneerd zonder een time-out van het systeem. Allemaal uitdagingen die er toe leiden dat er vaak consultants aan te pas komen om bepaalde informatie uit het transactionele ERP systeem te halen middels tabel selecties, SQVI’s of ABAP programma’s. Het leren leven met de beperkingen van je systeem is iets dat door de jaren heen teveel aan de orde van de dag is geweest.
De (nabije) toekomst met SAP ziet er een stuk rooskleuriger uit. Diverse innovaties op het gebied van SAP HANA, S/4HANA en Fiori (2.0) zorgen voor niet alleen betere prestaties van het systeem, vriendelijkere UI, maar ook veel rijkere zoekmogelijkheden en ‘hints’. De SAP CoPilot innovatie gaat nog een stap verder, alle rijke zoekmogelijkheden combineren met spraakherkenning technologie. De technische mogelijkheden worden meer in dienst gesteld van de gebruiker, in plaats van andersom. Hierin zie je duidelijk een visie van SAP, waarbij de CoPilot zelfs al voortborduurt op S/4HANA en Fiori 2.0. Veel klantorganisaties zijn echter nog niet zo ver.
Door veel klantorganisaties zal de SAP CoPilot dan ook als een soort ‘back-to-the-future’ scenario worden beschouwd, echter is er een aantal stappen in die richting al redelijk simpel te maken. Veel klantorganisaties stappen over naar SAP HANA als database platform. Hierdoor zijn niet alleen 85% meer Fiori apps te gebruiken, wordt er een betere performance behaald door de in-memory DB, kunnen tabellen anders worden opgeslagen en geïndexeerd, kunnen processen anders worden ingericht, maar zijn er ook meer mogelijkheden op het gebied van search.
Na het migreren van ons eigen systeem naar de SAP HANA DB en het certificeren van onze developers, is het tijd om de vergaarde kennis in de praktijk te brengen en de mogelijkheden verder te ontdekken in onze SUPlabs HANA. We realiseren diverse user stories waarbij we via relatief kleine en simpele aanpassingen, onder andere de extra mogelijkheden die SAP HANA ons biedt op het gebied van search gaan gebruiken. Middels deze blog willen we jullie meenemen in één van de eerste user stories die is gerealiseerd: Fuzzy search voor de BP zoekhulp.
1. Hoe maak ik een Fuzzy Search zoekhulp?
Via de ABAP Dictionary transactie kun je tijdens het aanmaken van een elementaire zoekhulp direct al aangeven dat je gebruik wilt maken van Fuzzy Search. Door dit aan te zetten worden alle opgenomen tekst-gebaseerde kolommen doorzocht.
2. Voeg de maatwerk zoekhulp toe aan BP zoekhulp groep
Door onze nieuwe zoekhulp toe te voegen aan de BUPA zoekhulp groep, is deze direct beschikbaar in bijvoorbeeld welbekende transactie BP. Om dit te bewerkstelligen open je de zoekhulp groep en voeg je een ‘append-zoekhulp’ toe, waarbinnen je dan vervolgens de nieuwe zoekhulp opneemt:
Zoekhulp groep uitbreiden:
In de popup, gebruik het ‘Nieuw’ knopje bovenin om een nieuwe append-zoekhulp te creëren:
Voeg de nieuwe zoekhulp toe aan deze append-zoekhulp:
Na alles opgeslagen en geactiveerd te hebben, start transactie BP om de nieuwe zoekhulp te testen:
3. Data uit meerdere tabellen combineren met behulp van een CDS view
Mocht je data uit meer dan 1 tabel nodig hebben, dan kun je in plaats van een tabel ook een CDS view inzetten waarmee je meerdere tabellen aan elkaar verbindt middels een join. Deze nieuwe soort view is alleen aan te maken in de Eclipse IDE via de ADT plugins. Onderstaand de CDS view code waarmee we de adresgegevens van de zakenpartner erbij ophalen, zodat ook hierop gezocht kan worden via de zoekhulp.
Nadat de CDS view is geactiveerd in de Eclipse IDE, is hij zichtbaar en bruikbaar vanuit de ouderwetse SAP GUI als een ouderwetse database view.
Nu kun je de CDS view opnemen (gebruik hiervoor de SQL View name uit je CDS) in de zoekhulp:
Activeer je zoekhulp en je kunt nu ook zakenpartners zoeken met ‘fuzzy’ adresgegevens :
Dit is een voorbeeld van een ‘fuzzy search’ toepassing op klantgegevens. De mogelijkheden zijn uiteraard legio, maar ook dichterbij dan je denkt.