I can create the below SP:
alter procedure RAIInvtltemsScript ( @siteid varchar(5) )
as
Declare @sql varchar(8000)
begin
select
@sql = 'bcp "select ''\"LEVEL0\"'',''\"InvtID\
"'',''\"Si
teID\"'','
'\"DfltBin
1\"'',''\"
DfltBin2\"
'',''\"Dfl
tBin3\"'',
''\"DfltBin4\"'',''\"COGSA
CCT\"'' ,''\"COGSSub\"'',''\"Sales
Acct\"'' ,''\"SalesSub\"'' ,''\"InvtAcct\"'',''\"Invt
Sub\"'',''
\"PrimVend
ID\"'' ,''\"VendPartNum\"'',''\"R
eOrdQty\"'
' ,''\"ReOrdPt\"'' union all select ''\"''+ ''LEVEL0''+''\"'', ''\"''+ rtrim(InvtID) + ''\"'', ''\"''+ STUFF(rtrim(ltrim(''' +@siteid +''')), 4, 0, ''-'') + ''\"'', ''\"'' + ''SR01'' + ''\"'', ''\"'' + ''SR02'' + ''\"'' , ''\"'' + ''SR03'' + ''\"'', ''\"'' + ''SR04'' + ''\"'' , ''\"''+ rtrim(CogsAcct) + ''\"'',''\"'' + '''' + ''\"'', ''\"''+ rtrim(DfltSalesAcct) + ''\"'' , ''\"'' + '''' + ''\"'', ''\"''+ rtrim(InvtAcct) + ''\"'' , ''\"'' + '''' + ''\"'' ,''\"''+ rtrim(Supplr1) + ''\"'' , ''\"''+ rtrim(SupplrItem1) + ''\"'' , ''\"''+ ''0'' + ''\"'', ''\"''+ ''0'' + ''\"'' from Inventory ''''" queryout "
\\Sol\import\' + RTRIM(@siteid) + '.txt" -c -t "," -SNSHPWSOL01 -Ujung -Ppassword'
exec master..xp_cmdshell @sql
End
But if I execute it, I keep getting an error
--------------------------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
---------
Password:
SQLState = 37000, NativeError = 170
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ''.
SQLState = 37000, NativeError = 8180
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared.
NULL
--this is Print @sql
bcp "select '\"LEVEL0\"','\"InvtID\"',
'\"SiteID\
"','\"Dflt
Bin1\"','\
"DfltBin2\
"','\"Dflt
Bin3\"', '\"DfltBin4\"','\"COGSACCT
\"' ,'\"COGSSub\"','\"SalesAcc
t\"' ,'\"SalesSub\"' ,'\"InvtAcct\"','\"InvtSub
\"','\"Pri
mVendID\"'
,'\"VendPartNum\"','\"ReOr
dQty\"' ,'\"ReOrdPt\"' union all select '\"'+ 'LEVEL0'+'\"', '\"'+ rtrim(InvtID) + '\"', '\"'+ STUFF(rtrim(ltrim('A5101')
), 4, 0, '-') + '\"', '\"' + 'SR01' + '\"', '\"' + 'SR02' + '\"' , '\"' + 'SR03' + '\"', '\"' + 'SR04' + '\"' , '\"'+ rtrim(CogsAcct) + '\"','\"' + '' + '\"', '\"'+ rtrim(DfltSalesAcct) + '\"' , '\"' + '' + '\"', '\"'+ rtrim(InvtAcct) + '\"' , '\"' + '' + '\"' ,'\"'+ rtrim(Supplr1) + '\"' , '\"'+ rtrim(SupplrItem1) + '\"' , '\"'+ '0' + '\"', '\"'+ '0' + '\"' from Inventory ''" queryout "
\\Sol\import\A5101.txt" -c -t "," -SNSHPWSOL01 -Ujung -Ppassword
what am i doing wrong?