1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
|
' Microsoft SQL Server Integration Services user script component
' This is your new script component in Microsoft Visual Basic .NET
' ScriptMain is the entrypoint class for script components
Imports System
Imports System.Data
Imports System.Math
Imports System.IO
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports System.Xml
Public Class ScriptMain
Inherits UserComponent
Dim sw As StreamWriter
'In addition to using the Imports System.Xml statement a reference must be added to the
'System.Xml assembly (Select Project-Add Reference from IDE)
Dim xWriter As XmlTextWriter
Dim OutputFileType As String '.csv or .xml'
Dim Counter As Integer
Public Overrides Sub PreExecute()
'Read Only variables
Dim gsPickUp As String = Me.Variables.gsPickUp 'D:\ftproot\Out\Avid'
Dim gsPickUpFilename As String = Me.Variables.gsPickUpFilename '1_AVID_'
Dim gsPickUpFileExtn As String = Me.Variables.gsPickUpFileExtn '.csv'
Dim gsMemoText As String = Me.Variables.gsMemoText 'Memo Text : credit adjustment'
Dim gsStatementText As String = Me.Variables.gsStatementText 'Statment Text : credit adjustment'
Dim gsRunMode As String = Me.Variables.gsRunMode 'UPDATE'
Dim gsFileType As String = Me.Variables.gsFileType
Dim fileName As String = gsPickUp & "\" & gsPickUpFilename
'Dim cnt As Integer = Me.Variables.rowcount
'Dim cnt As Variable = Dts.VariableDispenser.LockOneForRead("User::rowcount", cnt)
Counter = Variables.rowcount
fileName = fileName & (Format(Now(), "yyyyMMddHHmm").ToString) & "_" & Counter
'MsgBox(fileName)
OutputFileType = gsPickUpFileExtn
If OutputFileType = ".xml" Then
fileName = fileName & gsPickUpFileExtn
'xWriter = New XmlTextWriter(Me.Connections.XMLConnection.ConnectionString, Nothing)
'xWriter.WriteStartDocument()
'xWriter.WriteComment("Customer file parsed using script")
'xWriter.WriteStartElement("x", "customer", "http://some.org/name")
'xWriter.WriteAttributeString("FileName", Me.Connections.XMLConnection.ConnectionString)
xWriter = New XmlTextWriter(fileName, Nothing)
'xWriter.Formatting = Formatting.Indented
'xWriter.Indentation = 0
xWriter.WriteStartDocument()
xWriter.WriteComment("Customer file parsed using script")
xWriter.WriteStartElement("x", "Communication", "")
'xWriter.WriteAttributeString("Type", gsFileType)
End If
End Sub
Public Overrides Sub ParsedInput_ProcessInputRow(ByVal Row As ParsedInputBuffer)
Counter += 1
If OutputFileType = ".xml" Then
xWriter.WriteString(Environment.NewLine)
xWriter.WriteStartElement("x", "Communication", "")
xWriter.WriteAttributeString("Type", "LogCall")
xWriter.WriteElementString("CommunicationLog_CallId", Row.CommunicationLogCallId.ToString)
xWriter.WriteElementString("CommunicationLogId", Row.CommunicationLogId.ToString)
xWriter.WriteElementString("LMDealershipCode", Row.LMDealershipCode.ToString)
xWriter.WriteElementString("MQDealershipId", Row.MQDealershipId.ToString)
xWriter.WriteElementString("ChannelCode", Row.ChannelCode.ToString)
xWriter.WriteElementString("VersionId", Row.VersionId.ToString)
xWriter.WriteElementString("InstanceId", Row.InstanceId.ToString)
xWriter.WriteElementString("SendDateTime", Row.SendDateTime.ToString)
xWriter.WriteElementString("TimeZone", Row.TimeZone.ToString)
xWriter.WriteElementString("CampaignType", Row.CampaignType.ToString)
xWriter.WriteElementString("CampaignCode", Row.CampaignCode.ToString)
xWriter.WriteElementString("CampaignName", Row.CampaignName.ToString)
xWriter.WriteElementString("CustomerFirstName", Row.CustomerFirstName.ToString)
xWriter.WriteElementString("CustomerLastName", Row.CustomerLastName.ToString)
xWriter.WriteElementString("CustomerAddress1", Row.CustomerAddress1.ToString)
xWriter.WriteElementString("CustomerAddress2", Row.CustomerAddress2.ToString)
xWriter.WriteElementString("CustomerCity", Row.CustomerCity.ToString)
xWriter.WriteElementString("CustomerState", Row.CustomerState.ToString)
xWriter.WriteElementString("CustomerZip", Row.CustomerZip.ToString)
xWriter.WriteElementString("CustomerHomePhoneNumber", Row.CustomerHomePhoneNumber.ToString)
xWriter.WriteElementString("CustomerCellPhoneNumber", Row.CustomerCellPhoneNumber.ToString)
xWriter.WriteElementString("CustomerEmailAddress", Row.CustomerEmailAddress.ToString)
xWriter.WriteElementString("VIN", Row.VIN.ToString)
xWriter.WriteElementString("DMSEventDateTime", Row.DMSEventDateTime.ToString)
xWriter.WriteElementString("DMSEventType", Row.DMSEventType.ToString)
xWriter.WriteElementString("DMSRetailCode", Row.DMSRetailCode.ToString)
xWriter.WriteElementString("IsTest", Row.IsTest.ToString)
xWriter.WriteElementString("ToPhoneNumber", Row.ToPhoneNumber.ToString)
xWriter.WriteElementString("FromPhoneNumber", Row.FromPhoneNumber.ToString)
xWriter.WriteElementString("RecordingFileName", Row.RecordingFileName.ToString)
xWriter.WriteElementString("Script", Row.Script.ToString)
xWriter.WriteElementString("ProcessDateTime", Row.ProcessDateTime.ToString)
xWriter.WriteElementString("SourceCode", Row.SourceCode.ToString)
xWriter.WriteElementString("SourceId1Name", Row.SourceId1Name.ToString)
xWriter.WriteElementString("SourceId1Value", Row.SourceId1Value.ToString)
xWriter.WriteElementString("SourceId2Name", Row.SourceId2Name.ToString)
xWriter.WriteElementString("SourceId2Value", Row.SourceId2Value.ToString)
xWriter.WriteElementString("SourceId3Name", Row.SourceId3Name.ToString)
xWriter.WriteElementString("SourceId3Value", Row.SourceId3Value.ToString)
xWriter.WriteEndElement()
'xWriter.WriteString(Environment.NewLine)
'Write("<br/>")
End If
End Sub
Public Overrides Sub PostExecute()
If OutputFileType = ".xml" Then
'xWriter.WriteStartElement("RecordCount")
'xWriter.WriteString(Me.Variables.rowcount.ToString)
'xWriter.WriteEndElement()
'xWriter.WriteEndElement()
xWriter.WriteEndDocument()
xWriter.Close()
End If
End Sub
End Class
|