SAPLink plugin voor workflow objecten Inleiding SAPLink is open source ABAP programmatuur dat gebruikt wordt om maatwerk objecten zoals programma s, functiebouwstenen en klassen over te zetten naar andere systemen, zonder dat deze via een transportlandschap gekoppeld zijn. Sinds kort is er ook een SAPLink plugin ontwikkeld die het mogelijk maakt workflow modellen, standaard taken en workflow regels over systemen heen te transporteren. In deze tip wordt uitgelegd hoe deze functionaliteit geactiveerd en ingezet kan worden. Installatie SAPLink Op de meeste SAP systemen heeft een enthousiaste programmeurs waarschijnlijk al wel SAPLink geïnstalleerd. Zo niet staat hieronder beknopt hoe dit gerealiseerd kan worden. Omdat je workflow objecten wil gaan overzetten van het ene naar het andere systeem zal SAPLink op zowel het bron- als het doelsysteem moeten worden geïnstalleerd. Het komt er in het kort op neer dat je eerst handmatig een ABAP programma genaamd ZSAPLINK_INSTALLER aanlegt. De code voor dit programma en de stappen die moeten worden uitgevoerd worden zijn in onderstaande link te vinden: http://wiki.scn.sap.com/wiki/display/abap/saplink In eerste instantie maak je handmatig een ABAP programma aan en kopieert de code uit het in de link genoemde zsaplink_installer.txt bestand. Figuur 1: ZSAPLINK_INSTALLER Wanneer je dit programma uitvoert, zie je het volgende.
Figuur 2: Resultaat zsaplink_installer SAPLink werkt met zogenaamde nuggets. Nuggets zijn bestanden waar je objecten in kunt plaatsen en deze bestanden (*.nugg bestanden) kun je vrij inspelen in andere SAP systemen. Met alleen de installer heb je nog niets, we kunnen het SAPLink programma nu importeren door het installeren van de SAPLink nugget. Deze kun je ook vinden in de eerder genoemde link. Het SAPlink_Daily.nugg bestand bevat het gehele SAPLink programma, inclusief de meest gebruikte plugins voor het overzetten van o.a. programma s, klassen, functiegroepen etc. Na het uitvoeren van dit programma zullen de onderstaande objecten geïmporteerd zijn. Figuur 3: Installatie SAPLink Belangrijk is het hierna om alle onderliggende objecten te activeren. Dit gebeurt niet automatisch en zal er voor zorgen dat het programma resulteert in een shortdump. Ga hiervoor naar een van de bovenstaande objecten via SE24 of SE38 en activeer het gekozen object. Wanneer men de knop Totale werkvoorraad kiest zullen alle relevante objecten geactiveerd worden. Zelfs daarna kan het voorkomen dat er iets vastloopt, vaak door de verkeerder volgorde van het activeren. Probeer het activeren daarna nog eens, vaak lukt het daarna wel.
Figuur 4: Activeren objecten Daarna is het tijd om het tijd om het programma ZSAPLINK te starten via transactie SE38. Figuur 5: ZSAPLINK uitvoeren Vervolgens kan de SAP workflow plugin geïnstalleerd worden. Meer informatie over de SAPLink voor workflow objecten kan gevonden worden via de volgende link. http://scn.sap.com/community/abap/blog/2013/09/20/saplink-plugin-for-workflow-objects Zoals gemeld in de blog heeft het programma een niet definitieve status, maar het voldoet prima. Het bestand NUGG_WF_PLUGIN.xml is eigenlijk een.nugg bestand, dus dit bestand kan hernoemd worden of direct geïmporteerd worden.
Figuur 6: Importeren SAP workflow plugin De SAPLink workflow plugin zal vervolgens het volgende resultaat tonen. Figuur 7: Resultaat importeren SAP workflow plugin Ook deze objecten zullen weer geheel geactiveerd moeten worden via de eerder beschreven methode. Afhankelijk van de versie van de SAP NetWeaver instance kunnen syntax errors verschijnen, zie de blog post over de workflow plugin hoe deze te verhelpen. Exporteren workflow objecten Vervolgens kunnen we in het bronsysteem met het programma ZSAPLINK via transactie SE38 een eerder genoemde nugget aanleggen. Onthoud de gekozen bestandslocatie, deze heb je later nodig wanneer je de workflow objecten wil exporteren.
Figuur 8: Creatie workflow SAPLink nugget Vervolgens kies je de te transporteren standaardtaken, standaardregels en workflow definities door de optie Add objects to Nugget. Figuur 9: Toevoegen workflow objecten Vervolgens kunnen de gewenste objecten toegevoegd worden aan de nugget. In dit voorbeeld worden de volgende workflow objecten over gezet naar het doelsysteem: 1. WS99000014 (Workflow definitie) 2. TS99000020 (Standaard taak) 3. AC99000001 (Workflow regel)
Figuur 10: Toevoegen workflow objecten Importeren workflow objecten in het doelsysteem Vervolgens kunnen de workflow objecten geïmporteerd worden in het doelsysteem. Selecteer het bronbestand (de nugget) en start de import. Figuur 11: Importeren workflow objecten Er zal voor ieder object gevraagd worden in welk pakket deze opgenomen kan worden. Als de import succesvol is zal het resultaat scherm een overzicht geven van de geïmporteerde workflow objecten.
Figuur 12: Resultaat van de Import In het doelsysteem zijn de geïmporteerde objecten nu beschikbaar. Figuur 13: Overgezette workflow definitie Let op, helaas worden SAP Workflow business objecten nog niet ondersteund in de SAPLInk workflow plugin. Gelukkig kan het onderliggende ABAP programma wel overgezet worden naar een ander systeem, maar helaas zullen alle attributen, methoden en events, inclusief alle parameters handmatig overgezet moeten worden. De workflow definitie zal dus nagelopen moeten worden op het gebruik van aangevulde attributen, methoden en events in de business objecten. Wellicht is er binnenkort nog een enthousiaste ontwikkelaar die deze lacune op zal vullen. November 2014. Deze tekst is aangeleverd door Avelon. Voor vragen of extra informatie over dit onderwerp kunt u contact opnemen met Sander van der Wijngaart. Zie voor contactgegevens www.avelon.nl