Declare @AS400 as varchar(1200)
Declare @SelectClause as varchar(50)
Declare @MyDate as varchar(10)
Declare @MySql as nvarchar(1200)
SET @MyDate = '1070924'
SET @SelectClause = 'SELECT * FROM OPENQUERY(AS400,'
SET @AS400 = '''SELECT * FROM PRODLIB.TRHIST, PRODLIB.RESMST WHERE PRODLIB.TRHIST.THRESF = PRODLIB.RESMST.RMRESC AND (PRODLIB.TRHIST.THDATE = ' + @MyDate + ' AND PRODLIB.TRHIST.THWHST IN(''''02'''', ''''20'''', ''''21'''', ''''22'''', ''''23'''', ''''24'''', ''''25'''', ''''26'''', ''''27'''', ''''28'''', ''''29'''', ''''30'''', ''''31'''', ''''32'''') AND PRODLIB.TRHIST.THTRTP IN(''''VR'''', ''''VR'''', ''''PO'''', ''''VQ'''', ''''NR'''')) OR (PRODLIB.TRHIST.THDATE = ' + @MyDate + ' AND PRODLIB.TRHIST.THTRTP IN(''''VR'''', ''''VR'''', ''''PO'''', ''''VQ'''', ''''NR'''') AND PRODLIB.TRHIST.THWHSF IN(''''02'''', ''''20'''', ''''21'''', ''''22'''', ''''23'''', ''''24'''', ''''25'''', ''''26'''', ''''27'''', ''''28'''', ''''29'''', ''''30'''', ''''31'''', ''''32''''))'''
SET @MySql = CAST(@SelectClause + ' ' + @AS400 + ')' AS NVARCHAR(1200))
PRINT @MySql
EXEC sp_executesql @MySql
Meh, nothing but geekanese. I still haven't gotten this damn thing finished yet.