BLOGTECHNOLOGYSAP S/4 HANA
Leo van Horrik

Gebruiksvriendelijk data laden in SAP. Kan dat?

Het laden van data in SAP kan op meerdere manieren. Binnen SAP zelf kan het met een standaard transactie, maar het kan ook met third party applicaties. Eén daarvan is Winshuttle. Wat zijn hiervan de voor- en nadelen?

Data laden in SAP

Vanaf SAP R/3 kan er met transactie LSMW-data geladen worden. LSMW is een wat verouderde transactie die qua opzet nogal verschilt per object. Vanwege de vele verschillende handelingen is deze transactie niet echt gebruiksvriendelijk. Vanaf SAP S/4 HANA is het ook mogelijk om met de transactie LTMC-data te laden. Een voordeel van LTMC ten opzichte van LSMW is dat er bij LTMC een template voor elk object meegeleverd wordt, en dat de opzet meer uniform is. Een nadeel van LTMC is dat je alleen data kunt aanmaken en niet kunt aanpassen. Naast deze door SAP meegeleverde tools, zijn er ook nog third party applicaties, zoals Winshuttle.

De basis

Winshuttle is een op Excel gebaseerde applicatie die erg gebruiksvriendelijk is. Dit zijn de belangrijkste functionaliteiten van Winshuttle. Het begint met het opnemen van een transactie. Vergelijkbaar met een LSMW-recording of een Excelmacro. De gebruiker maakt in Winshuttle gebruik van zijn of haar bestaande SAP-account en dus van de autorisaties die horen bij dit SAP-account. Het grote voordeel van Winshuttle is dat je geen LSMW-, ABAP- of VBA-kennis nodig hebt. Na het opnemen van de transactie ga je de opgenomen velden toewijzen aan de verschillende kolommen. Na afloop kun je je Excel load file vullen en de data laden. Na het laden staat alle relevante informatie in deze logkolom; SAP-systeem waarop geladen is, totale verwerkingstijd, totaal aantal verwerkte records, het totaal aantal errors, enzovoort. Deze errors zijn in Excel makkelijk te identificeren en kunnen na correctie nogmaals verwerkt worden.

Loops

Winshuttle kan goed omgaan met objecten met een enkelvoudige structuur, bijvoorbeeld het aanmaken van work centers. Daarnaast kan Winshuttle ook objecten met een gelaagde structuur laden, bijvoorbeeld purchase orders of BOM’s. In Winshuttle is het mogelijk zogenaamde “loops” in te bouwen. Je voegt dan een extra kolom toe met een “loop-ID”; een H voor Header data of een D voor Detail data. Deze loop blijft zich dan herhalen totdat alle detail records verwerkt zijn. Voorbeeld: het aanpassen van de storage location van alle materialen in een purchase order. De purchase order is in dit geval de headerdata en de regels met de materialen, de detaildata. Bij een enkelvoudige structuur wordt elk item geopend, de storage location aangepast en vervolgens opgeslagen. Als in een purchase order heel veel materialen zitten, zal de totale verwerkingstijd heel lang duren. Vandaar de header/detailstructuur. Hierbij wordt de purchase order geopend, vervolgens van elk materiaal één voor één de storage location aangepast en dan pas opgeslagen. Dit levert een tijdsbesparing op van zo’n 75%.

If-functie

Het kan voorkomen dat niet alle records in je load file op dezelfde manier verwerkt moeten worden. Winshuttle biedt daarvoor de mogelijkheid om een if-conditie toe te voegen. Deze conditie kun je gebruiken als een veld een bepaalde waarde heeft. Zo’n record zal op basis van deze if-functie dan juist wel of juist niet uitgevoerd worden. Denk hierbij bijvoorbeeld aan de waarde van het special procurement type in de material master. Bij geen waarde zal het winshuttle script wel uitgevoerd worden maar deze kan worden overgeslagen als deze wel een waarde heeft.

Show disabled fields

Als je een opname gemaakt hebt maar een bepaalde wijziging in een veld vergeten bent, kun je gebruik maken van de “Show disable field” functie. Standaard worden in Winshuttle alleen de velden getoond die in de opname gebruikt zijn. Met het aanvinken van deze functie worden alle beschikbare velden getoond. Deze functie is ook erg handig als je achteraf je winshuttle script wilt aanpassen zonder een hele nieuwe opnamen te moeten maken.

Groot volume

Een heel groot aantal te verwerken records heeft uiteraard invloed op de verwerkingstijd. Een groot voordeel van Winshuttle is dat je meerdere sessies tegelijkertijd kunt openen en per sessie een bepaald bereik op kunt geven. Zo wordt de totale verwerkingstijd aanzienlijk verkort.

Nadelen

Winshuttle kan goed omgaan met transacties waarbij je ook bepaalde functietoetsen kunt gebruiken. Met transacties waarbij je geen functietoetsen kunt gebruiken, kan Winshuttle niet omgaan. Zo’n transactie wordt niet door Winshuttle opgenomen en kan dus ook niet afgespeeld worden. In zo’n geval zul je andere load tools moeten gebruiken.

Een ander nadeel is het gebruik van de copy/paste-functie. Tijdens het laden van data maakt Winshuttle gebruik van de copy/paste-functie van de gebruikte computer. Het is dus niet mogelijk om andere data te kopiëren en plakken tijdens het laden met Winshuttle.

Conclusie

Winshuttle is een heel gebruiksvriendelijk pakket waarbij je in vier simpele stappen (opnemen van de transactie, mappen van velden, vullen van de load file en het laden van data) data kunt laden zonder ABAP- of VBA-kennis.