USP_DATAFORMTEMPLATE_EDITLOAD_WRITEOFFGLDISTRIBUTION
The load procedure used by the edit dataform template "Write-off GL Distribution Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@GLDISTRIBUTION | xml | INOUT | Revenue GL distribution |
@WRITEOFFAMOUNT | money | INOUT | Write-off amount |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency ID |
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID | uniqueidentifier | INOUT | Default mapping type |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_WRITEOFFGLDISTRIBUTION
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@GLDISTRIBUTION xml = null output,
@WRITEOFFAMOUNT money = null output,
@TSLONG bigint = 0 output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier = null output
)
as
begin
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
set @GLDISTRIBUTION = (
select
ACCOUNT,
DEBITCREDIT,
GLPAYMENTMETHODREVENUETYPEMAPPINGID,
ID,
PROJECT,
REFERENCE,
TRANSACTIONAMOUNT AMOUNT,
TRANSACTIONCURRENCYID,
TRANSACTIONTYPECODE
from dbo.UFN_REVENUE_GETWRITEOFFGLDISTRIBUTION(@ID)
for xml raw('ITEM'),type,elements,root('GLDISTRIBUTION'),BINARY BASE64
);
select @WRITEOFFAMOUNT = sum(TRANSACTIONAMOUNT) from dbo.WRITEOFFSPLIT where WRITEOFFID = @ID
if @WRITEOFFAMOUNT is not null
begin
select
@DATALOADED = 1,
@TSLONG = max(tslong),
@TRANSACTIONCURRENCYID = WRITEOFFGLDISTRIBUTION.TRANSACTIONCURRENCYID,
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID = WRITEOFFGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID
from dbo.WRITEOFFGLDISTRIBUTION
where WRITEOFFID = @ID
group by WRITEOFFGLDISTRIBUTION.TRANSACTIONCURRENCYID, WRITEOFFGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID;
end
return 0;
end