USP_DATAFORMTEMPLATE_EDITLOAD_CHARGE
The load procedure used by the edit dataform template "Charge 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. |
@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. |
@STUDENTID | uniqueidentifier | INOUT | |
@STUDENTNAME | nvarchar(255) | INOUT | Name |
@CHARGEDATE | date | INOUT | Charge date |
@DUEDATE | date | INOUT | Due date |
@POSTDATE | datetime | INOUT | Post date |
@POSTSTATUSCODE | tinyint | INOUT | Post status |
@BILLINGITEMID | uniqueidentifier | INOUT | Charging for |
@AMOUNT | money | INOUT | Charge amount |
@DESCRIPTION | nvarchar(100) | INOUT | Description |
@CHARGEID | nvarchar(60) | INOUT | |
@BILLINGITEMNAME | nvarchar(100) | INOUT | Charging for |
@SCHOOLID | uniqueidentifier | INOUT | School |
@GRADELEVELID | uniqueidentifier | INOUT | Grade level |
@PRICETYPECODE | tinyint | INOUT | Billing item type |
@SCHOOLNAME | nvarchar(100) | INOUT | School |
@GRADELEVELCAPTION | nvarchar(100) | INOUT | Grade level |
@CHARGEREVERSED | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CHARGE
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@STUDENTID uniqueidentifier = null output,
@STUDENTNAME nvarchar(255) = null output,
@CHARGEDATE date = null output,
@DUEDATE date = null output,
@POSTDATE datetime = null output,
@POSTSTATUSCODE tinyint = null output,
@BILLINGITEMID uniqueidentifier = null output,
@AMOUNT money =null output,
@DESCRIPTION nvarchar(100) = null output,
@CHARGEID nvarchar(60) = null output,
@BILLINGITEMNAME nvarchar(100) = null output,
@SCHOOLID uniqueidentifier = null output,
@GRADELEVELID uniqueidentifier = null output,
@PRICETYPECODE tinyint = null output,
@SCHOOLNAME nvarchar(100) = null output,
@GRADELEVELCAPTION nvarchar(100) = null output,
@CHARGEREVERSED bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1,
@TSLONG = CHARGE.TSLONG,
@STUDENTID = dbo.FINANCIALTRANSACTION.CONSTITUENTID,
@STUDENTNAME=dbo.CONSTITUENT.NAME,
@CHARGEDATE = dbo.FINANCIALTRANSACTION.[DATE],
@DUEDATE = dbo.CHARGE.DUEDATE,
@POSTDATE = FTLI.POSTDATE,
@POSTSTATUSCODE = FTLI.POSTSTATUSCODE,
@AMOUNT = dbo.FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
@CHARGEID = dbo.FINANCIALTRANSACTION.USERDEFINEDID,
@SCHOOLID = ISNULL(dbo.SCHOOLGRADELEVEL.SCHOOLID, dbo.EDUCATIONALHISTORY.EDUCATIONALINSTITUTIONID),
@GRADELEVELID = dbo.SCHOOLGRADELEVEL.GRADELEVELID,
@SCHOOLNAME = ISNULL(CONSTIT_SCHOOL.KEYNAME, CONSTIT_ENROLL_SCHOOL.KEYNAME),
@GRADELEVELCAPTION = dbo.GRADELEVEL.DESCRIPTION
from dbo.CHARGE
inner join dbo.FINANCIALTRANSACTION
on CHARGE.ID=FINANCIALTRANSACTION.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM FTLI
on ((FINANCIALTRANSACTION.ID = FTLI.FINANCIALTRANSACTIONID) and (FTLI.TYPECODE = 0) and (FTLI.DELETEDON is null))
left outer join dbo.CONSTITUENT
on dbo.FINANCIALTRANSACTION.CONSTITUENTID=dbo.CONSTITUENT.ID
left outer join dbo.STUDENTCHARGE
on dbo.CHARGE.ID = dbo.STUDENTCHARGE.ID
left outer join dbo.STUDENTPROGRESSION
on dbo.STUDENTCHARGE.STUDENTPROGRESSIONID = dbo.STUDENTPROGRESSION.ID
left outer join dbo.SCHOOLGRADELEVEL
on dbo.STUDENTPROGRESSION.SCHOOLGRADELEVELID = dbo.SCHOOLGRADELEVEL.ID
left outer join dbo.EDUCATIONALHISTORY
on dbo.STUDENTCHARGE.EDUCATIONALHISTORYID = dbo.EDUCATIONALHISTORY.ID
left outer join dbo.CONSTITUENT as CONSTIT_SCHOOL
on dbo.SCHOOLGRADELEVEL.SCHOOLID = CONSTIT_SCHOOL.ID
left outer join dbo.CONSTITUENT as CONSTIT_ENROLL_SCHOOL
on dbo.EDUCATIONALHISTORY.EDUCATIONALINSTITUTIONID = CONSTIT_ENROLL_SCHOOL.ID
left outer join dbo.GRADELEVEL
on dbo.SCHOOLGRADELEVEL.GRADELEVELID = dbo.GRADELEVEL.ID
where CHARGE.ID = @ID;
select top 1 @BILLINGITEMID = CHARGELINEITEM.BILLINGITEMID,
@BILLINGITEMNAME = BILLINGITEM.NAME,
@PRICETYPECODE = BILLINGITEM.PRICETYPECODE,
@DESCRIPTION = FINANCIALTRANSACTIONLINEITEM.DESCRIPTION
from dbo.CHARGE
inner join dbo.FINANCIALTRANSACTIONLINEITEM
on CHARGE.ID=FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.CHARGELINEITEM
on CHARGELINEITEM.ID=FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.BILLINGITEM
on CHARGELINEITEM.BILLINGITEMID = BILLINGITEM.ID
where (FINANCIALTRANSACTIONLINEITEM.TYPECODE = 0) and
(FINANCIALTRANSACTIONLINEITEM.DELETEDON is null) and
(FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @ID);
if (@PRICETYPECODE = 1)
set @SCHOOLNAME = 'N/A'
if (@PRICETYPECODE <> 2)
set @GRADELEVELCAPTION = 'N/A'
set @CHARGEREVERSED=dbo.UFN_CHARGE_ISREVERSED(@ID)
return 0;