UFN_ADJUSTMENTHISTORY_GETPROPERTYDISTRIBUTION_FORADJUSTMENTHISTORYPROPERTYID
Returns the GL distribution for a sold property adjustment item.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ADJUSTMENTHISTORYPROPERTYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_ADJUSTMENTHISTORY_GETPROPERTYDISTRIBUTION_FORADJUSTMENTHISTORYPROPERTYID
(
@ADJUSTMENTHISTORYPROPERTYID uniqueidentifier
)
returns @RESULT table
(
ID nvarchar(36),
ADJUSTMENTHISTORYPROPERTYID uniqueidentifier,
TYPECODE tinyint,
TYPE nvarchar(20),
TRANSACTIONTYPE nvarchar(50),
ACCOUNT nvarchar(100),
PROJECT nvarchar(100),
REFERENCE nvarchar(255),
AMOUNT money,
TRANSACTIONAMOUNT money,
ORGANIZATIONAMOUNT money,
BASECURRENCYID uniqueidentifier,
TRANSACTIONCURRENCYID uniqueidentifier
)
as
begin
declare @PROPERTYDETAILID uniqueidentifier;
insert into @RESULT(ID, ADJUSTMENTHISTORYPROPERTYID, TYPECODE, TYPE, TRANSACTIONTYPE, ACCOUNT, PROJECT, REFERENCE, AMOUNT, TRANSACTIONAMOUNT, ORGANIZATIONAMOUNT, BASECURRENCYID, TRANSACTIONCURRENCYID)
select
cast(ID as nvarchar(36)),
ADJUSTMENTHISTORYPROPERTYID,
TYPECODE,
TYPE,
TRANSACTIONTYPE,
ACCOUNT,
PROJECT,
REFERENCE,
AMOUNT,
TRANSACTIONAMOUNT,
ORGANIZATIONAMOUNT,
BASECURRENCYID,
TRANSACTIONCURRENCYID
from dbo.ADJUSTMENTHISTORYPROPERTYDISTRIBUTION
where ADJUSTMENTHISTORYPROPERTYID = @ADJUSTMENTHISTORYPROPERTYID;
--If there's only a reversal here, and not an adjustment as well, then we need to include the current GL for this item.
declare @NEEDSGL bit;
set @NEEDSGL = 1;
select
@NEEDSGL = case when TYPECODE = 1 then 0 else @NEEDSGL end
from @RESULT;
if @NEEDSGL = 1
begin
/*this should be the case for undeleted sold-property so find that sold-property*/
select
@PROPERTYDETAILID = PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID
from dbo.PROPERTYDETAILADJUSTMENT
inner join dbo.ADJUSTMENTHISTORYPROPERTY on ADJUSTMENTHISTORYPROPERTY.PROPERTYDETAILADJUSTMENTID = PROPERTYDETAILADJUSTMENT.ID
where ADJUSTMENTHISTORYPROPERTY.ID = @ADJUSTMENTHISTORYPROPERTYID
if not @PROPERTYDETAILID is null /*if we couldn't find the property detail, there's no sense in finding its GL info*/
insert into @RESULT(ID, ADJUSTMENTHISTORYPROPERTYID, TYPECODE, TYPE, TRANSACTIONTYPE, ACCOUNT, PROJECT, REFERENCE, AMOUNT, TRANSACTIONAMOUNT, ORGANIZATIONAMOUNT, BASECURRENCYID, TRANSACTIONCURRENCYID)
select
cast(row_number() over (order by AMOUNT) as nvarchar(36)),
@ADJUSTMENTHISTORYPROPERTYID,
1,
'Adjustment',
DEBITCREDIT,
ACCOUNT,
PROJECT,
REFERENCE,
AMOUNT,
TRANSACTIONAMOUNT,
ORGANIZATIONAMOUNT,
BASECURRENCYID,
TRANSACTIONCURRENCYID
from dbo.UFN_REVENUE_GETPROPERTYDETAILGLDISTRIBUTION(@PROPERTYDETAILID);
end
return;
end