USP_DATAFORMTEMPLATE_ADD_COUNTRY

The save procedure used by the add dataform template "Country Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@DESCRIPTION nvarchar(100) IN Description
@ABBREVIATION nvarchar(5) IN Abbreviation
@COUNTRYADDRESSFORMATID uniqueidentifier IN Address format
@INACTIVE bit IN Inactive
@ALLOWVALIDATION bit IN Allow address validation
@VALIDATIONCOUNTRYCODE tinyint IN Validate as
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ADDRESSLABEL nvarchar(25) IN Address label
@CITYLABEL nvarchar(25) IN City label
@REGIONLABEL nvarchar(25) IN State label
@POSTCODELABEL nvarchar(25) IN Postcode label
@DPCLABEL nvarchar(25) IN DPC label
@CARTLABEL nvarchar(25) IN CART label
@LOTLABEL nvarchar(25) IN LOT label
@COUNTYLABEL nvarchar(25) IN County label
@CONGRESSIONALDISTRICTLABEL nvarchar(25) IN Congressional district label
@STATEHOUSEDISTRICTLABEL nvarchar(25) IN State house district label
@STATESENATEDISTRICTLABEL nvarchar(25) IN State senate district label
@LOCALPRECINCTLABEL nvarchar(25) IN Local precinct label
@PHONEFORMATCODE tinyint IN Phone format
@COUNTRYCODE nvarchar(10) IN Phone country code
@ISO3166 nvarchar(2) IN ISO 3166 two-letter code

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_COUNTRY
(
    @ID uniqueidentifier = null output,
    @DESCRIPTION nvarchar(100) = '',
    @ABBREVIATION nvarchar(5) = '',
    @COUNTRYADDRESSFORMATID uniqueidentifier,
    @INACTIVE bit = 0,
    @ALLOWVALIDATION bit = 0,
    @VALIDATIONCOUNTRYCODE tinyint = 1,
    @CHANGEAGENTID uniqueidentifier = null,
    @ADDRESSLABEL nvarchar(25) = 'Address',
    @CITYLABEL nvarchar(25) = 'City',
    @REGIONLABEL nvarchar(25) = 'Province',
    @POSTCODELABEL nvarchar(25) = 'Postcode',
    @DPCLABEL nvarchar(25) = '',
    @CARTLABEL nvarchar(25) = '',
    @LOTLABEL nvarchar(25) = '',
    @COUNTYLABEL nvarchar(25) = '',
    @CONGRESSIONALDISTRICTLABEL nvarchar(25) = '',
    @STATEHOUSEDISTRICTLABEL nvarchar(25) = '',
    @STATESENATEDISTRICTLABEL nvarchar(25) = '',
    @LOCALPRECINCTLABEL nvarchar(25) = '',
    @PHONEFORMATCODE tinyint = 0,
    @COUNTRYCODE nvarchar(10) = '',
    @ISO3166 nvarchar(2) = ''
)
as

set nocount on;

declare @CURRENTDATE datetime

if @ID is null
    set @ID = newid()

if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

set @CURRENTDATE = getdate()

declare @SEQUENCE int
select @SEQUENCE=coalesce(max(SEQUENCE),0)+1 from dbo.COUNTRY

if @ALLOWVALIDATION = 0 
    set @VALIDATIONCOUNTRYCODE = 0;

begin try

    -- Strip leading plus symbol from country code, if exists
    if @COUNTRYCODE like '+%'
        set @COUNTRYCODE = replace(@COUNTRYCODE, '+', '');

    insert into dbo.[COUNTRY]
        ([ID],[DESCRIPTION],[ABBREVIATION],[COUNTRYADDRESSFORMATID],[ACTIVE],[SEQUENCE],[PHONEFORMATCODE],[ADDEDBYID],[CHANGEDBYID],[DATEADDED],[DATECHANGED],[COUNTRYCODE],ISO3166)
    values
        (@ID,@DESCRIPTION,@ABBREVIATION,@COUNTRYADDRESSFORMATID,~ @INACTIVE,@SEQUENCE,@PHONEFORMATCODE,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE,@COUNTRYCODE,@ISO3166);

    insert into dbo.[COUNTRYADDRESSLABEL]
        ([ID],[COUNTRYID],[ADDRESSLABEL],[CITYLABEL],[REGIONLABEL],[POSTCODELABEL],[DPCLABEL],[CARTLABEL],[LOTLABEL],[COUNTYLABEL],[CONGRESSIONALDISTRICTLABEL],[STATEHOUSEDISTRICTLABEL],[STATESENATEDISTRICTLABEL],[LOCALPRECINCTLABEL],[ADDEDBYID],[CHANGEDBYID],[DATEADDED],[DATECHANGED])
    values
        (newid(),@ID,@ADDRESSLABEL,@CITYLABEL,@REGIONLABEL,@POSTCODELABEL,@DPCLABEL,@CARTLABEL,@LOTLABEL,@COUNTYLABEL,@CONGRESSIONALDISTRICTLABEL,@STATEHOUSEDISTRICTLABEL,@STATESENATEDISTRICTLABEL,@LOCALPRECINCTLABEL,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

    insert into dbo.[COUNTRYVALIDATIONINFO]
        (ID, ALLOWVALIDATION, VALIDATIONCOUNTRYCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
        (@ID, @ALLOWVALIDATION, @VALIDATIONCOUNTRYCODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

end try
begin catch                                                                                                                                                                                          
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0