|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 wu-liu 于 2010/6/8 15:14 编辑
在easyflow中,ITEM_AfterApprove.asp的程序如下:
問題是這個程序一直在執行,好像死循環,停不下來,
但我不知道程序那里出錯,誰幫我看一看,感謝!
<%@ Language=VBScript %>
<%Response.Buffer = True%>
<%Response.CacheControl ="no-cache"%>
<%Response.Expires=-1%>
<%
'==================================================================================
'==================================================================================
'專案名稱: EasyFlow 2000 Web Plus
'程式名稱: ITEM_AfterApprove.asp
'程式版本: 9.01.0001
' 撰寫者: 劉武 - A080329
'撰寫日期: 2010/05/25
'
'版權聲明: Copyright(c) 2001, 鼎新電腦股份有限公司 版權所有 (02)8667-2776
' 本電腦程式受著作權法及國際公約保護。
' 凡未經授權擅自複製或散佈本程式的全部或部分,將遭受最嚴厲的民、刑事處分。
'
'==================================================================================
'==================================================================================
%>
<%
call AfterFlowApprove
'*********************************************************************
'程序名稱: AfterFlowApprove()
' 執行表單簽核之後續處理作業
'
'程序說明: 您可以在這裡寫下表單簽核之後續處理作業的程式碼。
'*********************************************************************
Sub AfterFlowApprove()
On Error resume next
dim rstTRFormProperty
set rstTRFormProperty = Session("rstTRFormProperty")
if Request("UndoApprove") = "Y" then '撤簽後,執行本段程式碼.
else
dim strSQL,objDBA,rs,strConn,sq,objDB,objRE,rstITEM
dim v_radio3,v_select1,v_itemid
dim i,n
set objRE = CreateObject("EF2KEngine.Class1")
set objDB = Server.CreateObject("EF2KPublic.Database")
sq="select * from item_m where item_m001 ='" & Session("FormID") & "' and item_m002='" & Session("SheetNo") & "'"
set rstITEM = objDB.CreateRecordset(sq, Session("strProcID"))
v_radio3 = left(trim(rstITEM("radio3").value),1)
v_itemid = trim(rstITEM("itemid").value)
v_select1 = trim(rstITEM("select1").value)
if v_radio3 = "B" then
strConn= "DSN=test;UID=apps WD=apps"
set objDBA = Server.CreateObject("EF2KPublicA.DatabaseA")
strSQL = "select * from mtl_system_items_interface "&_
" where organization_id <> 82 and item_number = '" & v_itemid & "'"
' strSQL = "select organization_id,item_number,transaction_type,last_update_date,last_updated_by, "&_
' " creation_date,created_by,inventory_item_status_code,process_flag,set_process_id "&_
' " from mtl_system_items_interface "&_
' " where organization_id <> 82 and item_number = '" & v_itemid & "'"
set rs = objDBA.CreateRecordsetA(strSQL,strConn)
if rs.eof = false then
do while not rs.eof
rs("transaction_type") = "UPDATE"
rs("last_update_date") = DATE()
rs("last_updated_by") = -1
rs("creation_date") = DATE()
rs("created_by") = -1
rs("inventory_item_status_code") = v_select1
rs("process_flag") = 1
rs("set_process_id") = 1
set rs = objDBA.UpdateRecordsetA(rs,strConn)
rs.movenext
loop
end if
end if
'您可以使用 Session("blnCaseClosed") 來判斷表單是否已經結案.
'if Session("blnCaseClosed") = True then
' '=======>>已經結案
' '您可以使用 rstTRFormProperty("resda021") 來判斷簽核的結果
' select case rstTRFormProperty("resda021")
' case 2 '2=同意
' '範例: 新增一筆資料到系統Default資料庫中的 table1
' dim objDB,rs
' set objDB = Server.CreateObject("EF2KPublic.Database")
' set rs = objDB.CreateRecordset("select * from table1 where (1=2)",Session("strProcID"))
' rs.AddNew
' rs("fld1") = "AAA"
' rs("fld2") = "BBB"
' set rs = objDB.UpdateRecordset(rs,Session("strProcID"))
'
' '範例: 新增一筆資料到外部資料庫的 table1 (使用自訂連線字串,支援Transaction)
' dim objDB,rs,strConn
' strConn = "driver={SQL Server};server=(local);database=DB1"
' set objDB = Server.CreateObject("EF2KPublic.Database")
' set rs = objDB.CreateRecordsetB("select * from table1 where (1=2)",strConn)
' rs.AddNew
' rs("fld1") = "AAA"
' rs("fld2") = "BBB"
' set rs = objDB.UpdateRecordsetB(rs,strConn)
'
' '範例: 新增一筆資料到外部資料庫的 table1 (使用自訂連線字串,不支援 Microsoft Transaction Server)
' dim objDBA,rs,strConn
' strConn = "dsn=AccessDB;uid=admin;pwd="
' set objDBA = Server.CreateObject("EF2KPublicA.DatabaseA")
' set rs = objDBA.CreateRecordsetA("select * from table1 where (1=2)",strConn)
' rs.AddNew
' rs("fld1") = "AAA"
' rs("fld2") = "BBB"
' set rs = objDBA.UpdateRecordsetA(rs,strConn)
' case 3 '3=不同意
' case 4 '4=已抽單
' end select
'else
' '=======>>尚未結案
'end if
end if
If Err.Number <> 0 Then
strErrReason = "執行表單簽核之後續處理作業時發生錯誤. (AfterFlowApprove)"
Response.Redirect "../Error.asp?ErrReason=" & strErrReason & "&ErrorSource=" & Err.source & "&ErrNumber=" & Err.Number & "&ErrDesc=" & Err.Description & n &"&blnHistoryBack=FALSE"
else
Response.Redirect "../SendResult.asp"
End If
End Sub
%>
|
|