USP_DATAFORMTEMPLATE_VIEW_RESERVATION_FINALCOUNT

The load procedure used by the view dataform template "Reservation Final Count Due Date View 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.
@FINALCOUNTREQUIRED bit INOUT Final count required
@FINALCOUNTDUEDATE date INOUT Due date
@FINALCOUNTRECEIVED bit INOUT Final count received
@FINALCOUNTPASTDUE bit INOUT FINALCOUNTPASTDUE
@FINALCOUNTRECEIVEDDATE date INOUT Received
@DAYSPASTDUE int INOUT Days past due

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_RESERVATION_FINALCOUNT
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @FINALCOUNTREQUIRED bit = null output,
                    @FINALCOUNTDUEDATE date = null output,
                    @FINALCOUNTRECEIVED bit = null output,
                    @FINALCOUNTPASTDUE bit = null output,
                    @FINALCOUNTRECEIVEDDATE date = null output,
                    @DAYSPASTDUE integer = null output
                )
                as
                    set nocount on;

                    -- be sure to set this, in case the select returns no rows

                    set @DATALOADED = 0;

                    declare @CURRENTDATE date;
                    set @CURRENTDATE = getdate();

                    select @DATALOADED = 1,
                           @FINALCOUNTREQUIRED = FINALCOUNTREQUIRED,
                           @FINALCOUNTDUEDATE = FINALCOUNTDUEDATE,
                           @FINALCOUNTRECEIVED = FINALCOUNTRECEIVED,
                           @FINALCOUNTRECEIVEDDATE = FINALCOUNTRECEIVEDDATE
                    from dbo.RESERVATION
                    where ID = @ID

                    set @FINALCOUNTPASTDUE = 0;
                    if @FINALCOUNTREQUIRED = 1 and @FINALCOUNTRECEIVED = 0
                    begin
                        if @FINALCOUNTDUEDATE < @CURRENTDATE
                        begin
                            set @FINALCOUNTPASTDUE = 1;
                            set @DAYSPASTDUE = datediff(day, @FINALCOUNTDUEDATE, @CURRENTDATE)
                        end
                    end

                    return 0;