Zo krijg je (weer) grip op jouw maatwerk!

' Keep the core clean' is een populaire kreet op dit moment. Allemaal leuk en aardig, maar de kans is vrij groot dat jouw core op dit moment verre van clean is. Kijk maar naar jouw maatwerk. Maar nu, zeker met een mogelijke migratie naar HANA, kan al dit maatwerk voor grote problemen gaan zorgen. En aangezien veel bedrijven op dit moment de oriëntatie op HANA doen, vragen ze ons nu om dit grondig aan te pakken. En daar zetten wij een slimme beheertool voor in: Custom Code Lifecycle Management, oftewel CCLM. Wat het is, hoe het werkt en hoe het jou kan helpen, vertel ik je graag in deze blog. Eén ding over CCLM is in ieder geval zeker: begin er zo snel mogelijk mee!

Dscf3452

(Foto: Marjoleine Kikkert)

Maatwerk als strop om je nek

Hoe langer jouw bedrijf op SAP draait, des te groter is de kans dat er maatwerk is waar geen gebruik van wordt gemaakt. Overnames, reorganisaties, veranderende processen: de veranderingen in je bedrijf zorgen vaak voor een bak aan modificaties en oude rommel. Mensen die deze modificaties bedacht hebben, zijn vaak al uit dienst en niemand weet eigenlijk waar het nog voor dient. De vraag is dan ook: heb jij het overzicht over al jouw maatwerk? Waarschijnlijk is het antwoord nee.

‘Wat maakt het nou uit dat er veel maatwerk is? Daar maak ik toch geen gebruik meer van?’ Klopt. Maar al het maatwerk dat je hebt, moet wel onderhouden worden en ook ongebruikte code wordt met iedere upgrade weer overgezet of aangepast naar de nieuwe versie. Dit zijn tijdrovende exercities die doorgaans behoorlijk intensief zijn en veel geld kosten. Alle reden dus om je ongebruikte maatwerk in kaart te brengen en uit te faseren. Maar hoe doe je dat?

CCLM is NIET alléén voor HANA reizigers

Het is niet raar dat veel bedrijven juist nu gaan kijken naar hun maatwerk. Een mogelijke migratie naar HANA betekent per definitie dat het handig is om inzicht te krijgen in je maatwerk. Sterker nog: dat moet wel. Maar ook als je niet veel maatwerk hebt of naar HANA gaat, is deze tool zeer interessant. Want het is bij uitstek dé monitoringtool om jouw ABAP te beheren. Bedrijven die er nu om vragen zijn vaak het overzicht al helemaal kwijt en daarmee eigenlijk net iets te laat, want voor hen wordt het een tijdrovend klusje om echt alles op te ruimen. Het zou veel beter zijn wanneer er mee begonnen wordt voordat het uit de hand is gelopen.

Cockpits als overzicht

CCLM biedt grofweg twee verschillende cockpits. Via het City model op het beginscherm, waarop enkele diagrammen met globale gegevens te zien zijn, kun je deze cockpits benaderen.

De Quality Cockpit (QC) verzamelt ABAP Test Cockpit (ATC) resultaten en brengt hiermee de kwaliteit van je maatwerk in kaart. Hierbij heb je de mogelijkheid om een aantal varianten aan te zetten. Een goed voorbeeld daarvan is de HANA-ready variant. Deze kun je aanzetten en vervolgens zie je of jouw maatwerk HANA-ready is in de vorm van groene, oranje of rode bolletjes. Je kunt ook overigens ook je eigen variant maken; het is en blijft SAP.

De Decommissioning Cockpit (DC) is de tweede cockpit. Hier kun je een lijst genereren met objecten waarmee je inzichtelijk krijgt wanneer ze voor het laatst gebruikt zijn. Dit is waar je uitfaseringstraject begint; zaken in kaart brengen. Wanneer je weet wat je wilt verwijderen kun je dit in CCLM simuleren met de Blacklist Monitor en als je zeker bent dat alles goed blijft gaan maak je vervolgens een backup transport, waarna je de zaken definitief uit je systeem verwijdert.

Technische inzichten: Modificaties en Enhancements

CCLM met Usage Procedure Logging (UPL) of ABAP Call Monitor (SCMON) en ATC kan helaas nog niet van alle maatwerk bijhouden of deze nog gebruikt wordt en kwalitatief in orde is. De overzichten tonen alleen maatwerk objecten en ATC resultaten worden alleen verzameld voor objecten in maatwerk pakketten. Dit betekent dat de meeste user exits en BADI implementaties er wel in zitten, waarmee je toch over zeer veel informatie beschikt!

Het is daarnaast ook mogelijk om bij het ontwikkelen van je modificaties en enhancements al rekening te houden met wat CCLM en ATC precies kunnen. Zo kun je er voor zorgen dat er zoveel mogelijk in objecten die wel gecontroleerd en geteld kunnen worden is gecodeerd. Een goed begrip van deze tool(s) maakt je coding gemakkelijker te beheren.

Onderschat het uitfaseren niet

‘Even uitfaseren’. Vergeet dat maar, want uitfaseren is namelijk veel werk wanneer het om grote hoeveelheden maatwerk gaat. Processen moeten heel diep worden bekeken en na het verwijderen van overbodig maatwerk ook nog uitvoerig worden getest. Wanneer CCLM aangeeft dat iets bijvoorbeeld een jaar lang niet gebruikt is, geeft dit namelijk geen absolute garantie dat het maatwerk echt overbodig is. Maak ook niet de fout dat uitfasering van je maatwerk gelijktijdig kan met je HANA migratietraject. Je moet dit echt zien als separate zaken, niet alleen om de kosten onder controle te kunnen houden maar ook omdat je niet goed kunt voorspellen hoeveel tijd en capaciteit er precies nodig zal zijn voor het uitfaseren.

Gouden tips

Zit je midden in je HANA migratietraject en levert je QC een lijst op met zaken die niet in orde zijn qua kwaliteit? Dan kun je in de decommissioning cockpit eenvoudig zien of deze objecten wel of niet in gebruik zijn. Naast je ‘gewone’ maatwerk kun je ook op eenvoudige wijze het gebruik van je enhancements en modificaties monitoren. En dat is wel zo handig dus vraag naar de mogelijkheden!

Meer weten?

Wil je ook inzicht hebben in jouw maatwerk? Of ben je je aan het oriënteren op HANA? Neem dan gerust contact met ons op. We vertellen je precies wat je kunt verwachten en welke stappen doorlopen moeten worden om tot resultaat te komen. Wij zorgen voor een snelle installatie van CCLM en bieden je alle tools om dit uiteindelijk zelf in gebruik te kunnen gaan nemen.

Over de expert

Marjoleine Kikkert is Senior ABAP Consultant en werkzaam binnen Development on Demand. Vanuit hier adviseert zij tal van klanten over hoe zij met hun maatwerk om moeten gaan en is een expert in het gebruik van Custom Code Lifecycle Management.