//Hvordan kan jeg bruker rollback i denne spørringen?
Beklager at det har tatt så lang tid! sorry!
<%
Option Explicit
Server.ScriptTimeout = 700
%>
<!--#include file ="../include/global_variables.asp"-->
<!--#include file ="../user_include/check_import_login.asp"-->
<!--#include file ="include/sjekk_loggin.asp"-->
<!--#include file ="../include/include_dbconn.asp"-->
<%
dim adoCn
dim strSQL
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open strConn
%>
<!--#include file ="../include/include_dbconn_error.asp"-->
<%
'----------------------------------------------------------------------------------------------------------------------------------------
'HENTER PREMIE - START
'----------------------------------------------------------------------------------------------------------------------------------------
strSQL = "SELECT Premie FROM tbl" & strKundeNavn & "Premie WHERE PID='1'"
set adoRs = adoCn.Execute(strSQL)
If not adoRs.EOF Then
strAarspremie = adoRs("Premie")
End if
Dim strTXTPremie
strTXTPremie = 1
adoRs.Close
Set adoRs = Nothing
'----------------------------------------------------------------------------------------------------------------------------------------
'HENTER PREMIE - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
strFil = Trim(Request.Form("txtFile"))
strPath = strLoggOKPath & strFil
Set FSO = CreateObject("Scripting.FileSystemObject")
If not FSO.FileExists(strPath) Then
Response.Redirect "step1.asp?MSG=Filen eksisterer ikke lenger, last opp ny fil(S4)"
Response.End
End if
Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)
error = ""
i = 0
iNew = 0
iUpdate = 0
iNoUpdate = 0
iDelete = 0
iNoDelete = 0
Dim intYear,intMonth,intDay
Do While not F.AtEndOfStream
FilArr = Split(F.Readline, ";")
'----------------------------------------------------------------------------------------------------------------------------------------
'HENTER DATA FRA TXTFIL
'----------------------------------------------------------------------------------------------------------------------------------------
Dim strTXTEier, strTXTRegnr, strTXTFabrikat, strTXTModell
Dim strTXTType, strTXTArsmodell, strTXTMotor, strTXTListePris
Dim strTXTAvdeling, strTXTRegAv, strTXTGjelderFra
Dim strTXTAktiv, strTXTSiOppForsikringFra, strTXTPeriodePremie
strTXTEier = Trim(filArr(0))
strTXTRegnr = UCASE(Trim(filArr(1)))
strTXTFabrikat = Trim(filArr(2))
strTXTModell = Trim(filArr(3))
strTXTType = Trim(filArr(4))
strTXTArsmodell = Trim(filArr(5))
strTXTMotor = Trim(Replace(filArr(6),".","," ))'FJERNER PUNKTUM OG SETTER INN ET KOMMA.
strTXTListePris = Trim(filArr(7))
strTXTPremie = Trim(filArr(8))'DENNE HENTES AUTOMATISK UT FRA SYSTEMET, DET ER KUN EN PREMIE.
strTXTAvdeling = Trim(filArr(9))
strTXTRegAv = Trim(filArr(10))'DENNE KAN GODT SETTES TIL FAST SIDEN DEN IKKE SKAL TUKLES MED
strTXTGjelderFra = Split(filArr(11), ".")
intYear = Cint(strTXTGjelderFra(2))
intMonth = Cint(strTXTGjelderFra(1))
intDay = Cint(strTXTGjelderFra(0))
strTXTGjelderFra = DateSerial(intYear, intMonth, intDay)
strTXTAktiv = UCASE(Trim(filArr(12)))
strTXTSiOppForsikringFra = Split(filArr(13), ".")
intYear = Cint(strTXTSiOppForsikringFra(2))
intMonth = Cint(strTXTSiOppForsikringFra(1))
intDay = Cint(strTXTSiOppForsikringFra(0))
strTXTSiOppForsikringFra = DateSerial(intYear, intMonth, intDay)
'----------------------------------------------------------------------------------------------------------------------------------------
'REGNER PERIODE PREMIE - START
'----------------------------------------------------------------------------------------------------------------------------------------
strSisteDag = year(Date()) & "/12/31"
strGetDager = DateDiff("Y", strTXTGjelderFra, strSisteDag)
strDagerIaar = DateDiff("Y", year(Date()) & "/01/01", year(Date()) & "/12/31")
strTXTPeriodePremie = Cstr(strAarspremie) / strDagerIaar * Cstr(strGetDager)
If Int(formatnumber((strTXTPeriodePremie),0)) > Int(strAarsPremie) Then
strTXTPeriodePremie = strAarsPremie
End if
'----------------------------------------------------------------------------------------------------------------------------------------
'REGNER PERIODE PREMIE - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
strSQL = "SELECT BID,Aktiv FROM tbl" & strKundeNavn & "Biler WHERE RegNr='" & strTXTRegnr & "' AND Aktiv='JA'"
set adoRs = adoCn.Execute(strSQL)
'----------------------------------------------------------------------------------------------------------------------------------------
'BILEN ER IKKE I DATABASEN OG REGISTRERES, DETTE GJELDER OGSÅ HVIS REGNR PÅ BILEN ER INAKTIV
'----------------------------------------------------------------------------------------------------------------------------------------
If adoRs.EOF Then
strSQL = ""
strSQL = "SET DATEFORMAT dmy; INSERT INTO tbl" & strKundeNavn & "Biler (FKEier,Regnr,FKFabrikat,FKModell,FKType,Arsmodell,Motorstorrelse,ListePris,FKPremie,PeriodePremie,FKBRAvdeling,OppRettetDato,FKRegAv,GjelderFra,Aktiv,EndretDato) VALUES " &_
"(" & strTXTEier & ",'" & strTXTRegnr & "'," & strTXTFabrikat & "," & strTXTModell & "," & strTXTType & "," & strTXTArsmodell & ",'" & strTXTMotor & "'," & strTXTListePris & "," & strTXTPremie & "," & Clng(strTXTPeriodePremie) & "," & strTXTAvdeling & ",'" & now() & "'," & strTXTRegAv & ",'" & strTXTGjelderFra & "','" & strTXTAktiv & "','" & now() & "')"
adoCn.Execute(strSQL)
'----------------------------------------------------------------------------------------------------------------------------------------
'HUSKER ANTALL NYREGISTRERTE BILER
'----------------------------------------------------------------------------------------------------------------------------------------
iNew = iNew + 1
'----------------------------------------------------------------------------------------------------------------------------------------
'BILEN ER I DATABASEN FRA FØR MEN SOM AKTIV SÅ BILEN SKAL ENTEN ENDRES ELLER SLETTES
'----------------------------------------------------------------------------------------------------------------------------------------
Else
'----------------------------------------------------------------------------------------------------------------------------------------
'TAR MED BIL ID`EN OG OM BILEN ER AKTIV JA ELLER NEI'
'----------------------------------------------------------------------------------------------------------------------------------------
strBID = adoRs("BID")
strAktiv = adoRs("Aktiv")
'----------------------------------------------------------------------------------------------------------------------------------------
'GJØR SQL SPØRRINGENE TOMME
'----------------------------------------------------------------------------------------------------------------------------------------
strSQL = ""
strSQLOLD = ""
'----------------------------------------------------------------------------------------------------------------------------------------
'HVIS FELTET 'AKTIV' I TXT FILEN ER SATT TIL 'JA' SÅ SKAL BILEN ENDRES
'----------------------------------------------------------------------------------------------------------------------------------------
If strTXTAktiv = "JA" Then
'----------------------------------------------------------------------------------------------------------------------------------------
'Henter gamle data
'----------------------------------------------------------------------------------------------------------------------------------------
set adoRsOLD = Server.CreateObject("ADODB.Recordset")
strSQLOLD = "Select DISTINCT AID,Anavn,BID,FKEier,RegNr,FKFabrikat,FKModell,FKType,ArsModell,MotorStorrelse,ListePris,Premie,PeriodePremie,FKBRAvdeling,OpprettetDato,GjelderFra,Eier,Aktiv FROM tbl" & strKundeNavn & "Eier, tbl" & strKundeNavn & "Biler, tbl" & strKundeNavn & "Fabrikat,tbl" & strKundeNavn & "Type,tbl" & strKundeNavn & "Premie,tbl" & strKundeNavn & "Avdeling,tbl" & strKundeNavn & "Modell WHERE BID=" & strBID & " AND FKEier=EID AND FKFabrikat=FID AND FKModell=MID AND FKType=TID AND FKBRAvdeling=AID and FKPremie=PID"
set adoRsOLD = adoCn.Execute(strSQLOLD)
If not adoRsOLD.EOF then
strOLDAID = adoRsOLD("AID")
strOLDANavn = adoRsOLD("ANavn")
strOLDBID = adoRsOLD("BID")
strOLDEID = adoRsOLD("FKEier")
strOLDEierNavn = adoRsOLD("Eier")
strOLDRegNr = adoRsOLD("RegNr")
strOLDFKFabrikat = adoRsOLD("FKFabrikat")
strOLDFKModell = adoRsOLD("FKModell")
strOLDFKType = adoRsOLD("FKType")
strOLDArsModell = adoRsOLD("ArsModell")
strOLDMotorstorrelse = adoRsOLD("MotorStorrelse")
strOLDListePris = adoRsOLD("Listepris")
strOLDPremie = adoRsOLD("Premie")
strOLDPeriodePremie = adoRsOLD("PeriodePremie")
strOLDGjelderFra = adoRsOLD("GjelderFra")
strOLDAktiv = adoRsOLD("Aktiv")
End If
adoRsOLD.Close
Set adoRsOLD = Nothing
'----------------------------------------------------------------------------------------------------------------------------------------
'Henter gamle data slutt
'----------------------------------------------------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------------------------------------------------
'GJØR SQL SPØRRINGEN TOM OG ENDRER DATAENE PÅ BILEN
'----------------------------------------------------------------------------------------------------------------------------------------
strSQL = ""
strSQL = "SET DATEFORMAT dmy; UPDATE tbl" & strKundeNavn & "biler Set FKEier=" & strTXTEier &_
", Regnr = '" & strTXTRegnr &_
"', FKFabrikat = " & strTXTFabrikat &_
", FKModell = " & strTXTModell &_
", FKType = " & strTXTType &_
", ArsModell = " & strTXTArsmodell &_
", MotorStorrelse = '" & strTXTMotor &_
"', ListePris = " & strTXTListePris &_
", FKPremie = " & strTXTPremie &_
", PeriodePremie = " & Clng(strTXTPeriodePremie) &_
", FKBRAvdeling = " & strTXTAvdeling &_
", GjelderFra = '" & strTXTGjelderFra &_
"', Aktiv = '" & strTXTAktiv &_
"', EndretAV = " & strTXTRegAv &_
", EndretDato = '" & date() &_
"' WHERE BID=" & strBID
adoCn.Execute(strSQL)
'----------------------------------------------------------------------------------------------------------------------------------------
'LOGG ENDRINGER - START
'----------------------------------------------------------------------------------------------------------------------------------------
Set oRS=Server.CreateObject("ADODB.Recordset")
oRS.CursorLocation = 2 ' adUseServer
oRS.CursorType = 2 ' adOpenDynamic
oRS.LockType = 3 ' adLockOptimistic
strSQL = ""
strSQL = "SELECT EndreFKBID,NyEier,GammelEier,NyRegNr,GammelRegNr,NyFabrikat,GammelFabrikat,NyModell,GammelModell,NyType,GammelType,NyArsmodell,GammelArsmodell,NyMotorStorrelse,GammelMotorStorrelse,NyListePris,GammelListePris,NyPremie,GammelPremie,NyPeriodePremie,GammelPeriodePremie,NyAvdeling,GammelAvdeling,NyGjelderFra,GammelGjelderFra,EndretAv,EndretDato FROM tbl" & strKundeNavn & "LoggEndringer"
oRS.Open strSQL, strConn, , , &H0001 ' adCmdText
oRS.AddNew
oRs("EndreFKBID") = strOLDBID
oRs("NyEier") = strTXTEier
oRs("GammelEier") = strOldEID
oRS("NyRegnr") = strTXTRegnr
oRS("GammelRegnr") = strOldRegNr
oRS("NyFabrikat") = strTXTFabrikat
oRS("GammelFabrikat") = strOLDFKFabrikat
oRS("NyModell") = strTXTModell
oRS("GammelModell") = strOLDFKModell
oRS("NyType") = strTXTType
oRS("GammelType") = strOLDFKType
oRS("NyArsmodell") = strTXTArsmodell
oRS("GammelArsmodell") = strOldArsmodell
oRS("NyMotorStorrelse") = strTXTMotor
oRS("GammelMotorStorrelse") = strOLDMotorstorrelse
oRS("NyListePris") = strTXTListePris
oRS("GammelListePris") = strOldListePris
oRS("NyPremie") = strAarspremie
oRS("GammelPremie") = strOldPremie
oRS("NyPeriodePremie") = Clng(strTXTPeriodePremie)
oRS("GammelPeriodePremie") = strOldPeriodePremie
oRS("NyAvdeling") = strTXTAvdeling
oRS("GammelAvdeling") = strOldAID
oRS("NyGjelderFra") = strTXTGjelderFra
oRS("GammelGjelderFra") = strOldGjelderFra
oRS("EndretAv") = strTXTRegAv
oRS("EndretDato") = now()
oRS.Update
'----------------------------------------------------------------------------------------------------------------------------------------
'LOGG ENDRINGER - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
oRS.Close
Set oRS = Nothing
'----------------------------------------------------------------------------------------------------------------------------------------
'HUSKER ANTALL ENDRINGER
'----------------------------------------------------------------------------------------------------------------------------------------
iUpdate = iUpdate + 1
'----------------------------------------------------------------------------------------------------------------------------------------
'HVIS FELTET 'AKTIV' I TXT FILEN ER SATT TIL 'NEI' SÅ SKAL BILEN SLETTES
'----------------------------------------------------------------------------------------------------------------------------------------
ElseIf strTXTAktiv = "NEI" Then
'----------------------------------------------------------------------------------------------------------------------------------------
'GJØR SQL SPØRRINGEN TOM
'----------------------------------------------------------------------------------------------------------------------------------------
strSQL = ""
strSQL = "SET DATEFORMAT dmy; UPDATE tbl" & strKundeNavn & "biler Set Aktiv='" & strTXTAktiv &_
"', SlettetAv = " & strTXTRegAv &_
", SlettetDato= '" & now() &_
"', SiOppForsikringFra = '" & strTXTSiOppForsikringFra &_
"', EndretDato = '" & now() &_
"' WHERE Regnr='" & strTXTRegnr &"'"
adoCn.Execute(strSQL)
'----------------------------------------------------------------------------------------------------------------------------------------
'LOGG SLETT START
'----------------------------------------------------------------------------------------------------------------------------------------
strSQL = "SET DATEFORMAT dmy; INSERT INTO tbl" & strKundeNavn & "LoggSlettinger (SlettetFKBID,SlettetEier,SlettetRegnr,SlettetAvdeling,SlettetAv,SlettetDato,SlettetSiOppForsikringFra) VALUES " &_
"(" & strBID & "," & strTXTEier & ",'" & strTXTRegnr & "'," & strTXTAvdeling & "," & strTXTRegAv & ",'" & now() & "','" & strTXTSiOppForsikringFra & "')"
adoCn.Execute(strSQL)
'----------------------------------------------------------------------------------------------------------------------------------------
'LOGG SLETT SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------------------------------------------------
'HUSKER ANTALL SLETTEDE BILER
'----------------------------------------------------------------------------------------------------------------------------------------
iDelete = iDelete + 1
End if
End if
adoRs.Close
Set adoRs = Nothing
i = i + 1
Loop
adoCn.Close
set adoCn = nothing
Set F = Nothing
'----------------------------------------------------------------------------------------------------------------------------------------
'OPPRETTER NYTT FILNAVN START
'----------------------------------------------------------------------------------------------------------------------------------------
FilNavn = now()
strDay = Day( FilNavn )
if len(strDay) = 1 then
strDay = "0" & strDay
end if
strMonth = Month( FilNavn )
if len(strMonth) = 1 then
strMonth = "0" & strMonth
end if
strYear = Year( FilNavn )
if len(strYear) = 1 then
strYear = "0" & strYear
end if
strHour = Hour( FilNavn )
if len(strHour) = 1 then
strHour = "0" & strHour
end if
strMinute = Minute( FilNavn )
if len(strMinute) = 1 then
strMinute = "0" & strMinute
end if
strSecond = Second( FilNavn )
if len(strSecond) = 1 then
strSecond = "0" & strSecond
end if
FilNavn = strDay & "." & strMonth & "." & strYear & " KL " & strHour & "." & strMinute & "." & strSecond & " P-" & i & "_N-" & iNew & "_O-" & iUpdate & "_S-" & iDelete & ".txt"
'----------------------------------------------------------------------------------------------------------------------------------------
'NYTT FILNAVN SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------------------------------------------------
'KOPIERER FILEN TIL LOGG MAPPEN
'----------------------------------------------------------------------------------------------------------------------------------------
strOKPath =strLoggPath & strFil
strOKPath = strLoggPath & FilNavn
FSO.CopyFile strPath,strOKPath
'----------------------------------------------------------------------------------------------------------------------------------------
'SJEKKER OM IMPORT_FILES_OK/" & STRFIL EKSISTERER OG SLETTER
'----------------------------------------------------------------------------------------------------------------------------------------
FSO.DeleteFile(strPath)
strOKFile = False
If Not FSO.FileExists(strPath) Then
strOKFile = True
End if
'----------------------------------------------------------------------------------------------------------------------------------------
'SJEKKER OM IMPORT_FILES_NOT_OK/" & STRFIL EKSISTERER
'----------------------------------------------------------------------------------------------------------------------------------------
strNotOKFile = False
If Not FSO.FileExists(strPath) Then
strNotOKFile = True
End if
Set FSO = Nothing
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<TITLE><%=strtittel%></TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="Pragma" content="no-cache">
<META name="robots" content="NOINDEX">
<link rel="shortcut icon" href="../../profil/icon/icon.ico">
<link rel="stylesheet" type="text/css" href="../css/stylesheetIE.css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="95%" border="0" cellspacing="0" cellpadding="0" height="95%">
<tr>
<td align="center">
<div align="center" class="text"><b>STEG 4 AV 4 - <font color="green">FILEN ER IMPORTERT!</font></b></div>
<table style="border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; width: 350px; border-bottom: rgb(204,204,204) 1px solid" cellspacing=0 cellpadding=0 border=0>
<tbody>
<tr valign=top align="middle">
<td style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px">
<table style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px" cellspacing=0 cellpadding=0 border=0>
<tbody>
<tr>
<td class="text">Antall poster i tekst filen: <b><font color="green"><%=i%></font></b> (P)</td>
</tr>
<tr>
<td class="text">Antall nyregistreringer: <b><font color="green"><%=iNew%></font></b> (N)</td>
</tr>
<tr>
<td class="text">Antall oppdateringer: <b><font color="green"><%=iUpdate%></font></b> (O)</td>
</tr>
<tr>
<td class="text">Antall slettinger: <b><font color="green"><%=iDelete%></font></b> (S)</td>
</tr>
<tr>
<td class="text">
<%
If strNotOKFile = True AND strOKFile = True Then
Response.Write "<font color='green'><b>Filene er slettet og overført til logg mappen!</b> - [ <a href='view_log.asp'>Se logg</a> ]</font>"
Else
If strNotOKFile = True Then
Response.Write "<font color='red'><b>import_files_not_OK/" & strFil & " er ikke tom</b></font>"
Elseif strOKFile = True Then
Response.Write "<font color='red'><b>import_files_OK/" & strFil & " er ikke tom</b></font>"
End if
End if
%>
</td>
</tr>
<tr>
<td class="text" align="middle">[ <a href="step1.asp">Last opp ny fil</a> ]</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</body>
</html>