AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SAP - TSAPFunctions

Ein Thema von Pfaffe · begonnen am 21. Aug 2012 · letzter Beitrag vom 22. Aug 2012
Antwort Antwort
Pfaffe

Registriert seit: 29. Jan 2009
297 Beiträge
 
Delphi 12 Athens
 
#1

AW: SAP - TSAPFunctions

  Alt 22. Aug 2012, 12:34
Ich habe bereits verschiedene RFCs erfolgreich im Einsatz.
In Delphi beim Import der Typenbibliotheken gebe ich an ob ich die unicode-Varianten haben möchte.
Nun habe ich zum Test die nicht Unicode-Varianten importiert. Jetzt kommt die EOLEExeption "SAP Remote Function Call". Bereits schon funktionierende RFCs machen weiterhin keine Probleme. Irgendwas ist an dem neuen Teil faul. Selbstverständlich wurde bereits vor meinem ersten Posting SAP-Seitig alles untersucht, um Unterschiede zwischen dem neuen RFC und den bereits funktionierenden RFCs zu erkennen. In SAP selbst funktionert der neue RFC natürlich.
In der procedure DispCall aus der unit comobj kommt der nicht funktionierende RFC in den Block @@20 und ruft dort die Zeile JMP DispCallError auf. DispCallError wirft dann den Error. Bei den funktionierenden RFCs wird nicht in den Block @@20, sondern in den Block @@30 gesprungen. Assembler ist nicht meine Baustelle, hat Jemand noch eine Idee?
Delphi-Quellcode:
Auszug aus der procedure DispCall aus der unit comobj
@@20: MOV DispParams.rgdispidNamedArgs,ESP
        PUSH EDX { ArgErr }
        LEA EAX,ExcepInfo
        PUSH EAX { ExcepInfo }
        PUSH ECX
        PUSH EDX
        CALL ClearExcepInfo
        POP EDX
        POP ECX
        PUSH Result { VarResult }
        LEA EAX,DispParams
        PUSH EAX { Params }
        PUSH ECX { Flags }
        PUSH EDX { LocaleID }
        PUSH OFFSET GUID_NULL { IID }
        PUSH DispID { DispID }
        MOV EAX,Dispatch
        PUSH EAX
        MOV EAX,[EAX]
        CALL [EAX].Pointer[24]
        TEST EAX,EAX
        JE @@30
        LEA EDX,ExcepInfo
        MOV CL, 1
        PUSH ECX
        MOV ECX,[EBP+4]
        JMP DispCallError
@@30: MOV ESP,EDI
        POP EDI
        POP ESI
        POP EBX
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: SAP - TSAPFunctions

  Alt 22. Aug 2012, 13:01
Der Knackpunkt ist doch:
Weshalb funktioniert der Baustein ZSD_KM_NETTOPREISLISTE_GETVAL aber Z_SD_PROJECT_CHANGED erzeugt einen Fehler?

Die Ursache muss in den Import/Export/Tabellenparametern liegen.
Kopiere doch mal Z_SD_PROJECT_CHANGED nach Z_SD_PROJECT_CHANGED_TEST.
Den Quelltext des Test-Bausteins bitte komplett löschen.
Dann wird immer ein Parameter nach dem anderen gelöscht und zwar solange bis
Funct:= SAPFunctions1.add('Z_SD_PROJECT_CHANGED_TEST') keinen Fehler mehr erzeugt.
Der Parameter, den du direkt davor gelöscht hast ist die Ursache der Probleme.

Changing-Parameter darf man übrigens mit dem "SAP Remote Function Call Control" nicht benützen
(zumindest nach meiner Erfahrung).
Andreas
  Mit Zitat antworten Zitat
Pfaffe

Registriert seit: 29. Jan 2009
297 Beiträge
 
Delphi 12 Athens
 
#3

AW: SAP - TSAPFunctions

  Alt 22. Aug 2012, 14:20
Erstmal vielen Dank an Alle!
Und Entschuldigung, ich habe die Zugangsdaten zu unserem SAP I-System durcheinandergewirbelt und der Login ging in das K-System wo es den neuen Funktionsbaustein noch nicht gibt.
Ich hatte mich zu sehr auf die Fehlermeldung konzentriert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz