AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem mit SAPLogonControl

Problem mit SAPLogonControl

Ein Thema von bjeannet · begonnen am 24. Nov 2015 · letzter Beitrag vom 25. Nov 2015
Antwort Antwort
bjeannet

Registriert seit: 13. Feb 2006
7 Beiträge
 
#1

Problem mit SAPLogonControl

  Alt 24. Nov 2015, 11:05
Datenbank: SAP ERP 6.0 • Version: 6.0 • Zugriff über: SAP Logon Control
Guten Tag
Ich benutze Delphi 2009 und die OCX Komponente SAPLogonControl von SAP und zwar in der Unicodeversion. Nun versuche ich, mittels Silent Login eine Verbindung zu einem SAP System aufzubauen mit folgendem Quelltext:

Delphi-Quellcode:
  SAPLogonControl1 :=TSAPLogonControl.Create(Self);
  cnSAP :=SAPLogonControl1.newConnection;
  qrtest.First;
  while not qrtest.Eof do
  begin
    msgh := DateTimeToStr(now)+' '+qrtest.Fields[0].AsString+'/'+qrtest.Fields[3].AsString+':';
    cnSAP.System := qrtest.Fields[0].AsWideString;
    cnSAP.SystemNumber := qrtest.Fields[1].AsWideString;
    cnSAP.ApplicationServer := qrtest.Fields[2].AsWideString;
    cnSAP.Client := qrtest.Fields[3].AsWideString;
    cnSAP.User := 'U215301';
    cnSAP.Password :=Edit1.Text;
    if cnSAP.Logon(0,True) = true then
    begin
      msgi := 'INF: Login erfolgreich';
      logwrt(msgh+' '+msgi);
    end
    else
    begin
      msgi := 'ERR: Login fehlgeschlagen.';
      logwrt(msgh+' '+msgi);
      cnSAP.LastError;
    end;
    cnSAP.Logoff;
    qrtest.Next;
  end;
Mittels Silent Logon funktionieren die Verbindungen nicht und wenn ich es mit den genau gleichen Daten mit einer non-silent Verbindung (also: cnSAP.Logon(0,False) versuche, dann funktionieren alle Verbindungen einwandfrei. Habe ich ein Problem mit Unicode (ich dachte, Delphi 2009 unterstützt Unicode und habe deshalb auch die Unicode Komponenten von SAP gewählt) ?

Weiss ev. jemand einen Rat ?

Geändert von mkinzler (24. Nov 2015 um 11:21 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
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
bjeannet

Registriert seit: 13. Feb 2006
7 Beiträge
 
#3

AW: Problem mit SAPLogonControl

  Alt 24. Nov 2015, 12:28
Wie sind in Ihrem Beispiel die Variablen definiert ? Vielleicht liegt ja dort der Fehler ?
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
305 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Problem mit SAPLogonControl

  Alt 24. Nov 2015, 16:29
    cnSAP.SystemNumber := qrtest.Fields[1].AsWideString;
Probier mal die SystemNumber mittels StrToInt(qrtest.Fields[1].AsWideString) zu bestücken.

Grüße, Christoph
  Mit Zitat antworten Zitat
Thomas Horstmann

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

AW: Problem mit SAPLogonControl

  Alt 24. Nov 2015, 20:52
Eigentlich nichts ungewöhnliches bei den Variablen.

Delphi-Quellcode:
...
FUsername : String ;
FPassword : String ;
FApplicationServer : String ;
FClient : String ;
FSystem : String ;
FSystemNumber : Integer ;
FLanguage : String ;
...
  Mit Zitat antworten Zitat
bjeannet

Registriert seit: 13. Feb 2006
7 Beiträge
 
#6

AW: Problem mit SAPLogonControl

  Alt 25. Nov 2015, 09:39
Und Ihr habt auch die Unicode Versionen der OCX-Komponenten in Delphi eingebunden ?
  Mit Zitat antworten Zitat
bjeannet

Registriert seit: 13. Feb 2006
7 Beiträge
 
#7

AW: Problem mit SAPLogonControl

  Alt 25. Nov 2015, 09:41
Das mit StrToInt(qrtest.Fields[1].AsWideString) hat leider nichts gebracht.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz