Einzelnen Beitrag anzeigen

Thomas Horstmann

Registriert seit: 25. Apr 2007
86 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Problem mit SAPLogonControl

  Alt 24. Nov 2015, 12:08
Ich melde mich immer mit Silent an, da ich einen eigenen Dialog benutze. Den einzigen Unterschied den ich spontan sehe ist "Language". Ggf. den Status abfragen. Ich benutze allerdings Seattle. Klappte aber auch schon mit den Vorgänger-Versionen.

Delphi-Quellcode:
...
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 ;
  Mit Zitat antworten Zitat