CREATE FUNCTION BMSF_120_MM_GETHESAPNOFROMCLCARD (@CARIKOD varchar(17) ,
@PARACINSI varchar (3))
returns VARCHAR( 255)
BEGIN
declare @HESAPNO VARCHAR( 255) ;
declare @PARACINSITONR int=(CASE
WHEN @PARACINSI='TL' then 0
WHEN @PARACINSI='USD' then 1
WHEN @PARACINSI='GBP' then 17
when @PARACINSI='EUR' then 20
ELSE 160 END)
set @HESAPNO = (SELECT CASE
WHEN LEN(H1)>2 AND RIGHT(H1,2)=@PARACINSITONR THEN BANKACCOUNTS1
WHEN LEN(H2)>2 AND RIGHT(H2,2)=@PARACINSITONR THEN BANKACCOUNTS2
WHEN LEN(H3)>2 AND RIGHT(H3,2)=@PARACINSITONR THEN BANKACCOUNTS3
WHEN LEN(H4)>2 AND RIGHT(H4,2)=@PARACINSITONR THEN BANKACCOUNTS4
WHEN LEN(H5)>2 AND RIGHT(H5,2)=@PARACINSITONR THEN BANKACCOUNTS5
WHEN LEN(H6)>2 AND RIGHT(H6,2)=@PARACINSITONR THEN BANKACCOUNTS6
WHEN LEN(H7)>2 AND RIGHT(H7,2)=@PARACINSITONR THEN BANKACCOUNTS7
ELSE '' END FROM (
SELECT
C.BANKACCOUNTS1+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY1 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY1 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY1 AS VARCHAR) END H1,
C.BANKACCOUNTS2+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY2 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY2 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY2 AS VARCHAR) END H2,
C.BANKACCOUNTS3+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY3 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY3 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY3 AS VARCHAR) END H3,
C.BANKACCOUNTS4+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY4 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY4 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY4 AS VARCHAR) END H4,
C.BANKACCOUNTS5+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY5 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY5 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY5 AS VARCHAR) END H5,
C.BANKACCOUNTS6+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY6 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY6 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY6 AS VARCHAR) END H6,
C.BANKACCOUNTS7+CASE WHEN LEN(CAST(C.DBSBANKCURRENCY7 AS VARCHAR))=1 THEN '0'+CAST(C.DBSBANKCURRENCY7 AS VARCHAR) ELSE CAST(C.DBSBANKCURRENCY7 AS VARCHAR) END H7,
C.BANKACCOUNTS1,C.BANKACCOUNTS2,C.BANKACCOUNTS3,C.BANKACCOUNTS4,C.BANKACCOUNTS5,C.BANKACCOUNTS6,C.BANKACCOUNTS7
FROM LG_101_CLCARD C
WHERE C.CODE=@CARIKOD ) AS T)
RETURN @HESAPNO
END
--SELECT dbo.BMSF_120_MM_GETHESAPNOFROMCLCARD('KK000855510','EUR')