# SAP R/3

SAP R/3 is de oude naam van het ERP-softwarepakket van SAP SE voor grote en middelgrote bedrijven. Het pakket wordt onder meer gebruikt binnen de afdelingen inkoop, productie, service, sales, financiën en HR en bevat doorgaans cruciale gegevens, applicaties en analytische tools om de efficiëntie van bedrijfsprocessen te verhogen.

## Geschiedenis

Aan het einde van de jaren zestig tot aan de jaren tachtig was er de zorg dat programmering zo ingewikkeld was dat het wel fout moest gaan. Een van de mogelijke oplossingen die werd voorgesteld door onder anderen Fred Brooks, was om modulair te gaan programmeren. Hierdoor zouden de modules eenmalig ontwikkeld moeten worden om dan op meerdere plaatsen gebruikt te kunnen worden.
SAP ging daarom over tot de objectgeoriënteerde aanpak.
SAP R/2 was een mainframe softwarepakket dat goed verkocht werd in de jaren tachtig en negentig. Het was erg populair bij grote multinationale Europese ondernemingen die behoefte hadden aan software die meerdere talen en valuta aan kon. Met de opkomst van client-serversoftware kwam ook SAP AG met een versie genaamd SAP R/3. Deze versie werkte op verschillende besturingssystemen zoals Unix, Windows en Linux. Ook werden diverse relationele database management systemen ondersteund zoals Oracle en Microsoft SQL Server. Hierdoor werd een geheel nieuwe markt bereikbaar. SAP R/3 werd officieel geïntroduceerd op 6 juli 1992.

## Technologie

SAP R/3 is gebaseerd op de client-serverarchitectuur. Het maakt gebruik van een drielagencomputermodel. Een client, bestaande uit de software die zich op de pc van de gebruiker bevindt. Dit is de presentatielaag. De tweede laag is de applicatielaag, waarin de bedrijfslogica van het geheel zit. De derde laag bestaat uit de databaselaag, met daarin de database en de wijzigingsgeschiedenis.
SAP R/3 is gemaakt met (geprogrammeerd in) SAP's eigen programmeertaal genaamd ABAP (Advanced Business Application Programming). ABAP, ook wel ABAP/4 genoemd, is een computertaal van de vierde generatie (4GL), waarmee eenvoudige en krachtige programma's gemaakt kunnen worden. In R/3 zit ook een ontwikkelomgeving waar softwareontwikkelaars bestaande SAP-onderdelen kunnen aanpassen of geheel nieuwe onderdelen kunnen maken. Dit kunnen overzichten zijn, maar ook programma's waarmee gegevens gewijzigd kunnen worden.
De communicatie tussen ABAP en de database verloopt via open SQL-commando's. Met deze commando's kan de ontwikkelaar informatie uit de database opvragen, invoeren, wijzigen of verwijderen. Nog ingewikkelder wordt het bij het programmeren van de grafische gebruikersomgeving en de communicatie met andere systemen. Door ABAP Objects, heeft ABAP de mogelijkheid gekregen om ook objectgeoriënteerd te programmeren.

## Modules

Vanuit de gebruiker gezien bestaat de implementatie, het systeem uit een aantal modules. Niet elk bedrijf heeft alle modules geïmplementeerd. SAP R/3 bestaat uit verschillende functionele modulen, elk voor een andere functie van een organisatie. Gebruikelijke modules in de OLTP ingerichte ECC-omgeving (ERP Central Component) zijn:
* FI: Finance: Hiermee wordt de verslaggeving aan externe belanghebbenden geregeld. Zoals accountants, aandeelhouders en overheden. Hiermee kunnen zaken worden vastgelegd over het grootboek, debiteuren, crediteuren, vaste activa, belasting en liquide middelen. Belangrijk om te weten is dat FI de juridische structuur aanhoudt. De module CO houdt de Managerial structuur aan. Echter kun je er ook voor kiezen om beide views gelijk aan elkaar te houden, maar vaak wordt hierin afgeweken.
* CO Controlling: Met deze module kunnen de kosten en opbrengsten worden berekend en gegroepeerd. Dit is voor intern gebruik binnen de onderneming voornamelijk door de controller en het management. De gegevens hiervoor komen grotendeels (automatisch) uit de financiële administratie.
* MM: Materials Management (voor de voorraadregistratie en de inkoop): In deze module worden de inkoop en voorraadadministratie gevoerd, inclusief leveranciers, kredietlimieten, bestelmethodieken etc.
* SD: Sales & Distribution (verkoop en logistiek): In deze module worden zaken bijgehouden over klanten, adressen, kredietlimieten, contracten, prijzen, orders, afleveringen, facturen etc.
* PM: Plant Maintenance: Het periodieke en incidentele onderhoud van machines kan hiermee worden bijgehouden. De module is dan ook in een 4-tal onderdelen op te splitsen: Technical objects – De definitie van technische structuur van een organisatie; Maintenance Processing – Correctief onderhoud; Preventive Maintenance – Preventief onderhoud, of wederkerend onderhoud; PMIS – Plant maintenance informatie systeem, hier heeft SAP een aantal standaard PM-rapporteringen opgenomen.
* PP: Production Planning: Productieplanning; de logistieke organisatie met zaken als; stuklijsten, routings, work centers, sales and operations planning, master production scheduling, material requirements planning, shop floor control, production orders, product costing etc.
* QM, Quality Management: Hierin worden zaken bijgehouden als kwaliteitsplanning en inspecties.
* WM: Warehouse Management & AM Asset Management: Voor het beheer van activa, zoals gebouwen en machines. Inclusief de registratie van zaken als aankoop en verkoop, afschrijvingen en investeringen.
* PS Project system: Projectadministratie.
* RE Real Estate.
* HR Human Resource Planning voor de personeelsadministratie: In deze module wordt alles betreffende het personeel bijgehouden. Zaken als salarissen, vakanties, opleidingen onkostenvergoedingen, urenregistraties etc. Soms wordt dit op z'n Engels ook wel HCM genoemd (Human Capital Management).
* WFM Workflow Management:
* HUM (Handling Unit Management): De registratie van elke pallet in het magazijn.
* WM (Warehouse Management) Magazijnbeheer: In deze module worden de magazijnen bijgehouden en het transport van goederen.
Hiernaast meestal in een aparte OLAP-ingerichte omgeving (in verband met data-extracties uit ECC)
* BW: business warehouse;
* SEM-BPS: planning.
Tevens is een Portal voorhanden die meestal ook in een aparte omgeving geplaatst wordt. Standaard biedt SAP een eigen database MaxDB aan. Veel bedrijven hebben echter een voorkeur voor DB2, SQL server of Oracle. Hierna wordt uitgebreider ingegaan op de inhoud van deze modules.
Elke module is voor een bepaald bedrijfsproces gemaakt en is waar nodig verbonden met andere modulen. Bijvoorbeeld als er een factuur door de verkoopafdeling wordt gemaakt om naar de klant gestuurd te worden, dan zal er informatie doorgestuurd worden naar de financiële administratie waar het als te ontvangen bedrag geboekt zal worden met als tegenrekening bijvoorbeeld 'kostprijs verkopen'.

## Toepassing

SAP R/3 wordt bij veel grote bedrijven en overheidsinstellingen gebruikt. Belangrijke gebruikers in Nederland zijn onder andere Essent, ENEXIS, Shell, KPN, Unilever, Alliander, NS, ProRail, Philips, KLM, DSM, het Ministerie van Justitie, het Ministerie van Defensie, veel gemeenten, Nissan, Tata Steel, UvA, Campina, Biohorma en Beter Bed. Het pakket is dominant in de markt.
Concurrenten zijn onder andere Oracle, Microsoft, en in mindere mate Baan. Het is bedoeld voor grote bedrijven. Voor kleinere bedrijven heeft SAP SAP All in One (Ai1) en SAP Business One (SBO) beschikbaar. Belangrijke concurrenten van SAP Business One hebben vergelijkbare oplossingen zoals Openbravo, Exact, King ERP Software, Afas of Navision van Microsoft.