by Willy1492 » Tue Jul 01, 2003 3:38 pm
Zusätzlich zu Stefans Bemerkungen:
1.
Das Anliegen "Ich suche mal 'ne Liste der Kernel-Funktionen, die ich unbedingt in mein Programm einbauen möchte - momentan weiss ich aber noch nicht mal, was diese Funktionen so machen...", ist sowieso eine falsche Herangehensweise.
Sinnvoller ist doch die Frage: "Ich habe dieses oder jenes Problem, wie löse ich das..."
Und in dem Fall wird die Antort sehr selten "Aufruf einer C-Funktion des SAP-Kernels" lauten.
2.
Selbst wenn man wirklich eine SAP-Kernel-Funktion braucht, sollte man *immer* versuchen, einen SAP-Standard-Funktionsbaustein aufzurufen, der diese Funktion kapselt.
Selbst wenn diese Function nicht für die Verwendung beim Kunden freigegeben ist - die Verwendung der C-Funktion ist es nämlich erst recht nicht.
Und außerdem hat man bei CALL FUNCTION ... Statt CALL 'c_function' ... noch den Verwendungsnachweis - für SAP-Kernel-Functions ist ein Verwendungsnachweis vom SAP-Standard nicht vorgesehen.
3. Klar kann man per SCAN ... bereits vorhandene Aufrufe von Kernel-Funktionen suchen, nur:
Ob es diese dann tatsächlich im jeweils eingesetzten Kernel gibt und ob die Schnittstelle (incl. erlaubter Werte für die Parameter) noch genauso definiert ist, ist noch sehr die Frage.
Das hängt nämlich vom SAP-Kernel-Release und Kernel-Patchlevel ab.
Wenn man Beispielcode einfach so übernimmt, kann von einem Laufzeitfehler CALL_CFUNC_NOT_FOUND o.ä. bei Aufruf nicht vorhandener C-Funktionen über Durchstarten des Workprozesses bei Aufruf mit falscher Schnittstelle bis hin zu nicht dokumentierten Seiteneffekten ... alles passieren.
4. Ich könnte z.B. eine Liste der SAP-Kernel-Funktionen, die im 6.10-Kernel, Patch-Level 185 vorkommen, posten.
Nur nützt die kaum jemandem etwas.
(Mit vi die Datei disp+work aufgerufen, nach einigen bekannten C-Funktionen des Kernels gesucht, nach der Mitte der Datei fündig geworden:
SAPICC, RFCGOPT, RfcImport, QUEUE_OPEN, QUEUE_PUT, ..., jeweils durch Hex00 (^@) voneinander getrennt.)
Frank