USP_LEDGERACCOUNT_INUSE
Checks to see if an account is in use. Throws an error based on usage.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@LEDGERACCOUNTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_LEDGERACCOUNT_INUSE(@LEDGERACCOUNTID uniqueidentifier)
as
begin
set nocount on;
declare @CONTROLINUSE bit = 0;
declare @BALANCINGENTRYINUSE bit = 0;
select
@CONTROLINUSE = 1
from
dbo.CONTROLACCOUNT C
inner join dbo.GLACCOUNT L on
(L.DATAELEMENT1ID is null or L.DATAELEMENT1ID = C.DATAELEMENT1ID) and
(L.DATAELEMENT2ID is null or L.DATAELEMENT2ID = C.DATAELEMENT2ID) and
(L.DATAELEMENT3ID is null or L.DATAELEMENT3ID = C.DATAELEMENT3ID) and
(L.DATAELEMENT4ID is null or L.DATAELEMENT4ID = C.DATAELEMENT4ID) and
(L.DATAELEMENT5ID is null or L.DATAELEMENT5ID = C.DATAELEMENT5ID) and
(L.DATAELEMENT6ID is null or L.DATAELEMENT6ID = C.DATAELEMENT6ID) and
(L.DATAELEMENT7ID is null or L.DATAELEMENT7ID = C.DATAELEMENT7ID) and
(L.DATAELEMENT8ID is null or L.DATAELEMENT8ID = C.DATAELEMENT8ID) and
(L.DATAELEMENT9ID is null or L.DATAELEMENT9ID = C.DATAELEMENT9ID) and
(L.DATAELEMENT10ID is null or L.DATAELEMENT10ID = C.DATAELEMENT10ID) and
(L.DATAELEMENT11ID is null or L.DATAELEMENT11ID = C.DATAELEMENT11ID) and
(L.DATAELEMENT12ID is null or L.DATAELEMENT12ID = C.DATAELEMENT12ID) and
(L.DATAELEMENT13ID is null or L.DATAELEMENT13ID = C.DATAELEMENT13ID) and
(L.DATAELEMENT14ID is null or L.DATAELEMENT14ID = C.DATAELEMENT14ID) and
(L.DATAELEMENT15ID is null or L.DATAELEMENT15ID = C.DATAELEMENT15ID) and
(L.DATAELEMENT16ID is null or L.DATAELEMENT16ID = C.DATAELEMENT16ID) and
(L.DATAELEMENT17ID is null or L.DATAELEMENT17ID = C.DATAELEMENT17ID) and
(L.DATAELEMENT18ID is null or L.DATAELEMENT18ID = C.DATAELEMENT18ID) and
(L.DATAELEMENT19ID is null or L.DATAELEMENT19ID = C.DATAELEMENT19ID) and
(L.DATAELEMENT20ID is null or L.DATAELEMENT20ID = C.DATAELEMENT20ID) and
(L.DATAELEMENT21ID is null or L.DATAELEMENT21ID = C.DATAELEMENT21ID) and
(L.DATAELEMENT22ID is null or L.DATAELEMENT22ID = C.DATAELEMENT22ID) and
(L.DATAELEMENT23ID is null or L.DATAELEMENT23ID = C.DATAELEMENT23ID) and
(L.DATAELEMENT24ID is null or L.DATAELEMENT24ID = C.DATAELEMENT24ID) and
(L.DATAELEMENT25ID is null or L.DATAELEMENT25ID = C.DATAELEMENT25ID) and
(L.DATAELEMENT26ID is null or L.DATAELEMENT26ID = C.DATAELEMENT26ID) and
(L.DATAELEMENT27ID is null or L.DATAELEMENT27ID = C.DATAELEMENT27ID) and
(L.DATAELEMENT28ID is null or L.DATAELEMENT28ID = C.DATAELEMENT28ID) and
(L.DATAELEMENT29ID is null or L.DATAELEMENT29ID = C.DATAELEMENT29ID) and
(L.DATAELEMENT30ID is null or L.DATAELEMENT30ID = C.DATAELEMENT30ID)
where L.ID = @LEDGERACCOUNTID
if @CONTROLINUSE = 1
begin
raiserror('ERR_LEDGERACCOUNT_INUSE_CONTROLACCOUNT',13,1)
return 1;
end
select
@BALANCINGENTRYINUSE = 1
from
dbo.BALANCINGENTRYELEMENT B
inner join dbo.GLACCOUNT L on
(L.DATAELEMENT1ID is null or L.DATAELEMENT1ID = B.DATAELEMENT1ID) and
(L.DATAELEMENT2ID is null or L.DATAELEMENT2ID = B.DATAELEMENT2ID) and
(L.DATAELEMENT3ID is null or L.DATAELEMENT3ID = B.DATAELEMENT3ID) and
(L.DATAELEMENT4ID is null or L.DATAELEMENT4ID = B.DATAELEMENT4ID) and
(L.DATAELEMENT5ID is null or L.DATAELEMENT5ID = B.DATAELEMENT5ID) and
(L.DATAELEMENT6ID is null or L.DATAELEMENT6ID = B.DATAELEMENT6ID) and
(L.DATAELEMENT7ID is null or L.DATAELEMENT7ID = B.DATAELEMENT7ID) and
(L.DATAELEMENT8ID is null or L.DATAELEMENT8ID = B.DATAELEMENT8ID) and
(L.DATAELEMENT9ID is null or L.DATAELEMENT9ID = B.DATAELEMENT9ID) and
(L.DATAELEMENT10ID is null or L.DATAELEMENT10ID = B.DATAELEMENT10ID) and
(L.DATAELEMENT11ID is null or L.DATAELEMENT11ID = B.DATAELEMENT11ID) and
(L.DATAELEMENT12ID is null or L.DATAELEMENT12ID = B.DATAELEMENT12ID) and
(L.DATAELEMENT13ID is null or L.DATAELEMENT13ID = B.DATAELEMENT13ID) and
(L.DATAELEMENT14ID is null or L.DATAELEMENT14ID = B.DATAELEMENT14ID) and
(L.DATAELEMENT15ID is null or L.DATAELEMENT15ID = B.DATAELEMENT15ID) and
(L.DATAELEMENT16ID is null or L.DATAELEMENT16ID = B.DATAELEMENT16ID) and
(L.DATAELEMENT17ID is null or L.DATAELEMENT17ID = B.DATAELEMENT17ID) and
(L.DATAELEMENT18ID is null or L.DATAELEMENT18ID = B.DATAELEMENT18ID) and
(L.DATAELEMENT19ID is null or L.DATAELEMENT19ID = B.DATAELEMENT19ID) and
(L.DATAELEMENT20ID is null or L.DATAELEMENT20ID = B.DATAELEMENT20ID) and
(L.DATAELEMENT21ID is null or L.DATAELEMENT21ID = B.DATAELEMENT21ID) and
(L.DATAELEMENT22ID is null or L.DATAELEMENT22ID = B.DATAELEMENT22ID) and
(L.DATAELEMENT23ID is null or L.DATAELEMENT23ID = B.DATAELEMENT23ID) and
(L.DATAELEMENT24ID is null or L.DATAELEMENT24ID = B.DATAELEMENT24ID) and
(L.DATAELEMENT25ID is null or L.DATAELEMENT25ID = B.DATAELEMENT25ID) and
(L.DATAELEMENT26ID is null or L.DATAELEMENT26ID = B.DATAELEMENT26ID) and
(L.DATAELEMENT27ID is null or L.DATAELEMENT27ID = B.DATAELEMENT27ID) and
(L.DATAELEMENT28ID is null or L.DATAELEMENT28ID = B.DATAELEMENT28ID) and
(L.DATAELEMENT29ID is null or L.DATAELEMENT29ID = B.DATAELEMENT29ID) and
(L.DATAELEMENT30ID is null or L.DATAELEMENT30ID = B.DATAELEMENT30ID)
where L.ID = @LEDGERACCOUNTID
if @BALANCINGENTRYINUSE = 1
begin
raiserror('ERR_LEDGERACCOUNT_INUSE_BALANCINGENTRY',13,1)
return 1;
end
return 0;
end