USP_DATAFORMTEMPLATE_EDITLOAD_SIGNATURE
The load procedure used by the edit dataform template "Signature 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. |
@SIGNERCODE | tinyint | INOUT | Signer |
@NAME | nvarchar(255) | INOUT | Name |
@APPUSERID | uniqueidentifier | INOUT | Application user |
@SIGNATURE | varbinary | INOUT | |
@SIGNATURETHUMBNAIL | varbinary | INOUT | |
@SIGNATURECHANGED | bit | INOUT | Signature changed |
@APPLICATIONTYPEINFORMATION | xml | INOUT | Signature applications |
@ISEDITFORM | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SIGNATURE(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@SIGNERCODE tinyint = null output,
@NAME nvarchar(255) = null output,
@APPUSERID uniqueidentifier = null output,
@SIGNATURE varbinary(max) = null output,
@SIGNATURETHUMBNAIL varbinary(max) = null output,
@SIGNATURECHANGED bit = null output,
@APPLICATIONTYPEINFORMATION xml = null output,
@ISEDITFORM bit = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
-- 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 = TSLONG,
@SIGNERCODE = SIGNERCODE,
@NAME = NAME,
@APPUSERID = APPUSERID,
@SIGNATURE = SIGNATURE,
@SIGNATURETHUMBNAIL = SIGNATURETHUMBNAIL,
@ISEDITFORM = 1
from dbo.SIGNATURE
where ID = @ID
set @APPLICATIONTYPEINFORMATION =
(
select
SIGNATUREAPPLICATIONTYPE.ID as SIGNATUREAPPLICATIONTYPEID,
SIGNATUREAPPLICATIONTYPE.TYPE as SIGNATUREAPPLICATIONTYPENAME,
case when exists (select 1 from dbo.SIGNATUREAPPLICATION where SIGNATUREAPPLICATIONTYPE.ID = SIGNATUREAPPLICATION.SIGNATUREAPPLICATIONTYPEID and
SIGNATUREAPPLICATION.SIGNATUREID = @ID) then 1 else 0 end ISAVAILABLE
from dbo.SIGNATUREAPPLICATIONTYPE
where ISACTIVE = 1
for xml raw ('ITEM'), type, elements, root('APPLICATIONTYPEINFORMATION'), BINARY BASE64
)
return 0;