Thanks for the tips! I went ahead and wrote an ASP page, then parsed through it to convert it to an ActiveX script.
Good idea about exporting to multiple csv files, however I didn't want so many objects cluttering my DTS.
Thanks.
Function Main()
Dim conn, strConn
Dim RS, RS2, RS3, RS4
Dim SQL, SQL2, SQL3, SQL4
Dim AckCode
Dim sData, sOutput, FileName, fs, MyFile
Set conn = CreateObject("ADODB.connection")
conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=;Initial Catalog=HSNOrders;Data Source=ATLAS"
'Get HSNOrderHeader information
Set RS = CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM HSNOrderHeader" ' INSERT INTO MOMImport(altnum, lastname) VALUES('ABCDE', '12345');"
Set RS = conn.Execute(SQL)
'Get HSNOrderFooter Information
Set RS2 = CreateObject("ADODB.Recordset")
SQL2 = "SELECT * FROM HSNOrderFooter"
Set RS2 = conn.Execute(SQL2)
'Get HSNOrderDetails Information - number of orders we received in the file
Set RS3 = CreateObject("ADODB.Recordset")
SQL3 = "SELECT COUNT(*) AS HSNOrderCount FROM HSNOrderDetails"
Set RS3 = conn.Execute(SQL3)
'Get MOMImport Information - number of orders we processed into Mail Order Merchant (M.O.M.)
Set RS4 = CreateObject("ADODB.Recordset")
SQL4 = "SELECT COUNT(*) AS MOMOrderCount FROM MOMImport"
Set RS4 = conn.Execute(SQL4)
IF CINT(RS2.Fields("OrderCount")) = CINT(RS4.Fields("MOMOrderCount")) THEN AckCode = "A" END IF
IF CINT(RS2.Fields("OrderCount")) > CINT(RS4.Fields("MOMOrderCount")) THEN AckCode = "P" END IF
IF CINT(RS2.Fields("OrderCount")) < CINT(RS4.Fields("MOMOrderCount")) THEN AckCode = "R" END IF
'write to CSV file
'sOutput stores the final output
'sData stores each line output
'==== write the title (name of the column) ===
'sData = Chr(34) & "First Name" & Chr(34) & ","
'sData = sData & Chr(34) & "Last Name" & Chr(34)
sData = Chr(34) & "H" & Chr(34) & "," & Chr(34) & "FA" & Chr(34) & "," & Chr(34) & RS.Fields("InterchangeSenderID") & Chr(34) & "," & Chr(34) & RS.Fields("InterchangeReceiverID") & Chr(34) & "," & Chr(34) & RS.Fields("HSNDate") & Chr(34) & "," & Chr(34) & RS.Fields("HSNTime") & Chr(34) & "," & Chr(34) & RS.Fields("VendorID") & Chr(34) & "," & Chr(34) & RS.Fields("OurGSControlNumber") & Chr(34)
sOutPut = sOutPut & sData & vbCrLf
'===== now output 2 line of data =======
sData = Chr(34) & "AK" & Chr(34) & "," & Chr(34) & RS.Fields("GSControlNumber") & Chr(34) & "," & Chr(34) & RS.Fields("FunctionalID") & Chr(34) & "," & Chr(34) & AckCode & Chr(34) & "," & Chr(34) & RS2.Fields("OrderCount") & Chr(34) & "," & Chr(34) & RS3.Fields("HSNOrderCount") & Chr(34) & "," & Chr(34) & RS4.Fields("MOMOrderCount") & Chr(34)
sOutPut = sOutPut & sData '& vbCrLf
FileName="d:\HSN_To_MOM\997b.csv" 'default file name
'HEREI SAVE THE FILE DIRECTLY TO A DIRECTORY
Set fs = CreateObject("Scripting.FileSystemObject")
Set MyFile = fs.CreateTextFile(FileName, True)
MyFile.writeline sOutPut
conn.Close
Set conn = Nothing
Set SQL = Nothing
Set SQL2 = Nothing
Set SQL3 = Nothing
Set SQL4 = Nothing
Set RS = Nothing
Set RS2 = Nothing
Set RS3 = Nothing
Set RS4 = Nothing
Set sOutput = Nothing
Set sData = Nothing
Main = DTSTaskExecResult_Success
End Function