SAP-Schnittstellen Installation
Inhaltsverzeichnis
1 Ablaufbedingungen
Die Datei KCUSAP.EXE muß in das LOAD -Verzeichnis auf dem Programmserver, die Datei KCUSAP.INI in das SYSTEM - Verzeichnis auf dem Client-PC kopiert werden. In der INI-Datei müssen die Parameter im Bereich CONNECTION den Gegebenheiten Ihres SAP-Systems angepaßt werden.
Man benötigt zusätzlich die Datei LIBRFC32.DLL (SAP-Bestandteil) irgendwo im Ausführungspfad.
In der Verknüpfung zum Aufruf der IDL Konsis-Anwendung muss im Arbeitsverzeichnis (Ausführen in) ein gemapptes Laufwerk stehen und kein UNC-Pfad oder im MEN-Eintrag (s.u.) muss kcusap mit absolutem Pfad angegeben werden.
2 Programminstallation und Programmstart
2.1 SAP-seitige Installation
Die Transportaufträge (TA) enthalten alle für die Entwicklungsklasse notwendigen Objekte. Das bedeutet, daß bei jeder Neuinstallation bzw. jedem Update maximal drei TAs eingespielt werden müssen:
Modul | 4.0B | 4.5 | 4.6 | 4.7 (auch Unicode) |
---|---|---|---|---|
FI | 9A2UAP | 9A2UAP | 9A2XC4 | 9A4H1E |
CO | - | 9A2UCX | 9A2UCX | 9A2UCT |
FI-AA | - | 9A2W32 | 9A3FTU | 9A476H |
Dabei fungiert der jeweilige TA für das FI-Modul als Basisauftrag, der auch alle Data-Dictionary Objekte und die Entwicklungsklassen enthält. Dieser TA ist immer als erstes einzuspielen.
Die IDL Konsis-Schnittstelle zum SAP-R/3-System (Modul FI) besteht aus sechs Funktionsbausteinen:
- Z_GET_GL_ACCOUNT_LIST
- Liefert Liste aller Sachkonten des selektierten Kontenplans
- Z_GET_PL_BALANCE_HIERARCHIE
- Liefert Hierarchie der Bilanz- und GuV-Struktur des selektierten Positionsplans
- Z_GET_PERIODBALANCES_ACCOUNTS
- Liefert kumulierte Sachkontensalden per selektierter Abrechnungsperiode
- Z_GET_PERIODBALANCES_KRED_DEBT
- Liefert kumulierte IC-Salden je Debitoren- und Kreditoren-Partnerkonto per selektierter Abrechnungsperiode
- Z_GET_DEBKRED_PERIOD_DETAILS
- Liefert kumulierte IC-Salden je Partnergesellschaften und ggf. je Geschäftsbereich aus der Belegdatei BSEG per selektierter Abrechnungsperiode
- Z_GET_COST_OF_SALE_LEDGER
- Liefert kumulierte Kostenstellensalden bzw. IC-Kontensalden mit Kostenstellenbezug aus dem UKV-Ledger per selektierter Abrechnungsperiode
und einem Report:
- YFB_ACCOUNTS
- Dieser Report erfüllt vier Funktionen:
- Ruft den Funktionsbaustein Z_GET_PERIODBALANCES_ACCOUNTS (Kontensalden) auf und protokolliert das Ergebnis
- Ruft den Funktionsbaustein Z_GET_PERIODBALANCES_KRED_DEBT (IC-Kontensalden Bilanz) auf und protokolliert das Ergebnis
- Ruft den Funktionsbaustein Z_GET_DEBKRED_PERIOD_DETAILS (IC-Salden GuV) auf und protokolliert das Ergebnis
- Protokollierung der einzelnen Buchungsbelege
Diese Funktionsbausteine sind in der Funktionsgruppe ZBSF zusammengefaßt. Diese Funktionsgruppe wiederum befindet sich in der Entwicklungsklasse ZIDLKONSIS_FIBU . Alle Elemente befinden sich innerhalb des SAP-Systems. Es gibt keine externen Komponenten. Die Entwicklungsklasse wird in einem Transportauftrag (s.o.) ausgeliefert und in das SAP-System importiert. Darin enthalten ist ebenfalls die Dokumentation der Funktionsbausteine in deutscher und englischer Sprache.
Die Schnittstelle zum SAP-R/3-System (Modul CO) besteht aus zwei Funktionsbausteinen:
- Z_GET_KST_STAMM
- Liefert Liste aller Kostenstellen des selektierten Kostenstellenplans
- Z_GET_KST_ISTDATEN
- Liefert kumulierte Kostenstellensalden per selektierter Abrechnungsperiode
Zudem werden noch zwei Reports geliefert:
- YKB_KST_STAMM
- Ruft den Funktionsbaustein Z_GET_KST_STAMM auf und protokolliert das Ergebnis
- YKB_KST_ISTDATEN
- Ruft den Funktionsbaustein Z_GET_KST_ISTDATEN auf und protokolliert das Ergebnis
Diese Funktionsbausteine sind in der Funktionsgruppe ZBKS zusammengefaßt. Die Funktionsgruppe wiederum befindet sich in der Entwicklungsklasse ZIDLKONSIS_CO. Alle Elemente befinden sich innerhalb des SAP-Systems. Es gibt keine externen Komponenten. Die Entwicklungsklasse wird in einem Transportauftrag (s.o.) ausgeliefert und in das SAP-System importiert. Darin enthalten ist ebenfalls die Dokumentation der Funktionsbausteine in deutscher und englischer Sprache.
Die Schnittstelle zum SAP-R/3-System (Modul AM) ist der Funktionsbaustein:
- Z_GET_ANLAGENBUCHUNGEN_NEU
- Liefert kumulierte Anlagenbewegungen je Abstimmkonto und Bewegungsschlüssel per selektierter Abrechnungsperiode
Zudem wird noch ein Report geliefert:
- YAB_ANLAGENBUCHUNGEN
- Dieser Report erfüllt zwei Funktionen:
- Aufruf des Anlagenfunktionsbausteins und Protokollierung des Ergebnisses
- Protokollierung der einzelnen Bewegungen je Anlagenobjekt
Dieser Funktionsbausteine befindet sich in der Funktionsgruppe ZBAN_NEU. Die Funktionsgruppe wiederum befindet sich in der Entwicklungsklasse ZIDLKONSIS_ANBU. Alle Elemente befinden sich innerhalb des SAP-Systems. Es gibt keine externen Komponenten. Die Entwicklungsklasse wird in einen Transportauftrag (s.o.) geliefert und in das SAP-System importiert. Darin enthalten ist ebenfalls die Dokumentation der Funktionsbausteine in deutscher und englischer Sprache.
Technische Vorgehensweise
Zur Installation benötigen Sie das Kennwort des Benutzers <SID>adm oder eines anderen Benutzers, welcher auf das SAP-Transportsystem zugreifen kann. Es ist zu prüfen, ob der ABAP/4-Job RDDIMPDP im Mandanten 000 (Benutzer DDIC) ereignisgesteuert eingeplant ist. Ggf. muß dieser Job vom Benutzer DDIC im Mandanten 000 durch Aufruf des Reports RDDNEWPP eingeplant werden. Bei Fehlen des Jobs können die notwendigen Transportfiles nicht korrekt importiert werden. Um den Transport starten zu können, benötigen Sie auf Unix-Maschinen eine Telnet-Emulation (oder Rlogin). Auf Windows NT* starten sie bitte das Programm CMD.
Die Dateien müssen in die SAP-Verzeichnisse
- /usr/sap/trans/data
- für die R*-Dateien und
- /usr/sap/trans/cofiles
- für die K*-Dateien
kopiert werden. Beachten Sie bitte die Groß-/Kleinschreibung in Abhängigkeit ihrer Systemeinstellungen. Beim Kopieren mittels FTP ist der Modus BIN (BINARY) zu wählen.
Wechseln Sie in das Verzeichnis /usr/sap/trans/bin. Mit dem Befehl
tp addtobuffer <TA> <SID>
werden die Transportdateien in den Transportpuffer des Systems geladen. Hierbei stehen <TA> für den Transportauftrag und <SID> für den dreistelligen SAP-Systemnamen.
Durch einen Testimport können Inkonsistenzen festgestellt werden. Daher wird empfohlen einen Testimport mit dem folgenden Befehl auszuführen.
tp tst <TA> <SID>
Der Import der operativen Komponenten geschieht durch Eingabe des Befehls:
tp import <TA> <SID> client=<MANDANT> u18
Wenn in mehreren Mandanten gearbeitet wird, dann muß der Transportauftrag in alle Mandanten importiert werden (Mandantenangabe immer dreistellig). Nach der Installation sind die Importprotokolle der einzelnen Schritte auf Fehler zu prüfen. Aufgrund der Tatsache, daß die aktuelle Installation aus neueren Releaseständen abgezogen wird, kann es beim Import in ältere Releasestände zu Warnungen kommen.
Schließlich müssen noch drei logische Dateinamen und ein logischer Dateipfad mandantenunabhängig eingepflegt werden:
Der logische Dateipfad ist Z_KONSIS_TEMP_BELEG_PFAD (Pfad für IDL-Schnittstelle). Dieser logische Dateipfad muß dann einem physischen Pfad zugeordnet werden (z.B. /usr/temp/<filename>). Auf diesen Pfad müssen die SAP-Anwender, welche die IDL Konsis-Schnittstelle verwenden, Schreibzugriff und Löschberechtigung haben. Außerdem benötigen sie SAP-seitig die Berechtigung zum Dateizugriff (Berechtigungsobjekt S_DATASET).
Hintergrund ist der, daß einerseits die jeweiligen Reports ihre Ergebnisse in einer Datei ablegen, andererseits der Funktionsbaustein Z_GET_DEBKRED_PERIOD_DETAILS wegen der großen Menge zu verarbeitender Daten (Lesen der Belege aus der SAP-Tabelle BSEG) eine temporäre Arbeitsdatei benötigt, die nach der Abarbeitung des Funktionsbausteins wieder gelöscht wird.
Die anzulegenden logischen Dateien sind:
- Z_KONSIS_TEMP_BELEG_DATEI
- Z_KONSIS_TEMP_BELEG_DATEI_2
- Z_KONSIS_TEMP_STAMM_DATEI
Alle Dateien arbeiten mit dem Datenformat ASC und haben das Arbeitsgebiet FI.
Der SAP-Benutzer benötigt zum Ausführen der Funktionsbausteine die Berechtigung, Remote Function Calls (RFCs) auszuführen. Durch die Verwendung der SAP-RFC-Bibliothek (librfc32.dll) werden bei Benutzernamen und Passwort keine Sonderzeichen wie beispielsweise Umlaute (ä, ö, ü), ß oder weitere landesspezifische Zeichen unterstützt.
Bei Kollisionen mit vorhandenen Kundenobjekten ist die IDL-Hotline zu konsultieren.
Die Einrichtung von Dateinamen und -pfad erfolgt im SAP-System unter:
SAP-Menü --> Werkzeuge --> Accelerated SAP --> Customizing --> SPRO-Projektbearbeitung
In der Projektsicht ist dann
Basis --> Systemadministration --> Plattformunabhängige Dateinamen --> Dateinamen und Dateipfade mandentenunabhängig pflegen
auszuwählen.
Beispiel für logischen Dateipfad
Beispiel für logischen Dateinamen
Folgende Berechtigung (fachlich) werden in den Funktionsbausteinen geprüft:
Funktion | Berechtigungsobjekt | Feld | Inhalt |
---|---|---|---|
Kontenstamm | F_SKA1_KTP | KTOPL | zu selektierender Kontenplan |
ACTVT | 03 | ||
Kontensalden | F_BKPF_BUK | BUKRS | zu selektierende(r) Buchungskreis(e) |
ACTVT | 03 | ||
IC-Kontensalden | F_BKPF_BUK | BUKRS | zu selektierende(r) Buchungskreis(e) |
ACTVT | 03 | ||
Rückstellungsbewegungen | F_BKPF_BUK | BUKRS | zu selektierende(r) Buchungskreis(e) |
ACTVT | 03 | ||
Kostenstellenstamm | K_CSKS | KOKRS | zu selektierender Kostenrechnungskreis |
KOSTL | DUMMY | ||
ACTVT | 03 | ||
Kostenstellensalden | K_CSKS | KOKRS | zu selektierende(r) Kostenrechnungskreis(e) |
KOSTL | DUMMY | ||
ACTVT | 03 | ||
Anlagenbewegungen | A_B_ANLKL | ANLKL | ermittelte Anlagenklassen aus ANLA |
BUKRS | zu selektierende(r) Buchungskreis(e) | ||
ACTVT | 03 |
2.2 IDL Konsis-seitige Installation
Eintragungen in der INI-Datei
Nachdem die Dateien KCUSAP.EXE und KCUSAP.INI in die entsprechenden Verzeichnisse kopiert wurden, müssen in der Datei KCUSAP.INI die anzugebenden Parameter eingestellt werden.
Bereich Connection
Die Parameter haben dabei die folgende Bedeutung:
- Destination
- Destination ist die dreistellige System-Identifikation, die Sie in der Statuszeile Ihres SAPGUI's finden können. (Beispiel: KT2)
- Client
- Client ist die dreistellige Mandantenangabe. IDL Konsis versucht, sich in diesem Mandanten mit dem angegebenen Benutzer und Kennwort anzumelden.
- Hostname
- Hostname ist der Name des Servers. Sie finden den Namen in der Statuszeile Ihres SAPGUI's. Alternativ kann hier auch die IP-Adresse angegeben werden. (Beispiele: pluto, 192.168.99.37)
- Sysnr
- Sysnr - Transaktion SM51. Die letzten beiden Ziffern des Server-Namens enthalten die SYSNR. Werden mehrere Instanzen auf einem physischen System installiert, werden sie unter anderem durch diese Nummer unterschieden. (Beispiel: 00)
- Gwhost
- Gwhost ist der Name des Gateway-Hosts. Wird der Name leergelassen, so wird angenommen, daß der Gateway-Host auf dem Rechner "Hostname" läuft.
- Gwservice
- Der Eintrag für Gwservice setzt sich aus der Zeichenkette "sapgw" und der zweistelligen Systemnummer zusammen. (Beispiel: sapgw00)
- Trace
- Trace - Um die RFC-Kommunikation zu protokollieren und in einer Datei zu sichern, muß dieser Parameter auf "on" gesetzt werden. Die Datei ('rfc...trc' oder 'dev\_rfc...trc') - je nach SAP-R/3-Release - wird im eingestellten Arbeitsverzeichnis (festgelegt durch die SAP-RFC-Programmbibliothek) der IDL Konsis-Ikone abgelegt. Das ist üblicherweise das Verzeichnis z.B. s:\IDL\LOAD auf dem Programmserver. Oftmals sind dort Nur-Leserechte vergeben, so dass keine Protokolldatei erstellt werden kann. Abhilfe schaftt in diesem Fall das Setzen einer Umgebungsvariablen mit dem Namen RFC_TRACE_DIR mit dem Wert des Verzeichnisse, wo die Protokolldatei hingeschrieben werden soll (z.B. c:\temp o.ä.). Die Voreinstellung ist 'off'.
Soll die Anmeldung nicht am Application Server erfolgen, sondern die Möglichkeit des Load Balancing (SAP-serverseitig) genutzt werden, sind die folgenden Parameter entsprechend einzustellen
- LoadBalancingConnect
- Schalter für Aktivierung, true=aktiviert, false=deaktiviert
- MessageServer
- MessageServer
- LogonGroup
- Anmeldegruppe
- LbSystem
- Dreistellige System-ID
Einstellungen inIDL Konsis
Um die SAP-Schnittstelle aus der IMPORT-Anwendungaufrufen zu können, sind folgende Änderungen in einigen Menüpunkten (Anwendung MEN im Projekt IDL Konsis) erforderlich:
Ist die Verknüpfung zum Programmserver über einen UNC-Pfad realisiert, muss hier ebenfalls der komplette UNC-Pfad bis zum LOAD-Ordner vor dem kcusap-Aufruf angegeben werden.
- Im Feld 'Ext.Aufruf' von UNLKTO sollte stehen:
KCUSAP /F=KTO /K=%15 /K=%20 /K=X /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLAGG sollte stehen:
KCUSAP /F=AGG /K=%14 /K=%15 /K=%20 /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLAGGKTO sollte stehen:
KCUSAP /F=AGGKTO /K=%14 /K=%15 /K=%20 /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLSALD sollte stehen:
KCUSAP /F=KTOSAL /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLICSAL sollte stehen:
KCUSAP /F=ICKTOSAL /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLKST sollte stehen:
KCUSAP /F=KST /K=%03 /K=%16 /K=%20 /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLKSTSAL sollte stehen:
KCUSAP /F=KSTSAL /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /M=%41 $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLANLBEW sollte stehen:
KCUSAP /F=ANLBEW /K= /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /K=%42 /M=%41 /W $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLUKVCNT sollte stehen:
KCUSAP /F=UKV /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /M=%41 /C $PROJEKT$
- Im Feld 'Ext.Aufruf' von UNLUKVIC sollte stehen:
KCUSAP /F=UKV /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /M=%41 $PROJEKT$
Die Parameter haben dabei die folgende Bedeutung:
- $PROJEKT$ ist das IDL-Verzeichnis (z.B. C:\IDL}
- X beim Auslesen des Kontenstamms führt zur Kennzeichnung der Unterkonten. Wird das X weggelassen (also nur /K= angegeben), werden beim Einlesen des Kontenplans in IDL Konsis keine zusätzlichen Konten mit einem E am Ende erzeugt
- /K=%02 ist die Gesellschaft (z.B. 001)
- /K=%03 ist der Geschäftsbereich (z.B. * oder leer)
- /K=%04 ist die Abrechnungsperiode mit 10 Stellen (z.B. 01.12.1998)
- /K=%05 ist die Datenart (z.B. I4)
- /K=%14 ist der Positionsplan (z.B. BILGUV)
- /K=%15 ist der Kontenplan (z.B. GKR)
- /K=%16 ist der Kostenstellenplan (z.B. KSTP)
- /K=%19 ist die Geschäftsjahresvariante (z.B. K4)
- /K=%20 ist die Sprache (z.B. DEU)
- /M=%41 ist der Mandant (z.B. 101)
- /K=%42 ist die Steuerung zur Übernahme von Vorträgen bei Anlagenbewegungen
Achtung:
Sollte in einem der anzugebenden Schlüssel (Kontenplan, Gesellschaft usw.) ein Sonderzeichen wie & auftauchen (z.B. a&b), dann muß der jeweilige Parameter durch Einschließen in doppelte Hochkomma '''' gequotet werden.
KCUSAP /F=KTO /K="%15" /K=%20 /K=X $PROJEKT$
Die externen Aufrufe der Funktionen /F=KTOSAL, /F=ICKTOSAL, /F=UKV, /F=KSTSAL und /F=ANLBEW können um einen optionalen Parameter /0 erweitert werden. Wird der Parameter /0 zusätzlich angegeben, werden auch Nullsalden mit in die entsprechende Ergebnisdatei KPxxxxxx geschrieben.
Der externe Aufruf der Funktion /F=KTOSAL kann um einen optionalen zusätzlichen Parameter /V=xxx erweitert werden, wobei xxx durch die Version des General-Ledgers zu ersetzen ist
Der erste /K-Parameter für das Auslesen der Anlagenbewegungen (Funktion /F=ANLBEW gibt den Bewertungsbereich an. Wird der Parameter leergelassen, dann wird der Bewertungsbereich 01 (handelsrechtlich) angenommen.
Der externe Aufruf der Funktion /F=KTO kann um einen optionalen zusätzlichen Parameter /D erweitert werden, der dafür sorgt, daß im SAP-System zum Löschen vorgemerkte Konten nicht mit in die KPKONTEN.TXT übertragen werden.
Der externe Aufruf der Funktion /F=ICKTOSAL kann um einen optionalen zusätzlichen Parameter /T erweitert werden, damit zusätzlich die Werte in Transaktionswährung sowie der ISO-Code der Transaktionswährung mit ausgelesen werden.
Der externe Aufruf der Funktion /F=ICKTOSAL kann um einen optionalen zusätzlichen Parameter /A erweitert werden (/A impliziert /T), so daß außer der Transaktionswährung und dem zugehörigen Währungskennzeichen als weitere Informationen die Belegnummer, das Belegdatum, die Referenzbelegnummer und die Belegart mit geliefert werden.
Für das Auslesen von IC-Salden über die GLT3 (Konsolidierungsvorbereitungsledger) müssen in folgende Einstellungen vorgenommen werden.
- Ergänzung in der Datei kcusap.ini. Steht üblicherweise im Verzeichnis z.B. c:\IDL\SYSTEM.
[Settings]
GLT3=yes
- Änderung in der Datei kcusap.ini im Bereich Function
Eintrag
;FunctIcktosal=Z_GET_PERIODBALANCES_KRED_DEBT
ersetzen durch
FunctIcktosal=Z_GET_IC_SALDEN
Der externe Aufruf der Funktion /F=ANLBEW kann um einen optionalen Parameter /G erweitert werden, mit dem eine Untergrenze für Kontengruppe zur Anlagenklassenfindung festgelegt werden kann.
KCUSAP /F= /K= /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /K=%42 /M=%41 /G=02000000 $PROJEKT$
Es werden alle Anlagenklassen ermittelt, die zu einer Kontengruppe größergleich 2000000 gehören.
Der externe Aufruf der Funktion /F=ANLBEW kann um einen optionalen Parameter /O erweitert werden, mit dem eine Obergrenze für Kontengruppe zur Anlagenklassenfindung festgelegt werden kann.
KCUSAP /F= /K= /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /K=%42 /M=%41 /O=07000000 $PROJEKT$
Es werden alle Anlagenklassen ermittelt, die zu einer Kontengruppe kleinergleich 7000000 gehören
Der externe Aufruf der Funktion /F=ANLBEW kann um einen optionalen Parameter /W erweitert werden, mit dem gesteuert werden kann, ob die Hauptbuchkonten Wertberichtigung herangezogen werden sollen.
KCUSAP /F= /K= /K=%02 /K=%03 /K=%04 /K=%05 /K=%19 /K=%42 /M=%41 /W $PROJEKT$
In diesem Fall werden die separaten Konten für Wertberichtigungen aus der SAP-Tabelle T095B herangezogen