AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteigen
Thema durchsuchen
Ansicht
Themen-Optionen

Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteigen

Ein Thema von Bummi · begonnen am 13. Sep 2012 · letzter Beitrag vom 13. Sep 2013
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteigen

  Alt 13. Sep 2012, 14:49
Datenbank: MS-SQL • Version: 2005 • Zugriff über: ADO
Da ich gerade migieren muss von DTA nach IBAN/Swift, hätte ich für Interessenten SQL-Functions die die Umstellung erleichtern. (Derzeit nur für deutsche Daten) >> DE_Iban_Functions.zip

Beispiel:
Code:
Update Kunden set BIC=IMP_Bank.BIC
from IMP_Bank
Where IMP_Bank.BankLeitzahl=Kunden.BLZ
and Kunden.BIC is NULL and Kunden.LKZ='D'


Update Kunden set IBAN=dbo.Gen_DE_IBAN(BLZ,KontoNr)
where BLZ is not null and KontoNr is not null and IBAN is NULL and Kunden.LKZ='D'

IMP_Bank hätte ich zwar auch als Script, aber sinnvoller ist es sicher die Daten direkt von http://www.bundesbank.de zu ziehen.



Für die delphiseitige Implementierung habe ich mir ein Klasse mit minimalistischen Schnittstellen erstellt
Delphi-Quellcode:
procedure TForm1.act_CreateExecute(Sender: TObject);
var
 s:TSepa;
begin
    Ads.DisableControls;
    Ads.First;
    s := TSepa.Create(TSepaTyp(Kind.ItemIndex),'My_ID 4711 0815','Bummi beim Testen');
    try
      while not Ads.Eof do
        begin
        s.AddBuchung(adsEigeneIBAN.asString,adsEigeneBIC.AsString,adsEigenerName.AsString,adsFremdIBAN.AsString,adsFremdBIC.AsString,adsFremdName.AsString,adsBeleginfo.AsString,adsBetrag.Value);
        Ads.next;
      end;
       s.SaveToFile(fn.Text);
    finally
      s.Free;
        Ads.EnableControls;
    end;

  fn2.Text := fn.Text;
  Act_open.Execute;
  PageControl1.ActivePage := Tabsheet2;
end;
EXE mit DB im Anhang SepaTest.zip
Miniaturansicht angehängter Grafiken
sepa1.jpg   sepa2.jpg  
Angehängte Dateien
Dateityp: zip DE_Iban_Functions.zip (658 Bytes, 65x aufgerufen)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (19. Sep 2012 um 12:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sybok Factor
Sybok Factor

Registriert seit: 15. Jan 2003
Ort: Billerbeck
39 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 13. Sep 2012, 16:34
Schon mal toll, dass du deine Erkenntnisse hier zu Verfügung stellst.
Vielen Dank
Jetzte michse verstehen dein Problem!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 13. Sep 2012, 16:48
@Sybok Factor
Danke für den Dank, aber viele Interessenten wird es wahrscheinlich gar nicht geben ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 13. Sep 2012, 20:23
Danke auch!

OT:
wg. Full Metal Jacket:
Hoffe das hat nichts zu bedeuten!

Ich nehm übrigens gern Ferrero Rochee, wenn's mal was zu knabbern gibt. Eigentlich die gleiche Kategorie (zumindest vor dem Auspacken) aber völlig schmerzfrei.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 13. Sep 2012, 22:52
Zitat:
Hoffe das hat nichts zu bedeuten!
Ich kann Dir nicht ganz folgen ... Vollmantelgeschosse halt, um die Züge nicht zu "verschmieren", übliches Sportschützenequipment ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 19. Sep 2012, 12:36
Keiner sagt was ...
Fehlerhafte Version SepaTest.zip jetzt bereinigt im Anhang ...
Zudem eine auf 10 Sätze beschränkte Kommandozeilenversion(Beta) eines DTA zu SEPA Konverters.
Angehängte Dateien
Dateityp: zip SepaTest.zip (2,42 MB, 45x aufgerufen)
Dateityp: zip DTA2SEPA.zip (919,7 KB, 39x aufgerufen)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (19. Sep 2012 um 15:40 Uhr) Grund: minor fixes
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 19. Sep 2012, 13:41
An dieser Stelle sei vielleicht auch einmal der Hinweis auf sevDTA 2.0 von www.tools4vb.com erlaubt, mit der wir sehr gute Erfahrungen bei der Einführung von SEPA-Unterstützung in unseren Applikationen gemacht haben.
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#8

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 6. Sep 2013, 14:23
An dieser Stelle sei vielleicht auch einmal der Hinweis auf sevDTA 2.0 von www.tools4vb.com erlaubt, mit der wir sehr gute Erfahrungen bei der Einführung von SEPA-Unterstützung in unseren Applikationen gemacht haben.
Hi,

hast Du evtl. eine Wrapper-Datei für die DDL-Aufrufe auf Lager? Ist zwar nicht viel, könnte mir hier aber die Arbeit sparen, wenn Du schon was hast...

Danke & Gruß,
Marc
  Mit Zitat antworten Zitat
hhoefling

Registriert seit: 10. Feb 2007
1 Beiträge
 
Delphi 7 Professional
 
#9

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 13. Sep 2013, 11:27
Ja so eine Wrapper-Datei für Delphi (7 oder 2010) suche ich ebenfalls.
mfg
Heinz
  Mit Zitat antworten Zitat
kaju74

Registriert seit: 22. Okt 2003
185 Beiträge
 
#10

AW: Gegf. interessant für Benutzer die mit MSSQL von Konto/BLZ auf IBAN/BIC umsteige

  Alt 13. Sep 2013, 11:43
Hi.

Habe sie mittlerweile selber gemacht:

Code:
interface

{ library declarations }

{$WARN SYMBOL_PLATFORM OFF}
// dta methods
function sevDTA_BICExists(sBIC, sBlz: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_BLZExists(sBlz: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_BLZFileDate(sDatum: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_BLZGetInfo(sBlz, sName, sPz: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_BLZGetInfoEx(sBlz, sName, sPlz, sOrt, sBIC: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_CheckCdtrId(sCdtrId: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_CheckCreditCard(sCardType, sCardNr, sMsgText: PAnsiChar; lLenRet: LongInt): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_CheckIBAN(sIBAN: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_CheckKontoNr(sBlz, sKontoNr, sPz: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_CreateFile(sFilename: PAnsiChar; bOvrWriteExists: LongInt): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_CreateFileEx(sFilename: PAnsiChar; bOvrWriteExists: LongInt; sReferenzNr, sDatum: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_FileAddRec(lHandle: LongInt; sBlz1, sKtoNr1, sName1, sIntKdNr, sBlz2, sKtoNr2, sName2, sVerwendung, sBetrag: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_FileAddRecEx(lHandle: LongInt; sBlz1, sKtoNr1, sName1, sIntKdNr, sBlz2, sKtoNr2, sName2, sVerwendung, sBetrag, sTextschluessel, sTextschluesselErw: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_FileEnd(lHandle: LongInt): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_FileInit(lHandle: LongInt; sKz, sBlz, sKtoNr, sName: PAnsiChar; bEuro: LongInt): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_Init(sInit: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevDTA_Kontrollsummen(sSumDaten, sSumBlz, sSumKtoNr, sSumBetrag: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
procedure sevDTA_BLZSetPath(sPath: PAnsiChar); stdcall; external 'sevDTA20.dll' delayed;
procedure sevDTA_Close(lHandle: LongInt); stdcall; external 'sevDTA20.dll' delayed;
procedure sevDTA_Print(hDC: LongInt; sPrnName, sFontName, sName, sBLZ, sKontoNr, sDatum: PAnsiChar); stdcall; external 'sevDTA20.dll' delayed;
procedure sevDTA_PrintEx(hDC: LongInt; sPrnName, sFontName, sName, sBLZ, sKontoNr, sDatum, sVolNr, sLogNr: PAnsiChar); stdcall; external 'sevDTA20.dll' delayed;

// sepa methods
function sevSEPA_CalcIBAN(sBlz, sKontoNr, sBIC, sIBAN: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevSEPA_CreateFile(sFilename: PAnsiChar; bOvrWriteExists: LongInt): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevSEPA_FileAddRec(lHandle: LongInt; sPmtId, sPmtAmt, sDebCredNm, sIBAN, sBIC, sRmtInf, sMndtId, sMndtDt: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevSEPA_FileEnd(lHandle: LongInt): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevSEPA_FileInit(lHandle: LongInt; sKz, sInitgPtyName, sDebCredNm, sIBAN, sBIC, sPmtInfId, sExctnDate: PAnsiChar; lLcCode, lSeqType: LongInt; sCdtrId: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevSEPA_IBANIsValid(sIBAN, sBIC: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
function sevSEPA_SetProperty(sProperty, sValue: PAnsiChar): LongInt; stdcall; external 'sevDTA20.dll' delayed;
procedure sevSEPA_CloseFile(lHandle: LongInt); stdcall; external 'sevDTA20.dll' delayed;
procedure sevSEPA_ExportHTML(sFilename: PAnsiChar); stdcall; external 'sevDTA20.dll' delayed;
{$WARN SYMBOL_PLATFORM ON}

{ error constants }
const
  // initialize
  ERR_DTA_INIT_OK = 0;
  ERR_DTA_SUCCESS = 0;
  ERR_DTA_INIT_FAILURE = -1;

  // file handle
  ERR_DTA_NO_FILEHANDLE = 1;
  ERR_DTA_BAD_FILEHANDLE = 2;

  // dtaus
  ERR_DTA_BAD_KZ = 100;
  ERR_DTA_BAD_BLZ = 101;
  ERR_DTA_BAD_BLZ_LEN = 102;
  ERR_DTA_BAD_KTONR = 103;
  ERR_DTA_BAD_KTONR_LEN = 104;
  ERR_DTA_BAD_VALUE = 105;
  ERR_DTA_NO_VALUE = 106;
  ERR_DTA_NO_NAME = 107;

  // account
  ERR_BLZ_OK = 0;
  ERR_BLZ_NO_FILE = 200;
  ERR_BLZ_NOT_FOUND = 201;
  ERR_BLZ_WRONG_FORMAT = 202;

  ERR_BLZ_KTONR_OK = 0;
  ERR_BLZ_KTONR_WRONG = 211;
  ERR_BLZ_KTONR_NOCHECK = 212;

  // bic
  ERR_BIC_OK = 0;
  ERR_BIC_NO_FILE = 200;
  ERR_BIC_NOT_FOUND = 201;

  // sepa
  ERR_SEPA_SUCCESS = 0;
  ERR_SEPA_BAD_KZ = 300;
  ERR_SEPA_BAD_IBAN = 301;
  ERR_SEPA_BAD_BIC = 302;
  ERR_SEPA_NO_INITGPTYNM = 303;
  ERR_SEPA_NO_DBTRNM = 304;
  ERR_SEPA_NO_CDTRNM = 305;
  ERR_SEPA_NO_VALUE = 306;
  ERR_SEPA_NO_CDTRID = 307;
  ERR_SEPA_NO_RMTINF = 308;
  ERR_SEPA_NO_MNDTID = 309;
  ERR_SEPA_WRONG_SEQTYPE = 310;

  ERR_SEPA_NO_FILEHANDLE = 1;
  ERR_SEPA_BAD_FILEHANDLE = 2;

  ERR_SEPA_CALCIBAN_ERROR = 400;
  ERR_SEPA_CALCIBAN_WARNING = 401;
  ERR_SEPA_CALCIBAN_NOUSAGE = 402;

  // credit cars
  ERR_CREDIT_OK = 0;
  ERR_CREDIT_FIRST_DIGITS = 1;
  ERR_CREDIT_DIGIT_COUNT = 2;
  ERR_CREDIT_WRONG_PZ = 4;
  ERR_CREDIT_UNKNOWN_TYPE = 16;
LG,
Marc

P.S.: Sie ist für Delphi2010 und nutzt das Delayed-Binding...
  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 21:21 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