USP_DATAFORMTEMPLATE_EDITLOAD_CREDITMEMO

The load procedure used by the edit dataform template "Credit Memo 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.
@VENDORID uniqueidentifier INOUT Vendor
@CREDITMEMONUMBER nvarchar(60) INOUT Credit memo number
@PURCHASEORDERID nvarchar(20) INOUT PO number
@AMOUNT money INOUT Credit memo amount
@DATE datetime INOUT Credit memo date
@POSTDATE datetime INOUT Post date
@POSTSTATUSCODE tinyint INOUT Post status
@BANKACCOUNTID uniqueidentifier INOUT Bank account
@REMITADDRESSID uniqueidentifier INOUT Remit to address
@ISEDITFORM bit INOUT
@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.
@DESCRIPTION nvarchar(100) INOUT Credit memo description
@PAID bit INOUT
@PAYMENTPOSTED bit INOUT
@BALANCE money INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CREDITMEMO(
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @VENDORID uniqueidentifier = null output,
                        @CREDITMEMONUMBER nvarchar(60) = null output,
                        @PURCHASEORDERID nvarchar(20) = null output,
                        @AMOUNT money = null output,
                        @DATE datetime = null output,
                        @POSTDATE datetime = null output,
                        @POSTSTATUSCODE tinyint = null output,
                        @BANKACCOUNTID uniqueidentifier = null output,
                        @REMITADDRESSID uniqueidentifier = null output,
                        @ISEDITFORM    bit = null output,
                        @TSLONG bigint = 0 output,
            @DESCRIPTION nvarchar(100) = null output  
            ,@PAID bit = null output
            ,@PAYMENTPOSTED bit = null output
            ,@BALANCE money = null output
                    )
                    as

                        set nocount on;

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

                        set @DATALOADED = 0
                        set @TSLONG = 0

                        select top 1
                            @DATALOADED = case when (select DISBURSEMENTPROCESSID from dbo.CREDITMEMO where ID = @ID) is null then 1 else 0 end,
                            @VENDORID = F.CONSTITUENTID,
                            @CREDITMEMONUMBER = F.USERDEFINEDID,
                            @PURCHASEORDERID = CM.PURCHASEORDERID,
                            @AMOUNT = F.TRANSACTIONAMOUNT,
                            @DATE = F.[DATE],
                            @POSTDATE = F.POSTDATE,
                            @POSTSTATUSCODE = F.POSTSTATUSCODE,
                            @BANKACCOUNTID = CM.BANKACCOUNTID,
                            @REMITADDRESSID = CM.REMITADDRESSID,
                            @TSLONG = CM.TSLONG,
                            @ISEDITFORM = 1,
              @DESCRIPTION = F.DESCRIPTION    
              ,@PAID = dbo.UFN_FINANCIALTRANSACTION_PAID(@ID)
              ,@PAYMENTPOSTED = dbo.UFN_FINANCIALTRANSACTION_PAYMENTPOSTED(@ID)
              ,@BALANCE = CM.BALANCE
                        from dbo.CREDITMEMO CM
                        inner join dbo.FINANCIALTRANSACTION F on F.ID = CM.ID AND F.TYPECODE = 102
                        where F.ID = @ID;

                        return 0;