This commit is contained in:
Zeeshaun
2026-03-31 14:32:23 -05:00
parent f4646dc97f
commit 9be174da46
485 changed files with 37290 additions and 0 deletions
@@ -0,0 +1,120 @@
SELECT
Coalesce(MA.MemberAgreeNbr, MAOrg.MemberAgreeNbr) AS MemberNumber,
AC.ACCTNBR AS LoanNumber,
AUFAI.Value AS ApplicationId,
RTRIM(PERS.FirstName) AS MemberFirstName,
PERS.mdlinit AS MemberInitial,
COALESCE(RTRIM(PERS.LastName), RTRIM(ORGM.OrgName)) AS MemberLastName,
OUFDC.Value AS DealerCode,
DGA.AcctNbr AS DealerAccountNumber,
DGA.taxrptfororgnbr AS DealerOrganizationNumber,
ORGD.OrgName AS DealerName,
CASE WHEN AUFWA.Value = 'Y' OR ASAW.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS Warranty,
CASE WHEN AUFG.Value = 'Y' OR ASAG.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS GAP,
CASE WHEN ASADL.SubAcctNbr IS NOT NULL OR ASADI.SubAcctNbr IS NOT NULL OR ASADLLD.SubAcctNbr IS NOT NULL OR ASADLLF.SubACctNbr IS NOT NULL THEN 1 ELSE 0 END AS CreditLife,
CASE WHEN ASADD.SubAcctNbr IS NOT NULL OR ASADI.SubAcctNbr IS NOT NULL OR ASADLLD.SubAcctNbr IS NOT NULL OR ASADLDS.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS CreditDisability,
CASE WHEN ASAMBP.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS Mbp,
AC.currmiaccttypcd AS AccountType,
MMA.MIACCTTYPDESC AS AccountDescription,
AC.CONTRACTDATE AS LoanDate,
Coalesce(RTXN.OrigPostDate,TO_DATE(AUFAD.Value, 'YYYY-MM-DD' )) AS PostedDate,
AL.date1stpmtdue AS FirstPmtDate,
AC.DATEMAT AS FinalPmtDate,
AC.ORIGTERM AS OriginalTermInDays,
ASA.OrigBal AS LoanAmount,
To_number(AUFBR.Value) AS BuyRate,
AUFLT.Value AS LoanType,
RTC.INTRATE * 100 AS ContractRate,
PT.PMTAMT AS MonthlyPmt,
RTRIM(PR.PROPID) AS Vin,
RTRIM(PR.PropMake) AS Make,
RTRIM(PR.PropModel) AS Model,
PR.propyearnbr AS Year,
RTRIM(PR.PropColor) AS Color,
PR.PropVehicleOdometer AS Mileage,
AAA.PostDate AS PaidLoanDate
FROM ACCT AC
LEFT JOIN PERS
ON PERS.PersNbr = AC.TAXRPTFORPERSNBR
LEFT JOIN ORG ORGM
ON ORGM.OrgNbr = AC.TaxrptForORgNbr
LEFT JOIN MEMBERAGREEMENT MA
ON MA.PrimaryPersNbr = PERS.PersNbr
LEFT JOIN MEMBERAGREEMENT MAOrg
ON MAOrg.PrimaryOrgNbr = ORGM.OrgNbr
LEFT JOIN ACCTGRPACCT AGA
ON AC.AcctNbr = AGA.AcctNbr
LEFT JOIN (select acctgrpnbr, acct.acctnbr, acct.taxrptfororgnbr from acctgrpacct aga
inner join acct
on acct.acctnbr = aga.acctnbr and acct.currmiaccttypcd = 'DLR') DGA
ON DGA.AcctGrpNbr = AGA.AcctGrpNbr
LEFT JOIN ORG ORGD
ON ORGD.ORGNbr = DGA.taxrptfororgnbr
LEFT JOIN ACCTLOAN AL
ON AL.AcctNbr = AC.AcctNbr
LEFT JOIN (SELECT Propnbr, AcctNbr,ROW_NUMBER() OVER(PARTITION BY ACCTNBR ORDER BY PropNbr) PPP_RNK
FROM ACCTPROP) AP ON AP.AcctNbr = AC.AcctNbr AND AP.PPP_RNK = 1
LEFT JOIN PROP PR
ON PR.Propnbr = AP.Propnbr
LEFT JOIN ACCTSUBACCT ASA
ON ASA.ACCTNBR = AC.ACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'BAL'
LEFT JOIN (SELECT PS.ACCTNBR,PS.SUBACCTNBR,PS.EFFDATE,PS.INACTIVEDATE,PMT.PMTNBR, PMT.PMTTYPCD,T.PMTTYPDESC,PMT.PMTAMT,PMT.PMTPERCENT,
PMT.EFFDATE PMT_EFFDATE,PMT.PMTCALPERIODCD,PMT.INACTIVEDATE PMT_INACTIVEDATE,PMT.DATELASTMAINT,
ROW_NUMBER() OVER(PARTITION BY PS.ACCTNBR,PS.SUBACCTNBR ORDER BY PMT.EFFDATE DESC ) P_RNK
FROM ACCTPMTSUBACCTHIST PS
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = PS.ACCTNBR AND ASA.SUBACCTNBR = PS.SUBACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'DUE'
JOIN ACCTPMTHIST PMT ON PMT.ACCTNBR = PS.ACCTNBR AND PMT.PMTNBR = PS.PMTNBR
JOIN PMTTYP T ON T.PMTTYPCD = PMT.PMTTYPCD) PT ON PT.ACCTNBR = AC.ACCTNBR AND P_RNK = 1
LEFT JOIN (SELECT R.DATELASTMAINT,R.ACCTNBR,R.SUBACCTNBR, R.EFFDATE ,R.INTRATE,R.INACTIVEDATE,R.DELQRATEYN,R.POSTDATE,R.DISCLOSEDINTRATE
,ROW_NUMBER() OVER(PARTITION BY R.ACCTNBR,R.SUBACCTNBR ORDER BY R.POSTDATE DESC ) RTB_RNK
FROM ACCTRATEHIST R
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = R.ACCTNBR AND ASA.SUBACCTNBR = R.SUBACCTNBR AND ASA.BALCATCD = 'UPFR' AND ASA.BALTYPCD = 'DLR') RTB
ON RTB.ACCTNBR = AC.ACCTNBR AND RTB_RNK = 1
LEFT JOIN (SELECT R.DATELASTMAINT,R.ACCTNBR,R.SUBACCTNBR, R.EFFDATE,R.INTRATE,R.INACTIVEDATE,R.DELQRATEYN,R.POSTDATE,R.DISCLOSEDINTRATE
,ROW_NUMBER() OVER(PARTITION BY R.ACCTNBR,R.SUBACCTNBR ORDER BY R.POSTDATE DESC) RTC_RNK
FROM ACCTRATEHIST R
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = R.ACCTNBR AND ASA.SUBACCTNBR = R.SUBACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'BAL') RTC
ON RTC.ACCTNBR = AC.ACCTNBR AND RTC_RNK = 1
LEFT JOIN MJMIACCTTYP MMA
ON MMA.MIACCTTYPCD = AC.CURRMIACCTTYPCD
LEFT JOIN ACCTUSERFIELD AUFLT
ON AUFLT.Acctnbr = AC.Acctnbr AND AUFLT.userfieldCD = 'COMC'
LEFT JOIN ACCTUSERFIELD AUFAI
ON AUFAI.Acctnbr = AC.Acctnbr AND AUFAI.userfieldCD = 'LOSA'
LEFT JOIN ORGUSERFIELD OUFDC
ON OUFDC.OrgNbr = ORGD.OrgNbr AND OUFDC.UserFieldCD = 'DLCD'
LEFT JOIN RTXN
ON RTXN.ACCTNBR = AC.ACCTNBR AND rtxntypcd = 'NDSB'
LEFT JOIN ACCTUSERFIELD AUFAD
ON AUFAD.Acctnbr = AC.Acctnbr AND AUFAD.userfieldCD = 'LOSD'
LEFT JOIN ACCTUSERFIELD AUFBR
ON AUFBR.Acctnbr = AC.Acctnbr AND AUFBR.userfieldCD = 'BUYR'
LEFT JOIN ACCTUSERFIELD AUFWA
ON AUFWA.Acctnbr = AC.Acctnbr AND AUFWA.userfieldCD = 'WRYN'
LEFT JOIN ACCTUSERFIELD AUFG
ON AUFG.Acctnbr = AC.Acctnbr AND AUFG.userfieldCD = 'GPYN'
LEFT JOIN ACCTSUBACCT ASADL
ON ASADL.AcctNbr = AC.AcctNbr AND ASADL.BALTYPCD = 'SINS' AND ASADL.BALCATCD = 'DL'
LEFT JOIN ACCTSUBACCT ASADD
ON ASADD.AcctNbr = AC.AcctNbr AND ASADD.BALTYPCD = 'SINS' AND ASADD.BALCATCD = 'DD'
LEFT JOIN ACCTSUBACCT ASADI
ON ASADI.AcctNbr = AC.AcctNbr AND ASADI.BALTYPCD = 'SINS' AND ASADI.BALCATCD = 'DI'
LEFT JOIN ACCTSUBACCT ASADLLD
ON ASADLLD.AcctNbr = AC.AcctNbr AND ASADLLD.BALTYPCD = 'COST' AND ASADLLD.BALCATCD = 'DLLD'
LEFT JOIN ACCTSUBACCT ASADLDS
ON ASADLDS.AcctNbr = AC.AcctNbr AND ASADLDS.BALTYPCD = 'COST' AND ASADLDS.BALCATCD = 'DLDS'
LEFT JOIN ACCTSUBACCT ASADLLF
ON ASADLLF.AcctNbr = AC.AcctNbr AND ASADLLF.BALTYPCD = 'COST' AND ASADLLF.BALCATCD = 'DLLF'
LEFT JOIN ACCTSUBACCT ASAG
ON ASAG.AcctNbr = AC.AcctNbr AND ASAG.BALTYPCD = 'COST' AND ASAG.BALCATCD = 'GAP'
LEFT JOIN ACCTSUBACCT ASAW
ON ASAW.AcctNbr = AC.AcctNbr AND ASAW.BALTYPCD = 'COST' AND ASAW.BALCATCD = 'WARA'
LEFT JOIN ACCTSUBACCT ASAMBP
ON ASAMBP.AcctNbr = AC.AcctNbr AND ASAMBP.BALTYPCD = 'COST' AND ASAMBP.BALCATCD = 'ODLR'
LEFT JOIN (SELECT aas.ACCTNBR,aas.EFFDATETIME ,aas.acctstatcd,aas.POSTDATE
,ROW_NUMBER() OVER(PARTITION BY aas.ACCTNBR ORDER BY aas.EFFDATETIME DESC ) AAS_RNK
FROM acctacctstathist aas ) aaa
ON aaa.ACCTNBR = ac.ACCTNBR AND AAS_RNK = 1
WHERE AC.currmiaccttypcd IN ('DL01','DL02','DL03','DL04','DL05','DL06','DL07','DL08','DL09','DL10','DL11','DL12','DL13','DL14','DL15','DL16')
AND AC.CURRACCTSTATCD = 'CLS'
AND AAA.EffDateTime >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
@@ -0,0 +1,10 @@
SELECT
AC.ACCTNBR AS LoanNumber,
AAA.PostDate AS PaidLoanDate
FROM ACCT AC
LEFT JOIN (SELECT aas.ACCTNBR,aas.EFFDATETIME, aas.POSTDATE
,ROW_NUMBER() OVER(PARTITION BY aas.ACCTNBR ORDER BY aas.EFFDATETIME DESC ) AAS_RNK
FROM acctacctstathist aas ) aaa
ON aaa.ACCTNBR = ac.ACCTNBR AND AAS_RNK = 1
WHERE AC.curracctstatcd = 'CLS' AND AAA.EFFDATETIME >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
AND AC.currmiaccttypcd IN ('DL01','DL02','DL03','DL04','DL05','DL06','DL07','DL08','DL09','DL10','DL11','DL12','DL13','DL14','DL15','DL16')
@@ -0,0 +1,118 @@
SELECT
Coalesce(MA.MemberAgreeNbr, MAOrg.MemberAgreeNbr) AS MemberNumber,
AC.ACCTNBR AS LoanNumber,
AUFAI.Value AS ApplicationId,
RTRIM(PERS.FirstName) AS MemberFirstName,
PERS.mdlinit AS MemberInitial,
COALESCE(RTRIM(PERS.LastName), RTRIM(ORGM.OrgName)) AS MemberLastName,
OUFDC.Value AS DealerCode,
DGA.AcctNbr AS DealerAccountNumber,
DGA.taxrptfororgnbr AS DealerOrganizationNumber,
ORGD.OrgName AS DealerName,
CASE WHEN AUFWA.Value = 'Y' OR ASAW.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS Warranty,
CASE WHEN AUFG.Value = 'Y' OR ASAG.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS GAP,
CASE WHEN ASADL.SubAcctNbr IS NOT NULL OR ASADI.SubAcctNbr IS NOT NULL OR ASADLLD.SubAcctNbr IS NOT NULL OR ASADLLF.SubACctNbr IS NOT NULL THEN 1 ELSE 0 END AS CreditLife,
CASE WHEN ASADD.SubAcctNbr IS NOT NULL OR ASADI.SubAcctNbr IS NOT NULL OR ASADLLD.SubAcctNbr IS NOT NULL OR ASADLDS.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS CreditDisability,
CASE WHEN ASAM.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END As Mbp,
AC.currmiaccttypcd AS AccountType,
MMA.MIACCTTYPDESC AS AccountDescription,
AC.CONTRACTDATE AS LoanDate,
Coalesce(RTXN.OrigPostDate,TO_DATE(AUFAD.Value, 'YYYY-MM-DD' )) AS PostedDate,
AL.date1stpmtdue AS FirstPmtDate,
AC.DATEMAT AS FinalPmtDate,
AC.ORIGTERM AS OriginalTermInDays,
ASA.OrigBal AS LoanAmount,
COALESCE(RTB.INTRATE * 100, To_number(AUFBR.Value)) AS BuyRate,
AUFLT.Value AS LoanType,
RTC.INTRATE * 100 AS ContractRate,
PT.PMTAMT AS MonthlyPmt,
RTRIM(PR.PROPID) AS Vin,
RTRIM(PR.PropMake) AS Make,
RTRIM(PR.PropModel) AS Model,
PR.propyearnbr AS Year,
RTRIM(PR.PropColor) AS Color,
PR.PropVehicleOdometer AS Mileage,
AAA.PostDate AS PaidLoanDate
FROM ACCT AC
LEFT JOIN PERS
ON PERS.PersNbr = AC.TAXRPTFORPERSNBR
LEFT JOIN ORG ORGM
ON ORGM.OrgNbr = AC.TaxrptForORgNbr
LEFT JOIN MEMBERAGREEMENT MA
ON MA.PrimaryPersNbr = PERS.PersNbr
LEFT JOIN MEMBERAGREEMENT MAOrg
ON MAOrg.PrimaryOrgNbr = ORGM.OrgNbr
LEFT JOIN ACCTGRPACCT AGA
ON AC.AcctNbr = AGA.AcctNbr
LEFT JOIN (select acctgrpnbr, acct.acctnbr, acct.taxrptfororgnbr from acctgrpacct aga
inner join acct
on acct.acctnbr = aga.acctnbr and acct.currmiaccttypcd = 'DLR') DGA
ON DGA.AcctGrpNbr = AGA.AcctGrpNbr
LEFT JOIN ORG ORGD
ON ORGD.ORGNbr = DGA.taxrptfororgnbr
LEFT JOIN ACCTLOAN AL
ON AL.AcctNbr = AC.AcctNbr
LEFT JOIN (SELECT Propnbr, AcctNbr,ROW_NUMBER() OVER(PARTITION BY ACCTNBR ORDER BY PropNbr) PPP_RNK
FROM ACCTPROP) AP ON AP.AcctNbr = AC.AcctNbr AND AP.PPP_RNK = 1
LEFT JOIN PROP PR
ON PR.Propnbr = AP.Propnbr
LEFT JOIN ACCTSUBACCT ASA
ON ASA.ACCTNBR = AC.ACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'BAL'
LEFT JOIN (SELECT PS.ACCTNBR,PS.SUBACCTNBR,PS.EFFDATE,PS.INACTIVEDATE,PMT.PMTNBR, PMT.PMTTYPCD,T.PMTTYPDESC,PMT.PMTAMT,PMT.PMTPERCENT,
PMT.EFFDATE PMT_EFFDATE,PMT.PMTCALPERIODCD,PMT.INACTIVEDATE PMT_INACTIVEDATE,PMT.DATELASTMAINT,
ROW_NUMBER() OVER(PARTITION BY PS.ACCTNBR,PS.SUBACCTNBR ORDER BY PMT.EFFDATE DESC ) P_RNK
FROM ACCTPMTSUBACCTHIST PS
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = PS.ACCTNBR AND ASA.SUBACCTNBR = PS.SUBACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'DUE'
JOIN ACCTPMTHIST PMT ON PMT.ACCTNBR = PS.ACCTNBR AND PMT.PMTNBR = PS.PMTNBR
JOIN PMTTYP T ON T.PMTTYPCD = PMT.PMTTYPCD) PT ON PT.ACCTNBR = AC.ACCTNBR AND P_RNK = 1
LEFT JOIN (SELECT R.DATELASTMAINT,R.ACCTNBR,R.SUBACCTNBR, R.EFFDATE ,R.INTRATE,R.INACTIVEDATE,R.DELQRATEYN,R.POSTDATE,R.DISCLOSEDINTRATE
,ROW_NUMBER() OVER(PARTITION BY R.ACCTNBR,R.SUBACCTNBR ORDER BY R.POSTDATE DESC ) RTB_RNK
FROM ACCTRATEHIST R
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = R.ACCTNBR AND ASA.SUBACCTNBR = R.SUBACCTNBR AND ASA.BALCATCD = 'UPFR' AND ASA.BALTYPCD = 'DLR') RTB
ON RTB.ACCTNBR = AC.ACCTNBR AND RTB_RNK = 1
LEFT JOIN (SELECT R.DATELASTMAINT,R.ACCTNBR,R.SUBACCTNBR, R.EFFDATE,R.INTRATE,R.INACTIVEDATE,R.DELQRATEYN,R.POSTDATE,R.DISCLOSEDINTRATE
,ROW_NUMBER() OVER(PARTITION BY R.ACCTNBR,R.SUBACCTNBR ORDER BY R.POSTDATE DESC) RTC_RNK
FROM ACCTRATEHIST R
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = R.ACCTNBR AND ASA.SUBACCTNBR = R.SUBACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'BAL') RTC
ON RTC.ACCTNBR = AC.ACCTNBR AND RTC_RNK = 1
LEFT JOIN MJMIACCTTYP MMA
ON MMA.MIACCTTYPCD = AC.CURRMIACCTTYPCD
LEFT JOIN ACCTUSERFIELD AUFLT
ON AUFLT.Acctnbr = AC.Acctnbr AND AUFLT.userfieldCD = 'COMC'
LEFT JOIN ACCTUSERFIELD AUFAI
ON AUFAI.Acctnbr = AC.Acctnbr AND AUFAI.userfieldCD = 'LOSA'
LEFT JOIN ORGUSERFIELD OUFDC
ON OUFDC.OrgNbr = ORGD.OrgNbr AND OUFDC.UserFieldCD = 'DLCD'
LEFT JOIN RTXN
ON RTXN.ACCTNBR = AC.ACCTNBR AND rtxntypcd = 'NDSB'
LEFT JOIN ACCTUSERFIELD AUFAD
ON AUFAD.Acctnbr = AC.Acctnbr AND AUFAD.userfieldCD = 'LOSD'
LEFT JOIN ACCTUSERFIELD AUFBR
ON AUFBR.Acctnbr = AC.Acctnbr AND AUFBR.userfieldCD = 'BUYR'
LEFT JOIN ACCTUSERFIELD AUFWA
ON AUFWA.Acctnbr = AC.Acctnbr AND AUFWA.userfieldCD = 'WRYN'
LEFT JOIN ACCTUSERFIELD AUFG
ON AUFG.Acctnbr = AC.Acctnbr AND AUFG.userfieldCD = 'GPYN'
LEFT JOIN ACCTSUBACCT ASADL
ON ASADL.AcctNbr = AC.AcctNbr AND ASADL.BALTYPCD = 'SINS' AND ASADL.BALCATCD = 'DL'
LEFT JOIN ACCTSUBACCT ASADI
ON ASADI.AcctNbr = AC.AcctNbr AND ASADI.BALTYPCD = 'SINS' AND ASADI.BALCATCD = 'DI'
LEFT JOIN ACCTSUBACCT ASADD
ON ASADD.AcctNbr = AC.AcctNbr AND ASADD.BALTYPCD = 'SINS' AND ASADD.BALCATCD = 'DD'
LEFT JOIN ACCTSUBACCT ASADLLD
ON ASADLLD.AcctNbr = AC.AcctNbr AND ASADLLD.BALTYPCD = 'FIN' AND ASADLLD.BALCATCD = 'DLLD'
LEFT JOIN ACCTSUBACCT ASADLDS
ON ASADLDS.AcctNbr = AC.AcctNbr AND ASADLDS.BALTYPCD = 'FIN' AND ASADLDS.BALCATCD = 'DLDS'
LEFT JOIN ACCTSUBACCT ASADLLF
ON ASADLLF.AcctNbr = AC.AcctNbr AND ASADLLF.BALTYPCD = 'FIN' AND ASADLLF.BALCATCD = 'DLLF'
LEFT JOIN ACCTSUBACCT ASAG
ON ASAG.AcctNbr = AC.AcctNbr AND ASAG.BALTYPCD = 'FIN' AND ASAG.BALCATCD = 'GAP'
LEFT JOIN ACCTSUBACCT ASAW
ON ASAW.AcctNbr = AC.AcctNbr AND ASAW.BALTYPCD = 'FIN' AND ASAW.BALCATCD = 'WARA'
LEFT JOIN ACCTSUBACCT ASAM
ON ASAW.AcctNbr = AC.AcctNbr AND ASAW.BALTYPCD = 'FIN' AND ASAW.BALCATCD = 'ODLR'
LEFT JOIN (SELECT aas.ACCTNBR,aas.EFFDATETIME ,aas.acctstatcd,aas.POSTDATE
,ROW_NUMBER() OVER(PARTITION BY aas.ACCTNBR ORDER BY aas.EFFDATETIME DESC ) AAS_RNK
FROM acctacctstathist aas ) aaa
ON aaa.ACCTNBR = ac.ACCTNBR AND AAS_RNK = 1
WHERE AC.AcctNbr = :AcctNbr
@@ -0,0 +1,129 @@
With Cte_IndirectActiveLoans as (
SELECT
Coalesce(MA.MemberAgreeNbr, MAOrg.MemberAgreeNbr) AS MemberNumber,
AC.ACCTNBR AS LoanNumber,
AUFAI.Value AS ApplicationId,
RTRIM(PERS.FirstName) AS MemberFirstName,
PERS.mdlinit AS MemberInitial,
COALESCE(RTRIM(PERS.LastName), RTRIM(ORGM.OrgName)) AS MemberLastName,
OUFDC.Value AS DealerCode,
DGA.AcctNbr AS DealerAccountNumber,
DGA.taxrptfororgnbr AS DealerOrganizationNumber,
ORGD.OrgName AS DealerName,
CASE WHEN AUFWA.Value = 'Y' OR ASAW.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS Warranty,
CASE WHEN AUFG.Value = 'Y' OR ASAG.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS GAP,
CASE WHEN ASADLLD.SubAcctNbr IS NOT NULL OR ASADLLF.SubACctNbr IS NOT NULL THEN 1 ELSE 0 END AS CreditLife,
CASE WHEN ASADLLD.SubAcctNbr IS NOT NULL OR ASADLDS.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS CreditDisability,
CASE WHEN ASAMBP.SubAcctNbr IS NOT NULL THEN 1 ELSE 0 END AS Mbp,
AC.currmiaccttypcd AS AccountType,
MMA.MIACCTTYPDESC AS AccountDescription,
AC.CONTRACTDATE AS LoanDate,
Coalesce(RTXN.OrigPostDate,TO_DATE(AUFAD.Value, 'YYYY-MM-DD' )) AS PostedDate,
AL.date1stpmtdue AS FirstPmtDate,
AC.DATEMAT AS FinalPmtDate,
AC.ORIGTERM AS OriginalTermInDays,
ASA.OrigBal AS LoanAmount,
To_number(AUFBR.Value) AS BuyRate,
AUFLT.Value AS LoanType,
RTC.INTRATE * 100 AS ContractRate,
PT.PMTAMT AS MonthlyPmt,
RTRIM(PR.PROPID) AS Vin,
RTRIM(PR.PropMake) AS Make,
RTRIM(PR.PropModel) AS Model,
PR.propyearnbr AS Year,
RTRIM(PR.PropColor) AS Color,
PR.PropVehicleOdometer AS Mileage
FROM ACCT AC
LEFT JOIN PERS
ON PERS.PersNbr = AC.TAXRPTFORPERSNBR
LEFT JOIN ORG ORGM
ON ORGM.OrgNbr = AC.TaxrptForORgNbr
LEFT JOIN MEMBERAGREEMENT MA
ON MA.PrimaryPersNbr = PERS.PersNbr
LEFT JOIN MEMBERAGREEMENT MAOrg
ON MAOrg.PrimaryOrgNbr = ORGM.OrgNbr
LEFT JOIN ACCTGRPACCT AGA
ON AC.AcctNbr = AGA.AcctNbr
LEFT JOIN (select acctgrpnbr, acct.acctnbr, acct.taxrptfororgnbr from acctgrpacct aga
inner join acct
on acct.acctnbr = aga.acctnbr and acct.currmiaccttypcd = 'DLR') DGA
ON DGA.AcctGrpNbr = AGA.AcctGrpNbr
LEFT JOIN ORG ORGD
ON ORGD.ORGNbr = DGA.taxrptfororgnbr
LEFT JOIN ACCTLOAN AL
ON AL.AcctNbr = AC.AcctNbr
LEFT JOIN (SELECT Propnbr, AcctNbr,ROW_NUMBER() OVER(PARTITION BY ACCTNBR ORDER BY PropNbr) PPP_RNK
FROM ACCTPROP) AP ON AP.AcctNbr = AC.AcctNbr AND AP.PPP_RNK = 1
LEFT JOIN PROP PR
ON PR.Propnbr = AP.Propnbr
LEFT JOIN ACCTSUBACCT ASA
ON ASA.ACCTNBR = AC.ACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'BAL'
LEFT JOIN (SELECT PS.ACCTNBR,PS.SUBACCTNBR,PS.EFFDATE,PS.INACTIVEDATE,PMT.PMTNBR, PMT.PMTTYPCD,T.PMTTYPDESC,PMT.PMTAMT,PMT.PMTPERCENT,
PMT.EFFDATE PMT_EFFDATE,PMT.PMTCALPERIODCD,PMT.INACTIVEDATE PMT_INACTIVEDATE,PMT.DATELASTMAINT,
ROW_NUMBER() OVER(PARTITION BY PS.ACCTNBR,PS.SUBACCTNBR ORDER BY PMT.EFFDATE DESC ) P_RNK
FROM ACCTPMTSUBACCTHIST PS
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = PS.ACCTNBR AND ASA.SUBACCTNBR = PS.SUBACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'DUE'
JOIN ACCTPMTHIST PMT ON PMT.ACCTNBR = PS.ACCTNBR AND PMT.PMTNBR = PS.PMTNBR
JOIN PMTTYP T ON T.PMTTYPCD = PMT.PMTTYPCD) PT ON PT.ACCTNBR = AC.ACCTNBR AND P_RNK = 1
LEFT JOIN (SELECT R.DATELASTMAINT,R.ACCTNBR,R.SUBACCTNBR, R.EFFDATE,R.INTRATE,R.INACTIVEDATE,R.DELQRATEYN,R.POSTDATE,R.DISCLOSEDINTRATE
,ROW_NUMBER() OVER(PARTITION BY R.ACCTNBR,R.SUBACCTNBR ORDER BY R.POSTDATE DESC) RTC_RNK
FROM ACCTRATEHIST R
JOIN ACCTSUBACCT ASA ON ASA.ACCTNBR = R.ACCTNBR AND ASA.SUBACCTNBR = R.SUBACCTNBR AND ASA.BALCATCD = 'NOTE' AND ASA.BALTYPCD = 'BAL') RTC
ON RTC.ACCTNBR = AC.ACCTNBR AND RTC_RNK = 1
LEFT JOIN MJMIACCTTYP MMA
ON MMA.MIACCTTYPCD = AC.CURRMIACCTTYPCD
LEFT JOIN ACCTUSERFIELD AUFLT
ON AUFLT.Acctnbr = AC.Acctnbr AND AUFLT.userfieldCD = 'COMC'
LEFT JOIN ACCTUSERFIELD AUFAI
ON AUFAI.Acctnbr = AC.Acctnbr AND AUFAI.userfieldCD = 'LOSA'
LEFT JOIN ORGUSERFIELD OUFDC
ON OUFDC.OrgNbr = ORGD.OrgNbr AND OUFDC.UserFieldCD = 'DLCD'
LEFT JOIN RTXN
ON RTXN.ACCTNBR = AC.ACCTNBR AND rtxntypcd = 'NDSB'
LEFT JOIN ACCTUSERFIELD AUFAD
ON AUFAD.Acctnbr = AC.Acctnbr AND AUFAD.userfieldCD = 'LOSD'
LEFT JOIN ACCTUSERFIELD AUFBR
ON AUFBR.Acctnbr = AC.Acctnbr AND AUFBR.userfieldCD = 'BUYR'
LEFT JOIN ACCTUSERFIELD AUFWA
ON AUFWA.Acctnbr = AC.Acctnbr AND AUFWA.userfieldCD = 'WRYN'
LEFT JOIN ACCTUSERFIELD AUFG
ON AUFG.Acctnbr = AC.Acctnbr AND AUFG.userfieldCD = 'GPYN'
LEFT JOIN ACCTSUBACCT ASADLLD
ON ASADLLD.AcctNbr = AC.AcctNbr AND ASADLLD.BALTYPCD = 'COST' AND ASADLLD.BALCATCD = 'DLLD'
LEFT JOIN ACCTSUBACCT ASADLDS
ON ASADLDS.AcctNbr = AC.AcctNbr AND ASADLDS.BALTYPCD = 'COST' AND ASADLDS.BALCATCD = 'DLDS'
LEFT JOIN ACCTSUBACCT ASADLLF
ON ASADLLF.AcctNbr = AC.AcctNbr AND ASADLLF.BALTYPCD = 'COST' AND ASADLLF.BALCATCD = 'DLLF'
LEFT JOIN ACCTSUBACCT ASAG
ON ASAG.AcctNbr = AC.AcctNbr AND ASAG.BALTYPCD = 'COST' AND ASAG.BALCATCD = 'GAP'
LEFT JOIN ACCTSUBACCT ASAW
ON ASAW.AcctNbr = AC.AcctNbr AND ASAW.BALTYPCD = 'COST' AND ASAW.BALCATCD = 'WARA'
LEFT JOIN ACCTSUBACCT ASAMBP
ON ASAMBP.AcctNbr = AC.AcctNbr AND ASAMBP.BALTYPCD = 'COST' AND ASAMBP.BALCATCD = 'ODLR'
WHERE AC.currmiaccttypcd IN ('DL01','DL02','DL03','DL04','DL05','DL06','DL07','DL08','DL09','DL10','DL11','DL12','DL13','DL14','DL15','DL16')
AND AC.CURRACCTSTATCD = 'ACT'
AND (Coalesce(RTXN.OrigPostDate,TO_DATE(AUFAD.Value, 'YYYY-MM-DD' )) >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AC.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AL.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR PERS.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR MA.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AUFAI.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR PR.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ORGD.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR PT.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AUFLT.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR OUFDC.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR RTC.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AUFAD.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AUFBR.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AUFWA.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR AUFG.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ASADLLD.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ASADLDS.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ASADLLF.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ASAW.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ASAMBP.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
OR ASAG.DATELASTMAINT >= TO_TIMESTAMP(:newerThanDateTime, 'YYYY-MM-DD HH24:MI:SS')
))
Select * from Cte_IndirectActiveLoans
Where NOT EXISTS (select null from ACTV AV Where AV.ACTVTYPCD = 'MDFY' and av.subjacctnbr = Cte_IndirectActiveLoans.LoanNumber)