USP_DATAFORMTEMPLATE_EDITLOAD_DISBURSEMENTPROCESSFORMAT

The load procedure used by the edit dataform template "Disbursement Process Format Edit Data 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.
@PAYMENTMETHOD nvarchar(20) INOUT Payment method
@DISBURSEMENTFORMATID uniqueidentifier INOUT Format name
@DESCRIPTION nvarchar(100) INOUT Description
@PRINTERID uniqueidentifier INOUT Printer

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_DISBURSEMENTPROCESSFORMAT
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @PAYMENTMETHOD nvarchar(20) = null output,
                        @DISBURSEMENTFORMATID uniqueidentifier = null output,
                        @DESCRIPTION nvarchar(100) = null output,
                        @PRINTERID uniqueidentifier = null output
                    )
                    as

                    set nocount on;

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

                    set @DATALOADED = 0
                    set @TSLONG = 0

          declare @PROCESSSTATUS integer;


            select @PROCESSSTATUS = dp.STATUSCODE
            from dbo.DISBURSEMENTPROCESS as dp
            join dbo.DISBURSEMENTPROCESSFORMAT as dpf
              on dp.ID = dpf.DISBURSEMENTPROCESSID
            where dpf.ID = @ID;

            declare @errorDescription as nvarchar(max)
            set @errorDescription = 'This disbursement process format is read-only.';

            if @PROCESSSTATUS>0 -- 0 = Started

              raiserror (@errorDescription, 16, 1);

                    -- populate the output parameters, which correspond to fields on the form.  Note that

                    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

                    -- will display a "no data loaded" message.  Also note that we fetch the TSLONG so that concurrency

                    -- can be considered.

                    select
                        @DATALOADED = 1,
                        @TSLONG = PF.TSLONG,
                        @PAYMENTMETHOD = F.PAYMENTMETHOD,
                        @DISBURSEMENTFORMATID = PF.DISBURSEMENTFORMATID,
                        @DESCRIPTION = F.DESCRIPTION,
                        @PRINTERID = PF.PRINTERID
                    from dbo.DISBURSEMENTFORMAT F
                        inner join dbo.DISBURSEMENTPROCESSFORMAT PF on PF.DISBURSEMENTFORMATID = F.ID
                    where PF.ID = @ID

                    return 0;