...
FLogonControl : TSAPLogonControl ;
FConnection : Variant ;
FFunctions : TSAPFunctions ;
...
{ LogonControl anlegen }
try
{ Anlegen }
FLogonControl := TSAPLogonControl.Create(Self) ;
FConnection := FLogonControl.NewConnection ;
FFunctions := TSAPFunctions.Create(Self) ;
FFunctions.AutoLogon := False ;
FFunctions.Connection := FConnection ;
except
{ Löschen }
FLogonControl :=
nil ;
end ;
// try
...
procedure TRFCDatabase.Open ;
var
iState :
String ;
iMessage :
String ;
begin
{ Fehler: Kein SAP }
if FLogonControl =
nil then Exit ;
{ Parameter }
FConnection.User := UpperCase(FUsername) ;
FConnection.Password := FPassword ;
FConnection.ApplicationServer := FApplicationServer ;
FConnection.Client := FClient ;
FConnection.System := FSystem ;
FConnection.SystemNumber := FSystemNumber ;
FConnection.Language := FLanguage ;
{ Anmelden, ggf. Fehler }
if FConnection.Logon(0,True) = False
then
begin
{ Status holen }
case FConnection.IsConnected
of
tloRfcNotConnected : iState := '
NotConnected' ;
tloRfcConnected : iState := '
Connected' ;
tloRfcConnectCancel : iState := '
Cancel' ;
tloRfcConnectParameterMissing : iState := '
ParameterMissing' ;
tloRfcConnectFailed : iState := '
Failed' ;
else
iState := '
Unassigned' ;
end ;
// case
{ Variablen }
iMessage :=
'
Fehler bei der An-/Abmeldung.' + #13+#10 + #13+#10 +
'
RFC Datenbank' + '
: ' +
Name + #13+#10 +
iState ;
{ Meldung }
ShowMessage(iMessage) ;
end ;
// if Logon
end ;