enfleshjsc
02-13-2007, 08:42 PM
I have 2 pages that are nearly identical. The form on each page is supposed to update the same fields in a database table. One updates correctly and the other doesn't. Any ideas why this may happen?
Below is the code for the page that is not working:
<%@ Language=VBScript %>
<%
Server.ScriptTimeout = 180
%>
<html>
<form name="thisform" method="post">
<head><script type="text/javascript">setTimeout(' document.location=document.location' ,120000);</script>
<link rel="stylesheet" type="text/css" href="../innova.css">
<% Response.Buffer %>
<script id="DebugDirectives" runat="server" language="javascript">
// Set these to true to enable debugging or tracing
@set @debug=true
@set @trace=true
</script>
</head>
<body>
<table>
<tr>
<td width="250"><img height="95" src="../index_01.gif" width="237"></td>
<td><p><font size="6"><font face="Arial">DMR PLANNING EDIT</font></td><td>
<%
On error resume Next
Dim i,conn,rs,sortitem,sortorder,mykey,myarr(),cnt,myarr2(),k,myNotes,n,sql,c,href(12,3),f,j,approved(), myarr3(),hr,dups(),SString,firstKey
sortorder=""
sortitem=""
sql="SELECT username, password FROM dbo.DMR_LOGIN"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
temp=0
do until rs.EOF or temp=1
if Request.Cookies("planninguser")=rs("username") and Request.Cookies("planningpassword")=rs("password") then
temp = 1
end if
rs.MoveNext
loop
conn.close
If temp <> 1 then
Response.Redirect "login.asp"
else
Response.Write("<td style='font-size:10pt'>Logged in as: "&Request.Cookies("planninguser")&"<br><a href='../DMR_Planning.asp?l=1&sortby=ActionTime%20desc'>Logout</a> <a href='users.asp'>Manage Users</a></td></tr></table></tr></table>")
End If
sesarr = session("keys")
sesarr2 = session("status")
cnt2=1
k=0
l=0
m=0
If Request.QueryString("clear")>0 Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
if CStr(left(request.QueryString("clear"),2))=CStr("P-") then
part=right(request.QueryString("clear"),len(request.QueryString("clear"))-2)
lot=right(part,(len(part)-InStr(part, "$")))
part=left(part,(len(part)-len(lot))-1)
sql="SELECT DISTINCT dbo.IN_COMPONENTREQUEST.XLOT_ID FROM dbo.IN_COMPONENTREQUEST INNER JOIN dbo.QS_LOT ON dbo.IN_COMPONENTREQUEST.XLOT_ID = dbo.QS_LOT.XUNIQUEKEY WHERE (dbo.QS_LOT.XLOT = '"&lot&"')"
'Response.Write(sql)
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
lot=rs.Fields.item("XLOT_ID")
rs.close
'GET THE LIST OF KEYS TO UPDATE
sql="SELECT XUNIQUEKEY FROM dbo.IN_COMPONENTREQUEST WHERE (XLOT_ID = '"&lot&"') AND (XPARTNUMBER = '"&part&"') AND (XSTATUS = "&Request.querystring("Status")&") ORDER BY DMR_NUMBER"
'Response.Write(sql)
rs.Open sql, conn
do until rs.EOF
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '', XLASTUSER='"&Request.Cookies("planninguser")&"' WHERE XUNIQUEKEY = '"&rs.Fields.Item("XUNIQUEKEY")&"'"
'Response.Write("<br>"&sql&"<br>")
conn.Execute(sql)
rs.movenext
loop
rs.close
else
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '', XLASTUSER='"&Request.Cookies("planninguser")&"' WHERE XUNIQUEKEY = '"&Request.querystring("clear")&"'"
'Response.Write(sql)
conn.Execute(sql)
End If
conn.close
if Request.QueryString("Separate") then
S="&Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&left(request.QueryString("Status"),2)
else
S=""
end if
'Response.Redirect strURL&"?sortby="&Request.QueryString("sortby")&S
End if
'/\\/\/'\/\/\//\\//\\//\//\/\/\/\/\/\/\/\\//\\\\\\\\/\/\//\/\\/\//\/\/\/\/\/\/\/\
'/\//\/\/\/\/\/\/\/\\//\/\\//\/\\/\/\/\/\//\/\/\/\/\/\\//\/\\/\//\/\\/\//\/\/\/\/\
';\'\'\'\'\'\'\'\'\'\'\'\\///\\/\/\/\/\//\/\//\/\\/\/\//\/\\''\\''\\'\'\'\''\''\'\
If Request.Form.Count > 0 Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
' ////////////////// CREATE AN ARRAY OF ALL ORIGINAL VALUES
sql="SELECT XNOTES, XSTATUS, XUNIQUEKEY FROM dbo.IN_DMR_PLAN_VIEW2"
'Response.Write(sql)
rs.Open sql, conn
do until rs.EOF
l=l+1
redim preserve qArray(3,l)
qArray(1,l)=rs.fields.item("XUNIQUEKEY")
qArray(2,l)=rs.fields.item("XSTATUS")
' Response.Write(len(rs.fields.item("XNOTES")))
if len(rs.fields.item("XNOTES"))<1 then
qArray(3,l)=""
else
qArray(3,l)=rs.fields.item("XNOTES")
end if
rs.movenext
'Response.Write(qArray(1,l)&"<br>")
loop
rs.close
for i=1 to (UBound(sesarr))
' ////////////////// CREATE AN ARRAY OF ALL SUBMITTED KEYS
if CStr(left(sesarr(i),2))=CStr("P-") then
part=right(sesarr(i),len(sesarr(i))-2)
lot=right(part,(len(part)-InStr(part, "$")))
part=left(part,(len(part)-len(lot))-1)
sql="SELECT DISTINCT dbo.IN_COMPONENTREQUEST.XLOT_ID FROM dbo.IN_COMPONENTREQUEST INNER JOIN dbo.QS_LOT ON dbo.IN_COMPONENTREQUEST.XLOT_ID = dbo.QS_LOT.XUNIQUEKEY WHERE (dbo.QS_LOT.XLOT = '"&lot&"')"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
lot=rs.Fields.item("XLOT_ID")
rs.close
sql="SELECT XUNIQUEKEY FROM dbo.IN_COMPONENTREQUEST WHERE (XLOT_ID = '"&lot&"') AND (XPARTNUMBER = '"&part&"') AND (XSTATUS = "&sesarr2(i)&")"
'Response.Write("<bR>"&sql&"<br>")
rs.Open sql, conn
do until rs.EOF
k=k+1
redim preserve sArray(3,k)
sArray(1,k)=rs.fields.item("XUNIQUEKEY")
sArray(2,k)=Request.Form("XSTATUS")(i)
if len(cstr(Request.Form("XNOTES")(i)))<1 then
sArray(3,k)=""
else
sArray(3,k)=Request.Form("XNOTES")(i)
end if
rs.movenext
'Response.Write(sArray(1,k)&"<br>")
loop
rs.close
else
k=k+1
redim preserve sArray(3,k)
sArray(1,k)=sesarr(i)
sArray(2,k)=Request.Form("XSTATUS")(i)
if len(cstr(Request.Form("XNOTES")(i)))<1 then
sArray(3,k)=""
else
sArray(3,k)=Request.Form("XNOTES")(i)
end if
'Response.Write(sArray(1,k)&"<br>")
end if
next
'Response.Write(k&"---"&l)
for i=1 to k
for j=1 to l
if sArray(1,i)=qArray(1,j) then
'Response.Write("<br>"&sArray(1,i)&" - - - - - "&qArray(1,j)&"<br>")
'Response.Write("<br>"&sArray(2,i)&" - - - - - "&qArray(2,j)&"<br>")
'Response.Write("<br>"&sArray(3,i)&" - - - - - "&qArray(3,j)&"<br>")
if cint(sArray(2,i))<>cint(qArray(2,j)) or cstr(sArray(3,i))<>cstr(qArray(3,j)) and cstr(sArray(3,i)) > "" then
if cint(sArray(2,i))<>cint(qArray(2,j)) and cstr(sArray(3,i))<>cstr(qArray(3,j)) then
'Response.Write("BOTH")
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '"&now&": "&sArray(3,i)&"'+char(13)+char(10)+'"&qArray(3,j)&"', XLASTUSER='"&Request.Cookies("planninguser")&"', XSTATUS='"&sArray(2,i)&"' WHERE XUNIQUEKEY = '" & sArray(1,i) & "'"
else
if cint(sArray(2,i))<>cint(qArray(2,j)) then
'Response.Write("status only")
sql="UPDATE IN_COMPONENTREQUEST SET XLASTUSER='"&Request.Cookies("planninguser")&"', XSTATUS='"&sArray(2,i)&"' WHERE XUNIQUEKEY = '" & sArray(1,i) & "'"
end if
if cstr(sArray(3,i))<>cstr(qArray(3,j)) then
'Response.Write("notes only")
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '"&now&": "&sArray(3,i)&"'+char(13)+char(10)+'"&qArray(3,j)&"', XLASTUSER='"&Request.Cookies("planninguser")&"' WHERE XUNIQUEKEY = '" & sArray(1,i) & "'"
end if
end if
'Response.Write("<br>"&sql)
conn.Execute(sql)
end if
end if
next
next
conn.close
End If
%>
<table><tr><td><a href="../DMR_Request.asp?sortby=ActionTime%20desc">Stockroom Requests</a><td><a href="../DMR_Planning.asp?sortby=ActionTime%20desc">Planning Status</a> </td><td><a href="../DMR_Issued.asp?sortby=ActionTime%20desc">Issued Components</a></td><td><a href="../DMR_Deleted.asp?sortby=ActionTime%20desc">Deleted Requests</a></td><td><a href="DMR_Purchasing.asp?sortby=ActionTime%20desc">Purchasing</a></td><td><a href="DMR_RTV.asp?sortby=ActionTime%20desc">RTV</a></td></tr></table>
<table><tr><td width="20px"><h6><input type="submit" value=" Submit " class="submit" name="submit1"></h6></td><td><h6>Click <img src="../exp_plus.gif" WIDTH="10" HEIGHT="10"> below to Separate groups. To regroup click <a href="<%=Request.ServerVariables("URL")%>?sortby=<%=Request.QueryString("sortby")%>">here.</a></h6></td><td><a href='controls.asp'>Manage Fields</a></td><td><input type="button" value=" Manual DMR " onclick="location.href='//innova-8/webdmr/dmr_entry.asp'" name="submit1"></td></tr></table>
<input id="savedsql" name="savedsql" type="hidden" value="<%=sql2use%>">
<input id="sqlwhere2use" name="sqlwhere2use" type="hidden" value="<%=sqlwhere2use%>">
<%
' CREATE ARRAY OF DUPLICATES SO THAT THEY CAN BE COLLAPSED
sql="SELECT * FROM CollapsedQTY"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
cnt=0
do until rs.EOF
' Response.Write(rs.Fields.Item("XPARTNUMBER")&Request.QueryString("Separate")&rs.Fields.Item("XSTATUS")&Request.Querystring("Status"))&rs.Fields.Item("XLOT")&Request.QueryString("Lot")&"<br>")
if NOT(rs.Fields.Item("XPARTNUMBER")=Request.QueryString("Separate") and rs.Fields.Item("XSTATUS")=cint(Request.Querystring("Status")) and rs.Fields.Item("XLOT")=Request.QueryString("Lot")) then
cnt=cnt+1
reDim preserve dups(5,cnt)
dups(1,cnt)=rs.Fields.Item("XPARTNUMBER")
dups(2,cnt)=rs.Fields.Item("XLOT")
dups(3,cnt)=rs.Fields.Item("MyQty")
dups(4,cnt)=0
dups(5,cnt)=rs.Fields.Item("XSTATUS")
end if
rs.MoveNext
' Response.Write(cnt&" ' ' ' "&dups(1,cnt)&" ' ' ' "&dups(2,cnt))
loop
dupsamt=cnt
rs.close
If Request.QueryString("SortBy") <> "" Then
sortitem = Left(trim(Request.querystring("sortby")),Instr(1,Request.querystring("sortby")," ")-1)
sortorder = right(trim(Request.querystring("sortby")),Len(Request.querystring("sortby")) - Instr(1,Request.querystring("sortby")," ")+1)
sql = "SELECT * FROM IN_DMR_PLAN_VIEW2" & " Order By "& Request.querystring("sortby")
else
sql="SELECT * FROM IN_DMR_PLAN_VIEW2"
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
' Response.Write "Current Sort Item: " & sortitem & ", Length: " & Len(sortitem) & "<BR>"
' Response.Write "Current Sort Order: " & sortorder & ", Length: " & Len(sortorder) & "<BR>"
' Response.Write sql
%><div class=m2><table cellpadding=2 cellspacing=0><%
b="./DMR_Planning_MOD.asp?"
if Request.QueryString("Separate") then
b="./DMR_Planning_MOD.asp?Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&Request.QueryString("Status")&"&"
end if
sql2="SELECT dbo.IN_USER_COLUMNS.* FROM dbo.IN_USER_COLUMNS WHERE (USERNAME = '"&Request.Cookies("planninguser")&"')"
set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.Open sql2, conn
t=0
if NOT rs2.EOF then
if rs2.Fields.Item("DMR_NUMBER") then
t=t+1
href(t,1)="DMR_NUMBER"
href(t,3)="DMR#"
end if
if rs2.Fields.Item("XSTATUS") then
t=t+1
href(t,1)="XSTATUS"
href(t,3)="Action"
end if
if rs2.Fields.Item("ACTION_TIME") then
t=t+1
href(t,1)="ActionTime"
href(t,3)="Action Time"
end if
if rs2.Fields.Item("SUBMITTED") then
t=t+1
href(t,1)="XREQUESTTIME"
href(t,3)="Submitted"
end if
if rs2.Fields.Item("WO") then
t=t+1
href(t,1)="XLOT"
href(t,3)="WO"
end if
if rs2.Fields.Item("PART_NUMBER") then
t=t+1
href(t,1)="XPARTNUMBER"
href(t,3)="Part #"
end if
if rs2.Fields.Item("DESCRIPTION") then
t=t+1
href(t,1)="XDESCRIPTION"
href(t,3)="Description"
end if
if rs2.Fields.Item("SUBMITTED_BY") then
t=t+1
href(t,1)="XINSPECTUSER"
href(t,3)="By"
end if
if rs2.Fields.Item("LOCATION") then
t=t+1
href(t,1)="XSTATION"
href(t,3)="Location"
end if
if rs2.Fields.Item("SN") then
t=t+1
href(t,1)="XSERIALNUMBER"
href(t,3)="S/N"
end if
if rs2.Fields.Item("ASSEMBLY") then
t=t+1
href(t,1)="XPRODUCT"
href(t,3)="Assembly"
end if
if rs2.Fields.Item("REV") then
t=t+1
href(t,1)="XREVISION"
href(t,3)="Rev"
end if
rs2.close
else
Response.Redirect("http://innova-8/WEBDMR/planning/login.asp")
end if
for i=1 to 12
if sortitem = href(i,1) then
if sortorder = " desc" then
href(i,2)=b&"sortby="&href(i,1)&"%20asc"
f="<div class=desc>"
f2="</div>"
else
href(i,2)=b&"sortby="&href(i,1)&"%20desc"
f="<div class=asc>"
f2="</div>"
end if
else
href(i,2)=b&"sortby="&href(i,1)&"%20desc"
f=""
f2=""
end if
Response.Write("<th><A href='"&href(i,2)&"'>"&f&href(i,3)&"</a></th>")
next
Response.Write("</tr>")
cnt=1
cnt2=1
j=1
do until rs.EOF
' Collpase duplicates
act=0
for i=1 to dupsamt
'Response.Write(dups(1,i)&" ' ' ' '"&rs.Fields.Item("XPARTNUMBER")&" ' ' ' '"&dups(2,i)&" ' ' ' '"&rs.Fields.Item("XLOT"))
if rs.Fields.Item("XPARTNUMBER")=dups(1,i) AND rs.Fields.Item("XLOT")=dups(2,i) AND rs.Fields.Item("XSTATUS")=dups(5,i) then
if (dups(4,i)=0) then
' Response.Write(dups(1,i)&" ' ' ' '"&rs.Fields.Item("XPARTNUMBER")&" ' ' ' '"&dups(2,i)&" ' ' ' '"&rs.Fields.Item("XLOT"))
act=1
dups(4,i)=1
MQTY=dups(3,i)
else
if (dups(4,i)=1) then
act=2
end if
end if
end if
next
if act<2 then
if hr then
%>
<tr><td colspan="12"><br><hr></td></tr>
<%
end if
hr=1
reDim Preserve myarr2(cnt)
myarr2(cnt)=rs("XSTATUS")
cnt2=cnt2+2
if (rs.Fields.Item("XPARTNUMBER")=Request.querystring("Separate") AND rs.Fields.Item("XLOT")=Request.QueryString("Lot") and rs.Fields.Item("XSTATUS")=cint(Request.QueryString("Status"))) then
Response.Write("<tr class='high'>")
else
Response.Write("<tr>")
end if
mykey=rs("XUNIQUEKEY")
for j=1 to t
select case href(j,1)
case "DMR_NUMBER"
if act=1 then
Response.Write("<td><a href='//innova-8/webdmr/Planning/DMR_Planning_MOD.asp?Separate="&rs.Fields.Item("XPARTNUMBER")&"&Status="&rs.Fields.Item("XSTATUS")&"&Lot="&rs.Fields.Item("XLOT")&"&sortby="&Request.QueryString("sortby")&"'><img src='../exp_plus.gif'></a><a href='//innova-8/webdmr/dmr_retrieve_multi.asp?part="&rs.Fields.Item("XPARTNUMBER")&"&Lot="&rs.Fields.Item("XLOT")&"&Status="&rs.Fields.Item("XSTATUS")&"&sortby="&Request.QueryString("sortby")&"'>"&MQTY&"_DMRs</a></td>")
else
Response.Write("<td><a href='//innova-8/webdmr/dmr_retrieve.asp?dmr="&rs.Fields.Item(href(j,1))&"'>"&rs.Fields.Item(href(j,1))&"</a></td>")
end if
case "XSTATUS"
ReDim Preserve myarr(cnt)
if act=1 then
myarr(cnt)="P-"&rs.Fields.Item("XPARTNUMBER")&"$"&rs.Fields.Item("XLOT")
else
myarr(cnt)=mykey
end if
temp=myarr(cnt)
cnt=(1+cnt)
select case rs.Fields.Item(href(j,1))
case 6
%><td><select id="S_<%Response.Write(mykey)%>" name="XSTATUS" size="1"><option value="6"> HOLD </option> <option value="4"> APPROVE </option> <option value="7"> DELETE </option><option value="8">PURCHASING</option><option value="9">RTV</option></select></td><%
case 10
%><td><select id="S_<%Response.Write(mykey)%>" name="XSTATUS" size="1"><option value="10"> ORDERED </option> <option value="6"> HOLD </option> <option value="4"> APPROVE </option> <option value="7"> DELETE </option><option value="8">PURCHASING</option><option value="9">RTV</option> </select></td><%
case else
%><td><select id="S_<%Response.Write(mykey)%>" name="XSTATUS" size="1"><option value="5"> PLANNING </option> <option value="6"> HOLD </option> <option value="4"> APPROVE </option> <option value="7"> DELETE </option><option value="8">PURCHASING</option><option value="9">RTV</option> </select></td><%
end select
case "XNOTES"
if Request.QueryString("Separate") then
S="Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&Request.QueryString("Status")
else
S="Status="&rs.Fields.Item("XSTATUS")&"&Lot="&Request.QueryString("Lot")
end if
if (rs.Fields.Item("XPARTNUMBER")=Request.querystring("Separate") AND rs.Fields.Item("XLOT")=Request.QueryString("Lot") and rs.Fields.Item("XSTATUS")=cint(Request.QueryString("Status"))) then
Response.Write("</tr><tr class='high'><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item(href(j,1))&"</TEXTAREA></td>")
else
Response.Write("</tr><tr><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item(href(j,1))&"</TEXTAREA></td>")
end if
case"XLASTUSER"
Response.Write("<td colspan=3><h5><br>Last Action By:<br>"&rs.Fields.Item(href(j,1))&"</h5></tr>")
case else
Response.Write("<td>")
Response.Write(rs.Fields.Item(href(j,1)))
Response.Write("</td>")
end select
next
if Request.QueryString("Separate") then
S="Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&Request.QueryString("Status")
else
S=""
end if
if (rs.Fields.Item("XPARTNUMBER")=Request.querystring("Separate") AND rs.Fields.Item("XLOT")=Request.QueryString("Lot") and rs.Fields.Item("XSTATUS")=cint(Request.QueryString("Status"))) then
Response.Write("</tr><tr class='high'><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item("XNOTES")&"</TEXTAREA></td>")
else
Response.Write("</tr><tr><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item("XNOTES")&"</TEXTAREA></td>")
end if
Response.Write("<td colspan='3'><h5><br>Last Action By:<br>"&rs.Fields.Item("XLASTUSER")&"</h5></tr>")
end if
rs.MoveNext
loop
session("keys")=myarr
session("status")=myarr2
%>
</table>
<input type="submit" value=" Submit " class="submit" name="submit2">
<table>
</table></div>
<table><tr><td><a href="../DMR_Request.asp?sortby=ActionTime%20desc">Stockroom Requests</a><td><a href="../DMR_Planning.asp?sortby=ActionTime%20desc">Planning Status</a> </td><td><a href="../DMR_Issued.asp?sortby=ActionTime%20desc">Issued Components</a></td><td><a href="../DMR_Deleted.asp?sortby=ActionTime%20desc">Deleted Requests</a></td><td><a href="DMR_Purchasing.asp?sortby=ActionTime%20desc">Purchasing</a></td><td><a href="DMR_RTV.asp?sortby=ActionTime%20desc">RTV</a></td></tr></table>
</form>
</body>
</html>
Below is the code for the page that is not working:
<%@ Language=VBScript %>
<%
Server.ScriptTimeout = 180
%>
<html>
<form name="thisform" method="post">
<head><script type="text/javascript">setTimeout(' document.location=document.location' ,120000);</script>
<link rel="stylesheet" type="text/css" href="../innova.css">
<% Response.Buffer %>
<script id="DebugDirectives" runat="server" language="javascript">
// Set these to true to enable debugging or tracing
@set @debug=true
@set @trace=true
</script>
</head>
<body>
<table>
<tr>
<td width="250"><img height="95" src="../index_01.gif" width="237"></td>
<td><p><font size="6"><font face="Arial">DMR PLANNING EDIT</font></td><td>
<%
On error resume Next
Dim i,conn,rs,sortitem,sortorder,mykey,myarr(),cnt,myarr2(),k,myNotes,n,sql,c,href(12,3),f,j,approved(), myarr3(),hr,dups(),SString,firstKey
sortorder=""
sortitem=""
sql="SELECT username, password FROM dbo.DMR_LOGIN"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
temp=0
do until rs.EOF or temp=1
if Request.Cookies("planninguser")=rs("username") and Request.Cookies("planningpassword")=rs("password") then
temp = 1
end if
rs.MoveNext
loop
conn.close
If temp <> 1 then
Response.Redirect "login.asp"
else
Response.Write("<td style='font-size:10pt'>Logged in as: "&Request.Cookies("planninguser")&"<br><a href='../DMR_Planning.asp?l=1&sortby=ActionTime%20desc'>Logout</a> <a href='users.asp'>Manage Users</a></td></tr></table></tr></table>")
End If
sesarr = session("keys")
sesarr2 = session("status")
cnt2=1
k=0
l=0
m=0
If Request.QueryString("clear")>0 Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
if CStr(left(request.QueryString("clear"),2))=CStr("P-") then
part=right(request.QueryString("clear"),len(request.QueryString("clear"))-2)
lot=right(part,(len(part)-InStr(part, "$")))
part=left(part,(len(part)-len(lot))-1)
sql="SELECT DISTINCT dbo.IN_COMPONENTREQUEST.XLOT_ID FROM dbo.IN_COMPONENTREQUEST INNER JOIN dbo.QS_LOT ON dbo.IN_COMPONENTREQUEST.XLOT_ID = dbo.QS_LOT.XUNIQUEKEY WHERE (dbo.QS_LOT.XLOT = '"&lot&"')"
'Response.Write(sql)
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
lot=rs.Fields.item("XLOT_ID")
rs.close
'GET THE LIST OF KEYS TO UPDATE
sql="SELECT XUNIQUEKEY FROM dbo.IN_COMPONENTREQUEST WHERE (XLOT_ID = '"&lot&"') AND (XPARTNUMBER = '"&part&"') AND (XSTATUS = "&Request.querystring("Status")&") ORDER BY DMR_NUMBER"
'Response.Write(sql)
rs.Open sql, conn
do until rs.EOF
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '', XLASTUSER='"&Request.Cookies("planninguser")&"' WHERE XUNIQUEKEY = '"&rs.Fields.Item("XUNIQUEKEY")&"'"
'Response.Write("<br>"&sql&"<br>")
conn.Execute(sql)
rs.movenext
loop
rs.close
else
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '', XLASTUSER='"&Request.Cookies("planninguser")&"' WHERE XUNIQUEKEY = '"&Request.querystring("clear")&"'"
'Response.Write(sql)
conn.Execute(sql)
End If
conn.close
if Request.QueryString("Separate") then
S="&Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&left(request.QueryString("Status"),2)
else
S=""
end if
'Response.Redirect strURL&"?sortby="&Request.QueryString("sortby")&S
End if
'/\\/\/'\/\/\//\\//\\//\//\/\/\/\/\/\/\/\\//\\\\\\\\/\/\//\/\\/\//\/\/\/\/\/\/\/\
'/\//\/\/\/\/\/\/\/\\//\/\\//\/\\/\/\/\/\//\/\/\/\/\/\\//\/\\/\//\/\\/\//\/\/\/\/\
';\'\'\'\'\'\'\'\'\'\'\'\\///\\/\/\/\/\//\/\//\/\\/\/\//\/\\''\\''\\'\'\'\''\''\'\
If Request.Form.Count > 0 Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
' ////////////////// CREATE AN ARRAY OF ALL ORIGINAL VALUES
sql="SELECT XNOTES, XSTATUS, XUNIQUEKEY FROM dbo.IN_DMR_PLAN_VIEW2"
'Response.Write(sql)
rs.Open sql, conn
do until rs.EOF
l=l+1
redim preserve qArray(3,l)
qArray(1,l)=rs.fields.item("XUNIQUEKEY")
qArray(2,l)=rs.fields.item("XSTATUS")
' Response.Write(len(rs.fields.item("XNOTES")))
if len(rs.fields.item("XNOTES"))<1 then
qArray(3,l)=""
else
qArray(3,l)=rs.fields.item("XNOTES")
end if
rs.movenext
'Response.Write(qArray(1,l)&"<br>")
loop
rs.close
for i=1 to (UBound(sesarr))
' ////////////////// CREATE AN ARRAY OF ALL SUBMITTED KEYS
if CStr(left(sesarr(i),2))=CStr("P-") then
part=right(sesarr(i),len(sesarr(i))-2)
lot=right(part,(len(part)-InStr(part, "$")))
part=left(part,(len(part)-len(lot))-1)
sql="SELECT DISTINCT dbo.IN_COMPONENTREQUEST.XLOT_ID FROM dbo.IN_COMPONENTREQUEST INNER JOIN dbo.QS_LOT ON dbo.IN_COMPONENTREQUEST.XLOT_ID = dbo.QS_LOT.XUNIQUEKEY WHERE (dbo.QS_LOT.XLOT = '"&lot&"')"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
lot=rs.Fields.item("XLOT_ID")
rs.close
sql="SELECT XUNIQUEKEY FROM dbo.IN_COMPONENTREQUEST WHERE (XLOT_ID = '"&lot&"') AND (XPARTNUMBER = '"&part&"') AND (XSTATUS = "&sesarr2(i)&")"
'Response.Write("<bR>"&sql&"<br>")
rs.Open sql, conn
do until rs.EOF
k=k+1
redim preserve sArray(3,k)
sArray(1,k)=rs.fields.item("XUNIQUEKEY")
sArray(2,k)=Request.Form("XSTATUS")(i)
if len(cstr(Request.Form("XNOTES")(i)))<1 then
sArray(3,k)=""
else
sArray(3,k)=Request.Form("XNOTES")(i)
end if
rs.movenext
'Response.Write(sArray(1,k)&"<br>")
loop
rs.close
else
k=k+1
redim preserve sArray(3,k)
sArray(1,k)=sesarr(i)
sArray(2,k)=Request.Form("XSTATUS")(i)
if len(cstr(Request.Form("XNOTES")(i)))<1 then
sArray(3,k)=""
else
sArray(3,k)=Request.Form("XNOTES")(i)
end if
'Response.Write(sArray(1,k)&"<br>")
end if
next
'Response.Write(k&"---"&l)
for i=1 to k
for j=1 to l
if sArray(1,i)=qArray(1,j) then
'Response.Write("<br>"&sArray(1,i)&" - - - - - "&qArray(1,j)&"<br>")
'Response.Write("<br>"&sArray(2,i)&" - - - - - "&qArray(2,j)&"<br>")
'Response.Write("<br>"&sArray(3,i)&" - - - - - "&qArray(3,j)&"<br>")
if cint(sArray(2,i))<>cint(qArray(2,j)) or cstr(sArray(3,i))<>cstr(qArray(3,j)) and cstr(sArray(3,i)) > "" then
if cint(sArray(2,i))<>cint(qArray(2,j)) and cstr(sArray(3,i))<>cstr(qArray(3,j)) then
'Response.Write("BOTH")
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '"&now&": "&sArray(3,i)&"'+char(13)+char(10)+'"&qArray(3,j)&"', XLASTUSER='"&Request.Cookies("planninguser")&"', XSTATUS='"&sArray(2,i)&"' WHERE XUNIQUEKEY = '" & sArray(1,i) & "'"
else
if cint(sArray(2,i))<>cint(qArray(2,j)) then
'Response.Write("status only")
sql="UPDATE IN_COMPONENTREQUEST SET XLASTUSER='"&Request.Cookies("planninguser")&"', XSTATUS='"&sArray(2,i)&"' WHERE XUNIQUEKEY = '" & sArray(1,i) & "'"
end if
if cstr(sArray(3,i))<>cstr(qArray(3,j)) then
'Response.Write("notes only")
sql="UPDATE IN_COMPONENTREQUEST SET XNOTES = '"&now&": "&sArray(3,i)&"'+char(13)+char(10)+'"&qArray(3,j)&"', XLASTUSER='"&Request.Cookies("planninguser")&"' WHERE XUNIQUEKEY = '" & sArray(1,i) & "'"
end if
end if
'Response.Write("<br>"&sql)
conn.Execute(sql)
end if
end if
next
next
conn.close
End If
%>
<table><tr><td><a href="../DMR_Request.asp?sortby=ActionTime%20desc">Stockroom Requests</a><td><a href="../DMR_Planning.asp?sortby=ActionTime%20desc">Planning Status</a> </td><td><a href="../DMR_Issued.asp?sortby=ActionTime%20desc">Issued Components</a></td><td><a href="../DMR_Deleted.asp?sortby=ActionTime%20desc">Deleted Requests</a></td><td><a href="DMR_Purchasing.asp?sortby=ActionTime%20desc">Purchasing</a></td><td><a href="DMR_RTV.asp?sortby=ActionTime%20desc">RTV</a></td></tr></table>
<table><tr><td width="20px"><h6><input type="submit" value=" Submit " class="submit" name="submit1"></h6></td><td><h6>Click <img src="../exp_plus.gif" WIDTH="10" HEIGHT="10"> below to Separate groups. To regroup click <a href="<%=Request.ServerVariables("URL")%>?sortby=<%=Request.QueryString("sortby")%>">here.</a></h6></td><td><a href='controls.asp'>Manage Fields</a></td><td><input type="button" value=" Manual DMR " onclick="location.href='//innova-8/webdmr/dmr_entry.asp'" name="submit1"></td></tr></table>
<input id="savedsql" name="savedsql" type="hidden" value="<%=sql2use%>">
<input id="sqlwhere2use" name="sqlwhere2use" type="hidden" value="<%=sqlwhere2use%>">
<%
' CREATE ARRAY OF DUPLICATES SO THAT THEY CAN BE COLLAPSED
sql="SELECT * FROM CollapsedQTY"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
cnt=0
do until rs.EOF
' Response.Write(rs.Fields.Item("XPARTNUMBER")&Request.QueryString("Separate")&rs.Fields.Item("XSTATUS")&Request.Querystring("Status"))&rs.Fields.Item("XLOT")&Request.QueryString("Lot")&"<br>")
if NOT(rs.Fields.Item("XPARTNUMBER")=Request.QueryString("Separate") and rs.Fields.Item("XSTATUS")=cint(Request.Querystring("Status")) and rs.Fields.Item("XLOT")=Request.QueryString("Lot")) then
cnt=cnt+1
reDim preserve dups(5,cnt)
dups(1,cnt)=rs.Fields.Item("XPARTNUMBER")
dups(2,cnt)=rs.Fields.Item("XLOT")
dups(3,cnt)=rs.Fields.Item("MyQty")
dups(4,cnt)=0
dups(5,cnt)=rs.Fields.Item("XSTATUS")
end if
rs.MoveNext
' Response.Write(cnt&" ' ' ' "&dups(1,cnt)&" ' ' ' "&dups(2,cnt))
loop
dupsamt=cnt
rs.close
If Request.QueryString("SortBy") <> "" Then
sortitem = Left(trim(Request.querystring("sortby")),Instr(1,Request.querystring("sortby")," ")-1)
sortorder = right(trim(Request.querystring("sortby")),Len(Request.querystring("sortby")) - Instr(1,Request.querystring("sortby")," ")+1)
sql = "SELECT * FROM IN_DMR_PLAN_VIEW2" & " Order By "& Request.querystring("sortby")
else
sql="SELECT * FROM IN_DMR_PLAN_VIEW2"
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Techno_72","sa",""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn
' Response.Write "Current Sort Item: " & sortitem & ", Length: " & Len(sortitem) & "<BR>"
' Response.Write "Current Sort Order: " & sortorder & ", Length: " & Len(sortorder) & "<BR>"
' Response.Write sql
%><div class=m2><table cellpadding=2 cellspacing=0><%
b="./DMR_Planning_MOD.asp?"
if Request.QueryString("Separate") then
b="./DMR_Planning_MOD.asp?Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&Request.QueryString("Status")&"&"
end if
sql2="SELECT dbo.IN_USER_COLUMNS.* FROM dbo.IN_USER_COLUMNS WHERE (USERNAME = '"&Request.Cookies("planninguser")&"')"
set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.Open sql2, conn
t=0
if NOT rs2.EOF then
if rs2.Fields.Item("DMR_NUMBER") then
t=t+1
href(t,1)="DMR_NUMBER"
href(t,3)="DMR#"
end if
if rs2.Fields.Item("XSTATUS") then
t=t+1
href(t,1)="XSTATUS"
href(t,3)="Action"
end if
if rs2.Fields.Item("ACTION_TIME") then
t=t+1
href(t,1)="ActionTime"
href(t,3)="Action Time"
end if
if rs2.Fields.Item("SUBMITTED") then
t=t+1
href(t,1)="XREQUESTTIME"
href(t,3)="Submitted"
end if
if rs2.Fields.Item("WO") then
t=t+1
href(t,1)="XLOT"
href(t,3)="WO"
end if
if rs2.Fields.Item("PART_NUMBER") then
t=t+1
href(t,1)="XPARTNUMBER"
href(t,3)="Part #"
end if
if rs2.Fields.Item("DESCRIPTION") then
t=t+1
href(t,1)="XDESCRIPTION"
href(t,3)="Description"
end if
if rs2.Fields.Item("SUBMITTED_BY") then
t=t+1
href(t,1)="XINSPECTUSER"
href(t,3)="By"
end if
if rs2.Fields.Item("LOCATION") then
t=t+1
href(t,1)="XSTATION"
href(t,3)="Location"
end if
if rs2.Fields.Item("SN") then
t=t+1
href(t,1)="XSERIALNUMBER"
href(t,3)="S/N"
end if
if rs2.Fields.Item("ASSEMBLY") then
t=t+1
href(t,1)="XPRODUCT"
href(t,3)="Assembly"
end if
if rs2.Fields.Item("REV") then
t=t+1
href(t,1)="XREVISION"
href(t,3)="Rev"
end if
rs2.close
else
Response.Redirect("http://innova-8/WEBDMR/planning/login.asp")
end if
for i=1 to 12
if sortitem = href(i,1) then
if sortorder = " desc" then
href(i,2)=b&"sortby="&href(i,1)&"%20asc"
f="<div class=desc>"
f2="</div>"
else
href(i,2)=b&"sortby="&href(i,1)&"%20desc"
f="<div class=asc>"
f2="</div>"
end if
else
href(i,2)=b&"sortby="&href(i,1)&"%20desc"
f=""
f2=""
end if
Response.Write("<th><A href='"&href(i,2)&"'>"&f&href(i,3)&"</a></th>")
next
Response.Write("</tr>")
cnt=1
cnt2=1
j=1
do until rs.EOF
' Collpase duplicates
act=0
for i=1 to dupsamt
'Response.Write(dups(1,i)&" ' ' ' '"&rs.Fields.Item("XPARTNUMBER")&" ' ' ' '"&dups(2,i)&" ' ' ' '"&rs.Fields.Item("XLOT"))
if rs.Fields.Item("XPARTNUMBER")=dups(1,i) AND rs.Fields.Item("XLOT")=dups(2,i) AND rs.Fields.Item("XSTATUS")=dups(5,i) then
if (dups(4,i)=0) then
' Response.Write(dups(1,i)&" ' ' ' '"&rs.Fields.Item("XPARTNUMBER")&" ' ' ' '"&dups(2,i)&" ' ' ' '"&rs.Fields.Item("XLOT"))
act=1
dups(4,i)=1
MQTY=dups(3,i)
else
if (dups(4,i)=1) then
act=2
end if
end if
end if
next
if act<2 then
if hr then
%>
<tr><td colspan="12"><br><hr></td></tr>
<%
end if
hr=1
reDim Preserve myarr2(cnt)
myarr2(cnt)=rs("XSTATUS")
cnt2=cnt2+2
if (rs.Fields.Item("XPARTNUMBER")=Request.querystring("Separate") AND rs.Fields.Item("XLOT")=Request.QueryString("Lot") and rs.Fields.Item("XSTATUS")=cint(Request.QueryString("Status"))) then
Response.Write("<tr class='high'>")
else
Response.Write("<tr>")
end if
mykey=rs("XUNIQUEKEY")
for j=1 to t
select case href(j,1)
case "DMR_NUMBER"
if act=1 then
Response.Write("<td><a href='//innova-8/webdmr/Planning/DMR_Planning_MOD.asp?Separate="&rs.Fields.Item("XPARTNUMBER")&"&Status="&rs.Fields.Item("XSTATUS")&"&Lot="&rs.Fields.Item("XLOT")&"&sortby="&Request.QueryString("sortby")&"'><img src='../exp_plus.gif'></a><a href='//innova-8/webdmr/dmr_retrieve_multi.asp?part="&rs.Fields.Item("XPARTNUMBER")&"&Lot="&rs.Fields.Item("XLOT")&"&Status="&rs.Fields.Item("XSTATUS")&"&sortby="&Request.QueryString("sortby")&"'>"&MQTY&"_DMRs</a></td>")
else
Response.Write("<td><a href='//innova-8/webdmr/dmr_retrieve.asp?dmr="&rs.Fields.Item(href(j,1))&"'>"&rs.Fields.Item(href(j,1))&"</a></td>")
end if
case "XSTATUS"
ReDim Preserve myarr(cnt)
if act=1 then
myarr(cnt)="P-"&rs.Fields.Item("XPARTNUMBER")&"$"&rs.Fields.Item("XLOT")
else
myarr(cnt)=mykey
end if
temp=myarr(cnt)
cnt=(1+cnt)
select case rs.Fields.Item(href(j,1))
case 6
%><td><select id="S_<%Response.Write(mykey)%>" name="XSTATUS" size="1"><option value="6"> HOLD </option> <option value="4"> APPROVE </option> <option value="7"> DELETE </option><option value="8">PURCHASING</option><option value="9">RTV</option></select></td><%
case 10
%><td><select id="S_<%Response.Write(mykey)%>" name="XSTATUS" size="1"><option value="10"> ORDERED </option> <option value="6"> HOLD </option> <option value="4"> APPROVE </option> <option value="7"> DELETE </option><option value="8">PURCHASING</option><option value="9">RTV</option> </select></td><%
case else
%><td><select id="S_<%Response.Write(mykey)%>" name="XSTATUS" size="1"><option value="5"> PLANNING </option> <option value="6"> HOLD </option> <option value="4"> APPROVE </option> <option value="7"> DELETE </option><option value="8">PURCHASING</option><option value="9">RTV</option> </select></td><%
end select
case "XNOTES"
if Request.QueryString("Separate") then
S="Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&Request.QueryString("Status")
else
S="Status="&rs.Fields.Item("XSTATUS")&"&Lot="&Request.QueryString("Lot")
end if
if (rs.Fields.Item("XPARTNUMBER")=Request.querystring("Separate") AND rs.Fields.Item("XLOT")=Request.QueryString("Lot") and rs.Fields.Item("XSTATUS")=cint(Request.QueryString("Status"))) then
Response.Write("</tr><tr class='high'><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item(href(j,1))&"</TEXTAREA></td>")
else
Response.Write("</tr><tr><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item(href(j,1))&"</TEXTAREA></td>")
end if
case"XLASTUSER"
Response.Write("<td colspan=3><h5><br>Last Action By:<br>"&rs.Fields.Item(href(j,1))&"</h5></tr>")
case else
Response.Write("<td>")
Response.Write(rs.Fields.Item(href(j,1)))
Response.Write("</td>")
end select
next
if Request.QueryString("Separate") then
S="Separate="&Request.QueryString("Separate")&"&Lot="&Request.QueryString("Lot")&"&Status="&Request.QueryString("Status")
else
S=""
end if
if (rs.Fields.Item("XPARTNUMBER")=Request.querystring("Separate") AND rs.Fields.Item("XLOT")=Request.QueryString("Lot") and rs.Fields.Item("XSTATUS")=cint(Request.QueryString("Status"))) then
Response.Write("</tr><tr class='high'><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item("XNOTES")&"</TEXTAREA></td>")
else
Response.Write("</tr><tr><td><p>Notes:</p></td><td colspan='8'><TEXTAREA name='XNOTES' style='WIDTH: 95%; HEIGHT: 38px' name=textarea1 cols=52>"&rs.Fields.Item("XNOTES")&"</TEXTAREA></td>")
end if
Response.Write("<td colspan='3'><h5><br>Last Action By:<br>"&rs.Fields.Item("XLASTUSER")&"</h5></tr>")
end if
rs.MoveNext
loop
session("keys")=myarr
session("status")=myarr2
%>
</table>
<input type="submit" value=" Submit " class="submit" name="submit2">
<table>
</table></div>
<table><tr><td><a href="../DMR_Request.asp?sortby=ActionTime%20desc">Stockroom Requests</a><td><a href="../DMR_Planning.asp?sortby=ActionTime%20desc">Planning Status</a> </td><td><a href="../DMR_Issued.asp?sortby=ActionTime%20desc">Issued Components</a></td><td><a href="../DMR_Deleted.asp?sortby=ActionTime%20desc">Deleted Requests</a></td><td><a href="DMR_Purchasing.asp?sortby=ActionTime%20desc">Purchasing</a></td><td><a href="DMR_RTV.asp?sortby=ActionTime%20desc">RTV</a></td></tr></table>
</form>
</body>
</html>