Function code below.
Specifically, the error thrown is:
Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'Clientname', table '@tRS'; column does not allow nulls. INSERT fails.
The statement has been terminated.
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[CallbackService_ufn_GetCallerData]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[CallbackService_ufn_GetCallerData]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE FUNCTION [dbo].[CallbackService_ufn_GetCallerData]
(@nCaller_NoArgINTEGER,
@cCallerLangArgCHAR(1))
RETURNS @tRS TABLE (Caller_NoINTEGERNOT NULL,
ClientnameVARCHAR(64)NOT NULL,
ClientLanguageVARCHAR(16)NOT NULL,
ClientOrganizationVARCHAR(40)NOT NULL,
ClientAddressLine1VARCHAR(60)NOT NULL,
ClientAddressLine2VARCHAR(70)NOT NULL,
ClientAddressLine3VARCHAR(48)NOT NULL,
ClientTelephone1VARCHAR(20)NOT NULL,
ClientTelephone1ExtVARCHAR(5)NOT NULL,
ClientTelephone2VARCHAR(20)NOT NULL,
ClientTelephone2ExtVARCHAR(5)NOT NULL,
ClientEmailVARCHAR(100)NOT NULL)
AS
BEGIN
INSERT@tRS
SELECT@nCaller_NoArg,
RTRIM(LTRIM(c.First_Name)) + ' ' + RTRIM(LTRIM(c.Last_Name)),
CASEWHEN @cCallerLangArg = 'F'
THEN UPPER(RTRIM(LTRIM(l.Descript_f)))
ELSE UPPER(RTRIM(LTRIM(l.Descript)))
END,
ISNULL(RTRIM(LTRIM(c.Organization)), ''),
ISNULL(RTRIM(LTRIM(c.Street)), ''),
ISNULL(RTRIM(LTRIM(c.City)) + ', ' +
CASEWHEN @cCallerLangArg = 'F'
THEN UPPER(RTRIM(LTRIM(c.ps_prov_code)))
ELSE UPPER(RTRIM(LTRIM(c.ps_prov_code)))
END + ' ' +
RTRIM(LTRIM(CASEWHEN c.Postcode LIKE '[A-Z][0-9][A-Z][0-9][A-Z][0-9]'
THEN LEFT(c.PostCode, 3) + ' ' + RIGHT(c.PostCode, 3)
ELSE c.PostCode
END)), ''),
ISNULL(CASEWHEN @cCallerLangArg = 'F'
THEN UPPER(RTRIM(LTRIM(s_country_name_f)))
ELSE UPPER(RTRIM(LTRIM(s_country_name)))
END, ''),
ISNULL(RTRIM(LTRIM(c.Telephone)), ''),
ISNULL(RTRIM(LTRIM(c.Extension)), ''),
ISNULL(RTRIM(LTRIM(c.Night_Phone)), ''),
'',
ISNULL(RTRIM(LTRIM(c.s_Email)), '')
FROMdbo.Callerc
JOINdbo.LookuplON l.lookup_ch = @cCallerLangArg
AND l.Item_name = 'Language'
LEFT OUTER JOINdbo.ProvincepON p.ps_Prov_Code = c.ps_Prov_Code
LEFT OUTER JOINdbo.CountryctON ct.ps_country_code = c.Country
WHEREc.Caller_No = @nCaller_NoArg
RETURN
END
GO