I'm getting this error when I try to run my stored procedure, I have checked that the inserts matches the select, which seemed to be
the issue for most of the time this question is asked. As far as I can tell they match so something else must be wrong.
Code:-
CREATE proc [dbo].[prc_ITEM_master_Customer]
as
begin
set nocount on
/****** Object: Table [dbo].[tempdb..tmpWebCustomers] Script Date: 03/05/2014 20:49:28 ******/
IF EXISTS (SELECT * FROM tempdb.sys.objects WHERE name = 'tmpWebCustomers' AND type in (N'U'))
DROP TABLE tempdb..tmpWebCustomers
CREATE TABLE tempdb..tmpWebCustomers
(
[Customer Number] varchar(6),
[Store Number] varchar(6),
[Company Name] varchar(35),
[Email Address] varchar(75),
[Password] varchar(20),
[Contact Name] varchar(20),
[Phone] varchar(20),
[Billing Address] varchar(40),
[Billing City] varchar(30),
[Billing State] varchar(2),
[Billing Zip] varchar(10),
[Billing Country] varchar(15),
[Shipping Address] varchar(40),
[Shipping City] varchar(30),
[Shipping State] varchar(2),
[Shipping Zip] varchar(10),
[Shipping Country] varchar(15),
[Payment Terms] varchar(1),
[Prepaid Freight Amount] decimal(14,4),
[Is Preferred] bit,
[Fuel Surcharge Exempt] bit,
[Sales Tax Addback] bit,
[Broken Box Exempt] bit,
[Canada Freight Exempt] bit,
[Furniture Handling Exempt] bit,
[Create At] datetime,
[Updated At] datetime,
[Sales Rep] varchar(50),
[Sales Rep Phone] varchar(15),
[Sales Rep Email] varchar(50),
[Inside Rep] varchar(50),
[Inside Rep Email] varchar(50),
[Parent] bit
)
--Insert All Non-National Account Customers--
INSERT INTO tempdb..tmpWebCustomers
SELECT
C.CUSTNO as 'Customer Number',
'' as 'Store Number',
C.COMPANY as 'Company Name',
RTRIM(C.EMAIL) as 'Email Address',
C.MISC6 as 'Password',
C.CONTACT as 'Contact Name',
C.PHONE as 'Phone',
C.ADDRESS1 as 'Billing Address',
C.CITY as 'Billing City',
C.STATE as 'Billing State',
C.ZIP as 'Billing Zip',
C.COUNTRY as 'Billing Country',
'' as 'Shipping Address',
'' as 'Shipping City',
'' as 'Shipping State',
'' as 'Shipping Zip',
'' as 'Shipping Country',
CASE
WHEN C.PTERMS='CREDIT CARD' THEN 1
WHEN C.PTERMS='CREDIT CART ONLY' THEN 1
WHEN C.PNET=0 THEN 0
ELSE 2
END as 'Payment Terms',
C.PPFREIGHT as 'Prepaid Freight Amount',
C.PRPRICE as 'Is Preferred',
C.FSEXEMPT as 'Fuel Surcharge Exempt',
C.STADDBACK as 'Sales Tax Addback',
C.BROKEN as 'Boken Box Exempt',
C.CANADAFREIGHT as 'Canada Freight Exempt',
C.FHEXEMPT as 'Furniture Handling Exempt',
C.ADDDATE as 'Created At',
C.LCKDATE as 'Updated At',
RTRIM(R.SFIRST) +' '+ RTRIM(R.SLAST) as 'Sales Rep',
R.PHONE as 'Sales Rep Phone',
CASE
WHEN R.EMAIL='WendyH@hrpsp.com' then ''
ELSE R.EMAIL
END as 'Sales Rep Email',
RTRIM(I.SFIRST) +' '+ RTRIM(I.SLAST) as 'Inside Rep',
I.EMAIL as 'Inside Rep Email',
0
FROM tblARCUST C
INNER JOIN tblICSLSP R ON C.SALESMN=R.SLSMN
LEFT OUTER JOIN tblICSLSP I ON R.INSIDESALES=I.SLSMN
WHERE
C.NATION=0
AND C.ACTIVE=1
AND C.MISC6 !=''
AND C.EMAIL like '%@%'
--Populate Shipping Address Data--
UPDATE tempdb..tmpWebCustomers
SET
[Shipping Address]=RTRIM(S.ADDRESS1),
[Shipping City]=RTRIM(S.CITY),
[Shipping State]=RTRIM(S.STATE),
[Shipping Zip]=RTRIM(S.ZIP),
[Shipping Country]=RTRIM(S.COUNTRY)
from tempdb..tmpWebCustomers W
INNER JOIN tblARCADR S ON W.[Customer Number]=S.CUSTNO
WHERE S.DEFASHIP='Y'
UPDATE tempdb..tmpWebCustomers
SET
[Shipping Address]=[Billing Address],
[Shipping City]=[Billing City],
[Shipping State]=[Billing State],
[Shipping Zip]=[Billing Zip],
[Shipping Country]=[Billing Country]
WHERE
[Shipping Address]=''
--Insert National Account Customers
INSERT INTO tempdb..tmpWebCustomers
SELECT
C.CUSTNO as 'Customer Number',
S.CSHIPNO as 'Store Number',
S.COMPANY as 'Company Name',
RTRIM(S.EMAIL) as 'Email Address',
S.MISC6 as 'Password',
S.CONTACT as 'Contact Name',
S.PHONE as 'Phone',
C.ADDRESS1 as 'Billing Address',
C.CITY as 'Billing City',
C.STATE as 'Billing State',
C.ZIP as 'Billing Zip',
C.COUNTRY as 'Billing Country',
S.ADDRESS1 as 'Shipping Address',
S.CITY as 'Shipping City',
S.STATE as 'Shipping State',
S.ZIP as 'Shipping Zip',
S.COUNTRY as 'Shipping Country',
CASE
WHEN C.PTERMS='CREDIT CARD' THEN 1
WHEN C.PTERMS='CREDIT CART ONLY' THEN 1
WHEN C.PNET=0 THEN 0
ELSE 2
END as 'Payment Terms',
C.PPFREIGHT as 'Prepaid Freight Amount',
C.PRPRICE as 'Is Preferred',
C.FSEXEMPT as 'Fuel Surcharge Exempt',
C.STADDBACK as 'Sales Tax Addback',
C.BROKEN as 'Boken Box Exempt',
C.CANADAFREIGHT as 'Canada Freight Exempt',
C.FHEXEMPT as 'Furniture Handling Exempt',
S.ADDDATE as 'Created At',
S.LCKDATE as 'Updated At',
RTRIM(R.SFIRST) +' '+ RTRIM(R.SLAST) as 'Sales Rep',
R.PHONE as 'Sales Rep Phone',
CASE
WHEN R.EMAIL='WendyH@hrpsp.com' then ''
ELSE R.EMAIL
END as 'Sales Rep Email',
RTRIM(I.SFIRST) +' '+ RTRIM(I.SLAST) as 'Inside Rep',
I.EMAIL as 'Inside Rep Email',
0
FROM tblARCUST C
INNER JOIN tblARCADR S ON C.CUSTNO=S.CUSTNO
INNER JOIN tblICSLSP R ON C.SALESMN=R.SLSMN
LEFT OUTER JOIN tblICSLSP I ON R.INSIDESALES=I.SLSMN
WHERE
C.NATION=1
AND C.ACTIVE=1
AND S.MISC6 !=''
AND S.EMAIL LIKE '%@%'
--Insert National Account Parents
INSERT INTO tempdb..tmpWebCustomers
SELECT
C.CUSTNO as 'Customer Number',
'' as 'Store Number',
C.COMPANY as 'Company Name',
RTRIM(C.EMAIL) as 'Email Address',
C.MISC6 as 'Password',
C.CONTACT as 'Contact Name',
C.PHONE as 'Phone',
C.ADDRESS1 as 'Billing Address',
C.CITY as 'Billing City',
C.STATE as 'Billing State',
C.ZIP as 'Billing Zip',
C.COUNTRY as 'Billing Country',
C.ADDRESS1 as 'Shipping Address',
C.CITY as 'Shipping City',
C.STATE as 'Shipping State',
C.ZIP as 'Shipping Zip',
C.COUNTRY as 'Shipping Country',
CASE
WHEN C.PTERMS='CREDIT CARD' THEN 1
WHEN C.PTERMS='CREDIT CART ONLY' THEN 1
WHEN C.PNET=0 THEN 0
ELSE 2
END as 'Payment Terms',
C.PPFREIGHT as 'Prepaid Freight Amount',
C.PRPRICE as 'Is Preferred',
C.FSEXEMPT as 'Fuel Surcharge Exempt',
C.STADDBACK as 'Sales Tax Addback',
C.BROKEN as 'Boken Box Exempt',
C.CANADAFREIGHT as 'Canada Freight Exempt',
C.FHEXEMPT as 'Furniture Handling Exempt',
C.ADDDATE as 'Created At',
C.LCKDATE as 'Updated At',
RTRIM(R.SFIRST) +' '+ RTRIM(R.SLAST) as 'Sales Rep',
R.PHONE as 'Sales Rep Phone',
CASE
WHEN R.EMAIL='WendyH@hrpsp.com' then ''
ELSE R.EMAIL
END as 'Sales Rep Email',
RTRIM(I.SFIRST) +' '+ RTRIM(I.SLAST) as 'Inside Rep',
I.EMAIL as 'Inside Rep Email',
1
FROM tblARCUST C
INNER JOIN tblICSLSP R ON C.SALESMN=R.SLSMN
LEFT OUTER JOIN tblICSLSP I ON R.INSIDESALES=I.SLSMN
WHERE
C.NATION=1
AND C.ACTIVE=1
AND C.MISC6 !=''
AND C.EMAIL like '%@%'
end
GO