Correct export of Delivery Unit EON_CRM_BP (4 files, replaces incomplete initial export)

This commit is contained in:
Thorsten Schmitz
2026-07-09 11:56:46 +02:00
parent 926dd739c0
commit 8e9302c2b1
4 changed files with 80 additions and 73 deletions
@@ -11,7 +11,7 @@ create column table "INTEGRATION_DATA"."BANKS_SCHEMA"( "COUNTRY" VARCHAR (3) nul
"LENGTH" SMALLINT null,
"START" SMALLINT null,
"FULLLENGHTH" SMALLINT null);
truncate table "INTEGRATION_DATA"."BANKS_SCHEMA" ;
insert into "INTEGRATION_DATA"."BANKS_SCHEMA" values('GB',6,9,22);
@@ -31,68 +31,73 @@ insert into "INTEGRATION_DATA"."BANKS_SCHEMA" values('SE',4,5,24);
insert into "INTEGRATION_DATA"."BANKS_SCHEMA" values('PL',8,5,28);
insert into "INTEGRATION_DATA"."BANKS_SCHEMA" values('LT',5,5,20);
ALTER FUNCTION "INTEGRATION_DATA".EON_BP_GETBANKDETAILS (IBAN NVARCHAR(100))
RETURNS TABLE
(
IBAN NVARCHAR(100),
COUNTRY NVARCHAR(2),
BANKCODE NVARCHAR(10),
BANKNAME NVARCHAR(250),
IBAN NVARCHAR(100),
COUNTRY NVARCHAR(2),
BANKCODE NVARCHAR(10),
BANKNAME NVARCHAR(250),
SWIFTNO NVARCHAR(100),
ACCOUNT NVARCHAR(100)
)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
BEGIN
AS
BEGIN
-- USING SQLSCRIPT_PRINT as LIB;
DECLARE IBAN_BANKCODE VARCHAR(10) ;
DECLARE IBAN_COUNTRY VARCHAR(2) ;
DECLARE STARTPARAM SMALLINT = 1;
DECLARE LENGTHPARAM SMALLINT = 1;
DECLARE BANKNAMEPARAM NVARCHAR(250);
DECLARE BANKNAMEPARAM NVARCHAR(250);
DECLARE SWIFTNOPARAM NVARCHAR(100) = '';
DECLARE ACCOUNT_PARAM NVARCHAR(100);
DECLARE ACCOUNT_PARAM NVARCHAR(100);
IBAN := REPLACE(:IBAN,' ','');
IBAN_COUNTRY := SUBSTRING (:IBAN, 1, 2);
SELECT "START" into STARTPARAM DEFAULT 1 FROM "INTEGRATION_DATA"."BANKS_SCHEMA" WHERE COUNTRY = :IBAN_COUNTRY;
SELECT "LENGTH" into LENGTHPARAM DEFAULT 1 FROM "INTEGRATION_DATA"."BANKS_SCHEMA" WHERE COUNTRY = :IBAN_COUNTRY;
IBAN_BANKCODE := SUBSTRING (:IBAN, :STARTPARAM, :LENGTHPARAM);
ACCOUNT_PARAM := SUBSTRING(:IBAN, :STARTPARAM + :LENGTHPARAM);
SELECT TOP 1 "BANKNAME" into BANKNAMEPARAM DEFAULT ''
FROM "INTEGRATION_DATA"."BANKS"
FROM "INTEGRATION_DATA"."BANKS"
WHERE COUNTRYCODE = :IBAN_COUNTRY AND BANKCODE = :IBAN_BANKCODE
ORDER BY SWIFTNO DESC ;
SELECT TOP 1 "SWIFTNO" into SWIFTNOPARAM DEFAULT ''
FROM "INTEGRATION_DATA"."BANKS"
FROM "INTEGRATION_DATA"."BANKS"
WHERE COUNTRYCODE = :IBAN_COUNTRY AND BANKCODE = :IBAN_BANKCODE
ORDER BY SWIFTNO DESC ;
RETURN
SELECT :IBAN as IBAN, :IBAN_COUNTRY as COUNTRY, :IBAN_BANKCODE AS BANKCODE, LEFT(:BANKNAMEPARAM, 250) as BANKNAME, :SWIFTNOPARAM as SWIFTNO,
:ACCOUNT_PARAM as ACCOUNT
FROM DUMMY;
RETURN
SELECT :IBAN as IBAN,
:IBAN_COUNTRY as COUNTRY,
:IBAN_BANKCODE AS BANKCODE,
LEFT(:BANKNAMEPARAM, 250) as BANKNAME,
:SWIFTNOPARAM as SWIFTNO,
:ACCOUNT_PARAM as ACCOUNT
FROM DUMMY;
END;
/*
--SELECT * FROM "INTEGRATION_DATA".EON_BP_GETBANKDETAILS('GB19 REVO 00997000245823');
@@ -102,23 +107,23 @@ SELECT * FROM "INTEGRATION_DATA".EON_BP_GETBANKDETAILS('AT026000000001349870');
https://de.wikipedia.org/wiki/Internationale_Bankkontonummer#IBAN-Struktur_in_verschiedenen_L%C3%A4ndern
Depp bbbb bbbb kkkk kkkk kk
Osterreich ATpp bbbb bkkk kkkk kkkk
DEpp bbbb bbbb kkkk kkkk kk
Österreich ATpp bbbb bkkk kkkk kkkk
Schweiz CHpp bbbb bkkk kkkk kkkk k
Danemark DKpp bbbb kkkk kkkk kK
Dänemark DKpp bbbb kkkk kkkk kK
Niederlande NLpp bbbb kkkk kkkk kk
Belgien BEpp bbbk kkkk kkKK
Italien ITpp Kbbb bbss sssk kkkk kkkk kkk
Belgien BEpp bbbk kkkk kkKK
Italien ITpp Kbbb bbss sssk kkkk kkkk kkk
Luxemburg LUpp bbbk kkkk kkkk kkkk
Tschechien CZpp bbbb kkkk kkkk kkkk kkkk
Polen PLpp bbbs sssK kkkk kkkk kkkk kkkk
Polen PLpp bbbs sssK kkkk kkkk kkkk kkkk
Schweden SEpp bbbk kkkk kkkk kkkk kkkK
Frankreich FRpp bbbb bsss sskk kkkk kkkk kKK
LT Litauen 20 LTpp bbbb bkkk kkkk kkkk
Vereinigtes Konigreich (GB) GBpp bbbb ssss sskk kkkk kk
Vereinigtes Königreich (GB) GBpp bbbb ssss sskk kkkk kk
*/
@@ -35,4 +35,4 @@ CREATE COLUMN TABLE "NICEPORTAL"."UO_CRM_DATA_BP" ("ID" BIGINT CS_FIXED NOT NULL
"CREATE_TS" LONGDATE CS_LONGDATE DEFAULT CURRENT_TIMESTAMP NOT NULL ,
"UPDATE_TS" LONGDATE CS_LONGDATE NOT NULL ,
"ERROR_MESSAGE" VARCHAR(500),
PRIMARY KEY ("ID")) UNLOAD PRIORITY 5 AUTO MERGE;
PRIMARY KEY ("ID")) UNLOAD PRIORITY 5 AUTO MERGE;