withSolutions   Script Sample Showcase
 
Skip Navigation Links.   This routine was created to allow import of third party data into a generic SQL table. It includes script to trap for unknown data types without stopping. These exceptions are written to an error file for future resolution.

  

              Function Process(ByVal StringFile As String) As String

                            'Windows.Forms.Application.DoEvents()

                            'TextBox1.Text = "PROCESSING..."

                            'lblTimer.Text = "Wait!"

  

                            'Declare some vars

                            Dim ThisFileRecNum As Integer = 1 'fires the sp_ before incrementing the count

                            Dim FileCallsLD As Integer = 0

                            Dim FileSecsLD As Integer = 0

                            Dim FileCallsLocal As Integer = 0

                            Dim FileSecsLocal As Integer = 0

                            Dim RecCountEX As Integer = 0

                            Dim strRaw As String

                            Dim DirAsstFlag As Boolean

                            Dim TypeFlag As Byte = 0  'LD = 1 , Local = 2, Exception = 3

                            Dim CallDate As String = ""

                            Dim BillTime As String = ""

  

                            'Establish Database Access to get the FileID

                            Dim objGConnection As New SqlConnection

                            strConnection = ""

                            objGConnection.ConnectionString = strConnection

                            objGConnection.Open()

  

                            'Set Up Command to get the FileID

                            Dim objGCommand As New SqlCommand

                            objGCommand.CommandType = CommandType.StoredProcedure

                            objGCommand.CommandText = "GetCCDRFileID"

                            objGCommand.CommandTimeout = 120

                            objGCommand.Connection = objGConnection

                            Dim GetFileIdName As SqlParameter = objGCommand.Parameters.Add("@getfileidname", SqlDbType.VarChar, 50)

                            Dim FID As SqlParameter = objGCommand.Parameters.Add("@fid", SqlDbType.Int)

                            FID.Direction = ParameterDirection.Output

                            GetFileIdName.Value = lFileName

                            objGCommand.ExecuteNonQuery()

                            Dim ThisFID As Integer = FID.Value

                            objGConnection.Close()

                            objGConnection = Nothing

                          objGCommand = Nothing

  

                            'Establish Database Access to Update the filelog as processed

                            Dim objUConnection As New SqlConnection

                            strConnection = ""

                            objUConnection.ConnectionString = strConnection

                            objUConnection.Open()

  

                            'Set Up Command To Update the filelog as processed

                            Dim objUCommand As New SqlCommand

                            objUCommand.CommandType = CommandType.StoredProcedure

                            objUCommand.CommandText = "UpdateCCDRFileLog"

                            objUCommand.CommandTimeout = 120

                            objUCommand.Connection = objUConnection

                            Dim LogFileName As SqlParameter = objUCommand.Parameters.Add("@logfilename", SqlDbType.VarChar, 50)

                            Dim lLDFileCalls As SqlParameter = objUCommand.Parameters.Add("@lldfilecalls", SqlDbType.Float)

                            Dim lLDFileSecs As SqlParameter = objUCommand.Parameters.Add("@lldfilesecs", SqlDbType.Float)

                            Dim lFileCalls As SqlParameter = objUCommand.Parameters.Add("@lfilecalls", SqlDbType.Float)

                            Dim lFileSecs As SqlParameter = objUCommand.Parameters.Add("@lfilesecs", SqlDbType.Float)

                            Dim lRecCountEX As SqlParameter = objUCommand.Parameters.Add("@lreccountex", SqlDbType.Float)

                            'FileSecs converted to mins in the sp

  

                            'Establish Database Access to insert the LD file data

                            Dim objILDConnection As New SqlConnection

                            strConnection = ""

                            objILDConnection.ConnectionString = strConnection

                            objILDConnection.Open()

  

                            'Set Up Command to insert the LD file data

                            Dim objILDCommand As New SqlCommand

                            objILDCommand.CommandType = CommandType.StoredProcedure

                            objILDCommand.CommandText = "InsertCCDRTrafficLD"

                            objILDCommand.CommandTimeout = 120

                            objILDCommand.Connection = objILDConnection

                            Dim iLDFileID As SqlParameter = objILDCommand.Parameters.Add("@ldfileid", SqlDbType.Int)

                            Dim iLDRecNum As SqlParameter = objILDCommand.Parameters.Add("@ldrecnum", SqlDbType.Int)

                            Dim iLDVendorID As SqlParameter = objILDCommand.Parameters.Add("@ldvendorid", SqlDbType.VarChar, 3)

                            Dim iLDVendorDate As SqlParameter = objILDCommand.Parameters.Add("@ldvendordate", SqlDbType.VarChar, 10)

                            Dim iLDVendorCharge As SqlParameter = objILDCommand.Parameters.Add("@ldvendorcharge", SqlDbType.SmallMoney)

                            Dim iLDOrigCallDate As SqlParameter = objILDCommand.Parameters.Add("@ldorigcalldate", SqlDbType.DateTime)

                            Dim iLDCallDuration As SqlParameter = objILDCommand.Parameters.Add("@ldcallduration", SqlDbType.VarChar, 11)

                            Dim iLDBillingNumber As SqlParameter = objILDCommand.Parameters.Add("@ldbillingnumber", SqlDbType.VarChar, 10)

                            Dim iLDBTNST As SqlParameter = objILDCommand.Parameters.Add("@ldbtnst", SqlDbType.Char, 2)

                            Dim iLDOrigNumber As SqlParameter = objILDCommand.Parameters.Add("@ldorignumber", SqlDbType.VarChar, 16)

                            Dim iLDTermNumber As SqlParameter = objILDCommand.Parameters.Add("@ldtermnumber", SqlDbType.VarChar, 16)

                            Dim iLDTermST As SqlParameter = objILDCommand.Parameters.Add("@ldtermst", SqlDbType.Char, 2)

                            Dim iLDRatePeriod As SqlParameter = objILDCommand.Parameters.Add("@ldrateperiod", SqlDbType.VarChar, 1)

                            Dim iLDCallType As SqlParameter = objILDCommand.Parameters.Add("@ldcalltype", SqlDbType.TinyInt)

                            Dim iLDPayphoneInd As SqlParameter = objILDCommand.Parameters.Add("@ldpayphoneind", SqlDbType.TinyInt)

                            Dim iLDDirAsstInd As SqlParameter = objILDCommand.Parameters.Add("@lddirasstind", SqlDbType.TinyInt)

                            Dim iLDServiceTypeInd As SqlParameter = objILDCommand.Parameters.Add("@ldservicetypeind", SqlDbType.TinyInt)

                            Dim iLDProjectCodeInd As SqlParameter = objILDCommand.Parameters.Add("@ldprojectcodeind", SqlDbType.TinyInt)

                            Dim iLDIndicator5 As SqlParameter = objILDCommand.Parameters.Add("@ldIndicator5", SqlDbType.VarChar, 1)

                            Dim iLDIndicator6 As SqlParameter = objILDCommand.Parameters.Add("@ldIndicator6", SqlDbType.VarChar, 1)

                            Dim iLDIndicator7 As SqlParameter = objILDCommand.Parameters.Add("@ldIndicator7", SqlDbType.VarChar, 1)

                            Dim iLDIndicator8 As SqlParameter = objILDCommand.Parameters.Add("@ldIndicator8", SqlDbType.VarChar, 1)

                            Dim iLDIndicator9 As SqlParameter = objILDCommand.Parameters.Add("@ldIndicator9", SqlDbType.VarChar, 1)

                            Dim iLDInfoDigs As SqlParameter = objILDCommand.Parameters.Add("@ldinfodigs", SqlDbType.VarChar, 2)

                            Dim iLDOrigCountryCode As SqlParameter = objILDCommand.Parameters.Add("@ldorigcountrycode", SqlDbType.VarChar, 3)

                            Dim iLDTermCountryCode As SqlParameter = objILDCommand.Parameters.Add("@ldtermcountrycode", SqlDbType.VarChar, 3)

                            Dim iLDProjectCode As SqlParameter = objILDCommand.Parameters.Add("@ldprojectcode", SqlDbType.VarChar, 16)

                            Dim iLDCCPin As SqlParameter = objILDCommand.Parameters.Add("@ldccpin", SqlDbType.VarChar, 4)

                          Dim iLDPrempID As SqlParameter = objILDCommand.Parameters.Add("@ldprempid", SqlDbType.Int)

                            Dim iLDIntra1Inter0 As SqlParameter = objILDCommand.Parameters.Add("@ldintra1inter0", SqlDbType.Char, 1)

                            'Dim iLDProcessed As SqlParameter = objILDCommand.Parameters.Add("@ldProcessed", SqlDbType.TinyInt)

                            'Dim iLDProcessDate As SqlParameter = objILDCommand.Parameters.Add("@ldprocessdate", SqlDbType.DateTime)

  

                            'Establish Database Access to insert the Local file data

                            Dim objIConnection As New SqlConnection

                            strConnection = ""

                            objIConnection.ConnectionString = strConnection

                            objIConnection.Open()

  

                            'Set Up Command to insert the Local file data

                            Dim objICommand As New SqlCommand

                            objICommand.CommandType = CommandType.StoredProcedure

                            objICommand.CommandText = "InsertCCDRTrafficLocal"

                            objICommand.CommandTimeout = 120

                            objICommand.Connection = objIConnection

                            Dim iFileID As SqlParameter = objICommand.Parameters.Add("@fileid", SqlDbType.Int)

                            Dim iRecNum As SqlParameter = objICommand.Parameters.Add("@recnum", SqlDbType.Int)

                            Dim iVendorID As SqlParameter = objICommand.Parameters.Add("@vendorid", SqlDbType.VarChar, 3)

                            Dim iEMIType As SqlParameter = objICommand.Parameters.Add("@emitype", SqlDbType.VarChar, 6)

                            Dim iFromNumber As SqlParameter = objICommand.Parameters.Add("@fromnumber", SqlDbType.VarChar, 10)

                            Dim iToNumber As SqlParameter = objICommand.Parameters.Add("@tonumber", SqlDbType.VarChar, 10)

                            Dim iVendorCharge As SqlParameter = objICommand.Parameters.Add("@vendorcharge", SqlDbType.SmallMoney)

                            Dim iCallDate As SqlParameter = objICommand.Parameters.Add("@calldate", SqlDbType.DateTime)

                            Dim iBillableTime As SqlParameter = objICommand.Parameters.Add("@billabletime", SqlDbType.VarChar, 10)

                            Dim iMethOfRec As SqlParameter = objICommand.Parameters.Add("@methofrec", SqlDbType.VarChar, 2)

                            Dim iReturnCode As SqlParameter = objICommand.Parameters.Add("@returncode", SqlDbType.VarChar, 2)

                            Dim iRatePeriod As SqlParameter = objICommand.Parameters.Add("@rateperiod", SqlDbType.VarChar, 1)

                            Dim iRateClass As SqlParameter = objICommand.Parameters.Add("@rateclass", SqlDbType.VarChar, 1)

                            Dim iMessageType As SqlParameter = objICommand.Parameters.Add("@messagetype", SqlDbType.VarChar, 1)

                            Dim iIndicator4 As SqlParameter = objICommand.Parameters.Add("@Indicator4", SqlDbType.VarChar, 1)

                            Dim iIndicator7 As SqlParameter = objICommand.Parameters.Add("@Indicator7", SqlDbType.VarChar, 1)

                            Dim iIndicator12 As SqlParameter = objICommand.Parameters.Add("@Indicator12", SqlDbType.VarChar, 1)

                            Dim iIndicator14 As SqlParameter = objICommand.Parameters.Add("@Indicator14", SqlDbType.VarChar, 1)

                            Dim iIndicator16 As SqlParameter = objICommand.Parameters.Add("@Indicator16", SqlDbType.VarChar, 1)

                            Dim iIndicator19 As SqlParameter = objICommand.Parameters.Add("@Indicator19", SqlDbType.VarChar, 1)

                            Dim iBillingNumber As SqlParameter = objICommand.Parameters.Add("@billingnumber", SqlDbType.VarChar, 10)

                            Dim iFromST As SqlParameter = objICommand.Parameters.Add("@fromst", SqlDbType.Char, 2)

                            Dim iToST As SqlParameter = objICommand.Parameters.Add("@tost", SqlDbType.Char, 2)

                            Dim iSettCode As SqlParameter = objICommand.Parameters.Add("@settcode", SqlDbType.VarChar, 1)

                            Dim iIndicator24 As SqlParameter = objICommand.Parameters.Add("@Indicator24", SqlDbType.VarChar, 1)

                            Dim iCallFlag As SqlParameter = objICommand.Parameters.Add("@callflag", SqlDbType.Char, 2)

                            '********** SEE EMI positions IN modUtil **************

                            'Open file to output exceptions

                            FileOpen(1, "C:\Production\Choice\EX\" & passedname & ".EX", OpenMode.Binary.Output)

  

                            'Open the file to read.

                            Dim sr As StreamReader

                            sr = File.OpenText("C:\Production\Choice\In\" & passedname) 'file is (passedname)

  

                            'PROCESS FILE Read each line in the file. When the end of the file is reached, return the value "-1".

                            Try

  

                                          'Start a loop

                                          While sr.Peek <> -1

  

                                                        'Read in the first line

                                                        strRaw = sr.ReadLine()

  

                                                        Select Case Mid(strRaw, 1, 6)

                                                                      Case "202401", "202402"

                                                                                    'HEADER - TRAILER do nothing!

                                                                                    ' Print(1, strRaw & Chr(13) & Chr(10))

                                                                                    TypeFlag = 0

                                                                                    iCallFlag.Value = 0

  

                                                                                    'LD TYPES **************************

                                                                      Case "010101", "100101" 'Message Telephone Service Charge, Billable/Unrated

                                                                                    'reg LD - but if 88 = 4 then "Collect"

                                                                                    TypeFlag = 1 'LD = 1 , Local = 2, Exception = 3

                                                                                   iCallFlag.Value = 0

                                                                      Case "010201", "100201" 'OVERSEAS TERMINATED, Billable/Unrated

                                                                                    'INTERNATIONAL

                                                                                    TypeFlag = 1 'LD = 1 , Local = 2, Exception = 3

                                                                                    iCallFlag.Value = 0

  

                                                                                    'LOCAL TYPES ***********************

                                                                      Case "010119", "100119"  'Billable/Unrated, NA Orig-Term-Billable, Class Features            

                                                                                    'CLASS FEATURE

                                                                                  Select Case Mid(strRaw, 75, 3) 'Type of CLASS Feature

                                                                                                  Case "095"

                                                                                                                'auto recall - plays back number, date & time of last call

                                                                                                                iCallFlag.Value = 7

                                                                                                Case "033"

                                                                                                                'auto call back (keeps redialing until not busy)

                                                                                                                iCallFlag.Value = 3

                                                                                                  Case "070"

                                                                                                                'call trace

                                                                                                                iCallFlag.Value = 5

                                                                                                  Case "018"

                                                                                                                'three-way call

                                                                                                                iCallFlag.Value = 8

                                                                                                  Case "052"

                                                                                                                'selective call forwarding

                                                                                                                iCallFlag.Value = 9

                                                                                                  Case "072"

                                                                                                                'selective call rejection

                                                                                                                iCallFlag.Value = 10

                                                                                                 Case "079"

                                                                                                                'selective call acceptance

                                                                                                                iCallFlag.Value = 11

                                                                                                  Case Else

                                                                                                                iCallFlag.Value = 0

                                                                                    End Select

                                                                                    TypeFlag = 2 'LD = 1 , Local = 2, Exception = 3

  

                                                                      Case "010131", "100131"  'Billable/Unrated, NA Orig-Term-Billable, Local or Message Unit Charge                

                                                                                    'reg LOCAL

                                                                                    TypeFlag = 2 'LD = 1 , Local = 2, Exception = 3

                                                                                    iCallFlag.Value = 0

                                                                      Case "010132", "100132"  'Billable/Unrated, NA Orig-Term-Billable, Dir Assist Charge               

                                                                                    'DIR ASST

                                                                                    TypeFlag = 2 'LD = 1 , Local = 2, Exception = 3

                                                                                    iCallFlag.Value = 2 'DA

  

                                                                      Case "100118", "010118" '010118, Specialized Service Provider Charge

                                                                                    'SPECIAL SERVICE

                                                                                    Select Case Mid(strRaw, 75, 3) '100118.Indicator24

                                                                                                  Case 1

                                                                                                                'relay service - nothing special

                                                                                                                iCallFlag.Value = 0

                                                                                                  Case 2

                                                                                                               'three way call

                                                                                                                iCallFlag.Value = 1

                                                                                                  Case 3

                                                                                                                'directory assistance call completion

                                                                                                                iCallFlag.Value = 2

                                                                                                  Case Else

                                                                                                                iCallFlag.Value = 0

                                                                                    End Select

                                                                                    TypeFlag = 2 'LD = 1 , Local = 2, Exception = 3

  

                                                                      Case "100116", "010116" '010116, Information Provider Service Charge

                                                                                    TypeFlag = 2 'LD = 1 , Local = 2, Exception = 3

                                                                                    iCallFlag.Value = 4 'Provider Service Charge

  

                                                                      Case "100125", "010125" '8XX call

                                                                                   TypeFlag = 2 'LD = 1 , Local = 2, Exception = 3

                                                                                    iCallFlag.Value = 6 '8XX

  

                                                                                    '010117, Voice Message Charge

  

                                                                      Case Else ' set for Print to Exception File 010117,100137

                                                                                    TypeFlag = 3 'LD = 1 , Local = 2, Exception = 3

                                                                                    iCallFlag.Value = 0 'nothing

  

                                                        End Select

  

                                                        '****************************************

                                                        'Process the record based on the type flag

  

                                                        Select Case TypeFlag

                                                                      Case 0

                                                                                    'Do nothing - header and trailer

                                                                      Case 1 'LONG DISTANCE - LD = 1 , Local = 2, Exception = 3

                                                                                    'Set the values for the LD Insert sp

                                                                                    iLDVendorID.Value = "ONE"

                                                                                    iLDVendorDate.Value = Format(Now, "yyyy") & "/" & Format(Now, "MM")

                                                                                    iLDFileID.Value = ThisFID

                                                                                    iLDRecNum.Value = ThisFileRecNum 'Initalized at the Dim then incremented after the sp_ write

  

                                                                                    'not in use

                                                                                    iLDIndicator6.Value = "0"

                                                                                    iLDIndicator7.Value = "0"

                                                                                    iLDIndicator8.Value = "0"

                                                                                    iLDIndicator9.Value = "0"

  

                                                                                    'Originating ANI, Billing Number

                                                                                    iLDOrigNumber.Value = Trim(Mid(strRaw, 15, 10)) 'OrigNumber

                                                                                    iLDBillingNumber.Value = Trim(Mid(strRaw, 113, 10)) 'Billing Number

  

                                                                                    'Terminating Number

                                                                                    Select Case Mid(strRaw, 28, 2)

                                                                                                  Case "11" 'INTERNATIONAL OVERFLOW

                                                                                                                iLDTermNumber.Value = Mid(strRaw, 30, 10) & Mid(strRaw, 25, 1)

                                                                                                  Case "12"

                                                                                                                iLDTermNumber.Value = Mid(strRaw, 30, 10) & Mid(strRaw, 25, 2)

                                                                                                  Case "13"

                                                                                                                iLDTermNumber.Value = Mid(strRaw, 30, 10) & Mid(strRaw, 25, 3)

                                                                                                  Case Else

                                                                                                                iLDTermNumber.Value = Trim(Mid(strRaw, 30, 10))

                                                                                    End Select

  

                                                                                    'Set the Orig & Term State

                                                                                    iLDBTNST.Value = Mid(strRaw, 133, 2)

                                                                                    If iLDBTNST.Value & "" = "" Then

                                                                                                  iLDBTNST.Value = "UU" 'Handle empty returned results

                                                                                  End If

  

                                                                                    iLDTermST.Value = Mid(strRaw, 145, 2)

                                                                                    If iLDTermST.Value & "" = "" Then

                                                                                                  iLDTermST.Value = "UU" 'Handle empty returned results

                                                                                    End If

  

                                                                                    'check THIS as money not string!

                                                                                    iLDVendorCharge.Value = 0.0  'not provided from Choice

  

                                                                                    'Date/Time of Call

                                                                                    CallDate = Mid(strRaw, 9, 2) & "/" & Mid(strRaw, 11, 2) & "/" & Mid(strRaw, 7, 2)

                                                                                    CallDate = Trim(CallDate) & " " & Mid(strRaw, 55, 2) & ":" & Mid(strRaw, 57, 2) & ":" & Mid(strRaw, 59, 2)

                                                                                    iLDOrigCallDate.Value = CallDate

  

                                                                                   'Duration using whole seconds for Traffic - will convert to mins at database write for FileLog

                                                                                    BillTime = CInt(Mid(strRaw, 61, 4)) * 60 + CInt(Mid(strRaw, 65, 2))

                                                                                    iLDCallDuration.Value = BillTime.ToString

  

                                                                                    'RatePeriod (D/E/N)

                                                                                    iLDRatePeriod.Value = DENCheck(CDate(CallDate))

  

                                                                                    'Not in use for Choice  - Qwest only

                                                                                    iLDPrempID.Value = "0"

  

                                                                                    'INTERNATIONAL

                                                                                    If Mid(strRaw, 1, 6) = "010201" Or Mid(strRaw, 1, 6) = "100201" Then

                                                                                                  iLDIndicator5.Value = "1"   'International Flag

                                                                                    Else

                                                                                                  iLDIndicator5.Value = "0"

                                                                                    End If

  

                                                                                    'Directory Assistance is LOCAL

                                                                                    iLDDirAsstInd.Value = 0 'Not Dir Asst

  

                                                                                    'Service Tyoe Indicator

                                                                                    iLDServiceTypeInd.Value = 0 '1+

  

                                                                                    'Call Type

                                                                                    Select Case Mid(strRaw, 149, 1)

                                                                                                  Case "6"                     'Local But LD Intralata

                                                                                                                iLDCallType.Value = "1"

                                                                                                             iLDIntra1Inter0.Value = "1"

                                                                                                  Case "8"                     'Intrastate1 Intracompany

                                                                                                                iLDCallType.Value = "2"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "9"                     'Intrastate2 Intercompany

                                                                                                                iLDCallType.Value = "2"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "3"                     'Intrastate3 Independent EC/Independent EC

                                                                                                                iLDCallType.Value = "2"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "J"                     'Interstate1 US to US

                                                                                                                iLDCallType.Value = "3"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "G"                     'Interstate2 Independent EC - as Alaska to Hawaii

                                                                                                                iLDCallType.Value = "3"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "Q"                     'Interstate3 US48 to Alaska,Hawaii,Puerto Rico...

                                                                                                                iLDCallType.Value = "3"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "K"                     'US and territories to Canada

                                                                                                                iLDCallType.Value = "4"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "L"                     'International1 US to non US NANP

                                                                                                                iLDCallType.Value = "5"

                                                                                                                iLDIntra1Inter0.Value = "0"

                                                                                                  Case "R"                     'International2 US to Mexico

                                                                                                                iLDCallType.Value = "5"

                                                                                                  Case "N"                     'International US OR CANADA to overseas should not be in 0101 records

                                                                                                                iLDCallType.Value = "5"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "Z"                     'NOT DETERMINED BY VENDOR - let Pegasus decide

                                                                                                              iLDCallType.Value = "0"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                                '*** Settlement Code Indicator Not yet used by Constellation***

                                                                                                  Case "P"                     'International Point/International Point

                                                                                                                iLDCallType.Value = "0"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "7"                     'Extended Area/Metro Service

                                                                                                                iLDCallType.Value = "0"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                                  Case "5"                     'InterCanada - Canada to Canada

                                                                                                                iLDCallType.Value = "0"

                                                                                                             iLDIntra1Inter0.Value = "0"

                                                                                    End Select

  

                                                                                    'Payphone indicator TCARD Not in these types - 05????

  

                                                                                    'PayphoneInd and INFODIGS

                                                                                    If Mid(strRaw, 82, 1) > 0 Then

                                                                                                  iLDPayphoneInd.Value = 1

                                                                                                  iLDInfoDigs.Value = "27"  'using for all payphone types

                                                                                    Else                              ' Not Payphone

                                                                                               iLDPayphoneInd.Value = 0

                                                                                                  iLDInfoDigs.Value = "00"

                                                                                    End If

  

                                                                                    iLDOrigCountryCode.Value = "001" 'USA

  

                                                                                    'not provided in passable format

                                                                                 iLDTermCountryCode.Value = "000"

  

                                                                                    'Project Code Indicator and Project Code - N/A for these types

                                                                                    iLDProjectCodeInd.Value = 0

                                                                                    iLDProjectCode.Value = "000000000000"

  

                                                                                 'CCPin Would be in rec type ??50??

                                                                                    iLDCCPin.Value = "0000"

  

                                                                                    'Update the LD Traffic Table

                                                                                    Try

                                                                                               objILDCommand.ExecuteNonQuery()

                                                                                    Catch ex As Exception   ' Catch the error.

                            MessageBox.Show(ex.ToString)                                                               ' Show friendly error message

                                                                                    End Try

  

                                                                                    'Increment the counters for LD

                                                                                    FileCallsLD = FileCallsLD + 1

                                                                                    FileSecsLD = FileSecsLD + CInt(iLDCallDuration.Value)

  

                                                                                    '******************************************

                                                                      Case 2 'LOCAL - LD = 1 , Local = 2, Exception = 3

                                                                                    'Set the values for the Local Insert sp

                                                                                    iFileID.Value = ThisFID

                                                                                    iRecNum.Value = ThisFileRecNum 'Initalized at the Dim then incremented after the sp_ write

                                                                                    iVendorID.Value = "ONE"

                                                                                    iEMIType.Value = Mid(strRaw, 1, 6)

                                                                                    '8XX check this below with file write

                                                                                    If Mid(strRaw, 1, 6) = "010125" Or Mid(strRaw, 1, 6) = "100125" Then

                                                                                                iFromNumber.Value = Mid(strRaw, 113, 10)

                                                                                                  iToNumber.Value = Mid(strRaw, 30, 10)

                                                                                                  iBillingNumber.Value = Mid(strRaw, 113, 10)

                                                                                    Else

                                                                                                  iFromNumber.Value = Mid(strRaw, 15, 10)

                                                                                                  iToNumber.Value = Mid(strRaw, 30, 10)

                                                                                                  iBillingNumber.Value = Mid(strRaw, 113, 10)

                                                                                    End If

                                                                                    'check THIS as money not string!

                                                                                    iVendorCharge.Value = 0.0  'not provided from Choice

                                                                                    'Date/Time of Call

                                                                                    CallDate = Mid(strRaw, 9, 2) & "/" & Mid(strRaw, 11, 2) & "/" & Mid(strRaw, 7, 2)

                                                                                    CallDate = Trim(CallDate) & " " & Mid(strRaw, 55, 2) & ":" & Mid(strRaw, 57, 2) & ":" & Mid(strRaw, 59, 2)

                                                                                    iCallDate.Value = CallDate

                                                                                    'Billable Time in seconds - Choice does not pass the tenths

                                                                                    BillTime = CInt(Mid(strRaw, 61, 4)) * 60 + CInt(Mid(strRaw, 65, 2))

                                                                                    iBillableTime.Value = BillTime.ToString

                                                                                    iMethOfRec.Value = Mid(strRaw, 68, 2)

                                                                                    iReturnCode.Value = Mid(strRaw, 70, 2)

                                                                                    iRatePeriod.Value = DENCheck(CDate(CallDate))

                                                                                    iRateClass.Value = Mid(strRaw, 79, 1)

                                                                                    iMessageType.Value = Mid(strRaw, 80, 1)

                                                                                    iIndicator4.Value = Mid(strRaw, 85, 1)

                                                                                    iIndicator7.Value = Mid(strRaw, 88, 1)

                                                                                    iIndicator12.Value = Mid(strRaw, 93, 1)

                                                                                    iIndicator14.Value = Mid(strRaw, 95, 1)

                                                                                    iIndicator16.Value = Mid(strRaw, 97, 1)

                                                                                    iIndicator19.Value = Mid(strRaw, 100, 1)

                                                                                    iFromST.Value = Mid(strRaw, 133, 2)

                                                                                    iToST.Value = Mid(strRaw, 145, 2)

                                                                                  iSettCode.Value = Mid(strRaw, 149, 1)

                                                                                    iIndicator24.Value = Mid(strRaw, 161, 1)

  

                                                                                    'Update the Local Traffic Table

                                                                                    Try

                                                                                                  objICommand.ExecuteNonQuery()

                                                                                    Catch ex As Exception   ' Catch the error.

                            MessageBox.Show(ex.ToString)                                                               ' Show friendly error message

                                                                                    End Try

  

                                                                                    'Increment the counters for Local

                                                                                  FileCallsLocal = FileCallsLocal + 1

                                                                                    FileSecsLocal = FileSecsLocal + BillTime 'numeric

  

                                                                                    '*******************************************

                                                                      Case Else 'EXCEPTION - LD = 1 , Local = 2, SHOULD BE - Exception = 3

                                                                                    'Write the exceptions to a file

                                                                                    Print(1, strRaw & " " & ThisFileRecNum & Chr(13) & Chr(10))

                                                                                    'MessageBox.Show("Found new EMI type " & Mid(strRaw, 1, 6) & " - check the files!")

                                                                                    RecCountEX = RecCountEX + 1

  

                                                        End Select

  

                                                        'TESTING ACTUAL DATA FOR ANY EXCEPTIONS

                                                        'Checking 8XX and Collect calls

                                                        If Mid(strRaw, 1, 6) = "010125" Or Mid(strRaw, 1, 6) = "100125" Then

                                                                      Print(1, strRaw & " " & ThisFileRecNum & Chr(13) & Chr(10))

                                                                      RecCountEX = RecCountEX + 1

                                                        End If

                                                        If Mid(strRaw, 88, 1) = "4" Then

                                                                      Print(1, strRaw & " " & ThisFileRecNum & Chr(13) & Chr(10))

                                                                      RecCountEX = RecCountEX + 1

                                                        End If

  

                                                        'Increment the file record counter for the next record

                                                        ThisFileRecNum = ThisFileRecNum + 1

  

                                                        'Read the next record

                                          End While

  

                            Catch ex As Exception

            MessageBox.Show(ex.ToString)                               ' Show friendly error message

                            Finally

  

                                       'Close the reader and the files

                                          sr.Close()

                                          FileClose(1)

  

                                          'Update the File Log

                                          'set the values for the update stored procedure

                                          LogFileName.Value = lFileName

                                          lLDFileCalls.Value = FileCallsLD

                                          lLDFileSecs.Value = FileSecsLD 'convert to mins in the sp

                                          lFileCalls.Value = FileCallsLocal

                                          lFileSecs.Value = FileSecsLocal 'convert to mins in the sp

                                          If RecCountEX < 0 Then

                                                        RecCountEX = 0

                                          End If

                                          lRecCountEX.Value = RecCountEX

  

                                          'fire the stored procedure

                                          objUCommand.ExecuteNonQuery()

  

                                          'Kill Connections And Objects

                                          objUConnection.Close()

                                          objUConnection = Nothing

                                          objUCommand = Nothing

                                          objILDConnection.Close()

                                          objILDConnection = Nothing

                                          objILDCommand = Nothing

                                          objIConnection.Close()

                                          objIConnection = Nothing

                                          objICommand = Nothing

  

                                          'Delete the processed .txt file

                                          'System.Threading.Thread.Sleep(10000)

                            End Try

  

              End Function