umaexpert
asked on
Scope of Dictionary object across multiple servers, HTTP Header??? Please help me out. I am new to ASP.
Hi, can anybody help me out..
To access multiple servers, session value has no scope. Hence, I am using dictionary object to store session values to maintain sessions. But as the dictionary object loses scope on click of submit to the next page, how do i refer the dictionary object in subsequent pages ?? or how do I maintain session value stored in dictionary object across multiple servers??. please give me solutions
===purchaseorder3.asp====
<!-- #include file="../include/validate. asp" -->
<!-- #include file="../include/lblObject tag.inc" -->
<!-- #include file="../SessionManager.in c" -->
<%
If UCase(Triamun_Session("Lan guage")) = "E" Then%>
<!-- #include file="../include/english/P urchaseOrd er3_e.inc" -->
<!-- #include file="../include/english/Q cd1_e.inc" -->
<% ElseIf UCase(Triamun_Session("Lan guage")) = "G" Then%>
<!-- #include file="../include/german/Pu rchaseOrde r3_g.inc"- ->
<!-- #include file="../include/german/Qc d1_g.inc"- ->
<% ElseIf UCase(Triamun_Session("Lan guage")) = "F" Then%>
<!-- #include file="../include/french/Pu rchaseOrde r3_f.inc"- ->
<!-- #include file="../include/french/Qc d1_f.inc"- ->
<% End If
'----- block to avoid caching
Response.Buffer = true
Response.AddHeader"pragma" ,"nocache"
Response.Expires=0
Response.Addheader"expires ",now
' Declaration of Variables to Hold the Screen Labels
Dim lblScreenTitle, lblPurchaseOrderNumber, lblSupplier, lblSupplierCode, lblStatus, lblOrderDate, lblOrderTime
Dim lblTransmissionTime, lblDeliveryDate, lblDeliveryTime, lblModeOfPO, lblPaymentTerm, lblTransmissionDate
Dim lblModeOfTransmission, lblTotalValue, lblSalesRep, lblRemark, lblTotalNumberOfLineItems, lblSrNo, lblSelect
Dim lblSelectTitle, lblItemType, lblItemDescription, lblStockQuantity, lblMinStockQuantity, lblMaxStockQuantity
Dim lblOpenOrderQuantity, lblOrderQuantity, lblBonus, lblTotal, lblRateInCHF, lblValueOfLine
Dim lblSpecialOfferIndicator, lblCustomerIndicator, lblControlled, lblControlledTitle, lblNonMovingItem
Dim lblNonMovingItemTitle, lblDelete, lblDeleteTitle, lblSelectAllForControlled, lblUnSelectAllForControlle d
Dim lblCreatedBy, lblModifiedBy, lblOn, lblSearch, lblSearchPurchaseOrder, lblSearchSupplier, lblStockQuantityTT
Dim lblMinStockQuantityTT, lblMaxStockQuantityTT, lblOpenOrderQuantityTT, lblSpecialOfferIndicatorTT , lblItemTypeTT
Dim lblDeliverySlip, lblRef, lblGo
' Declaration of Variables to Hold the Labels on Buttons, Warning Messages
Dim lblFetch, lblCreate, lblModify, lblAuthorise, lblAccept, lblTransmit, lblReset, lblChangeSupplier
Dim lblPrint, lblRePrint, lblClose, lblClear, lblShortClose, lblTransmissionLog, lblPartnerDefinedData
Dim lblStatistics, lblPurchaseOrders, lblPurchaseOrder, lblDuplicateItemsTitle, lblDuplicateItemsWarning
Dim lblAddToExistingLine, lblDeleteTheDuplicateLine, lblCancel
' Declaration of Variables to get Session Values
Dim varPartnerName, varUserName, sPARTNERID, sCON, sLANGID, errObject, errFileName, varPartnerType
Dim varDaysForNonMovingItem, ACTION, varFromScreen, varPONumber, varSalesOrderNo, varStatusOfPOBeforeUpdate
Dim varPOType, varPOAmount, varPrintFlag, varRecordCreationLabel
Dim varSupplierCode, varSupplierDescription, varPOTransmissionMode, varPODeliveryDate, varPODeliveryTime
Dim varPODate, varPOTime, varPOTransmissionTime
' CCH Help Variables
Dim CCHQueryForSupplier, varQCDForCCHSupplierStatus , varComboForCCHSupplierStat us
' Get Session Values
Set errObject = Application("ErrObject")
errFileName = Session("FEErrMsgFile")
sPARTNERID = Triamun_Session("nPartnerI d")
varPartnerName = Triamun_Session("strPartne rName")
varUserName = Triamun_Session("strUserNa me")
sCON = Application("strODBC")
sLANGID = Triamun_Session("Language" )
varDaysForNonMovingItem = Session("PRT010") ' No of Days for an Item to become Non-Moving
varPartnerType = Trim(Triamun_Session("strP artnerType "))
If varDaysForNonMovingItem = "" Then varDaysForNonMovingItem = 0
' Declaration of Array variables for PO Detail
Dim arrMultiline
' Query String Values
ACTION = Trim(Request.QueryString(" mode"))
varPONumber = Trim(Request("txtPONumber" ))
varFromScreen = Trim(Request("mFromScreen" ))
varSalesOrderNo = Trim(Request("mSalesOrderN o"))
varStatusOfPOBeforeUpdate = Trim(Request.QueryString(" POStatus") )
' Set Default Values for Screen if they are empty
If varPOType = "" Then varPOType = "M" End If
If varPOAmount = "" Then varPOAmount = "0.00" End If
If varPrintFlag = "" Then varPrintFlag = "N" End If
' -------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------
' Creating the Query for CCH for Supplier and encoding it
' -------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------
CCHQueryForSupplier = "SELECT CVM.Customer_Vendor_Name AS 'CVM.Customer_Vendor_Name' , "
CCHQueryForSupplier = CCHQueryForSupplier & " CVM.Customer_Vendor_Code AS 'CVM.Customer_Vendor_Code' , "
CCHQueryForSupplier = CCHQueryForSupplier & " ISNULL(PA.Electronic_Flag, 'M') AS 'PA.Electronic_Flag', "
CCHQueryForSupplier = CCHQueryForSupplier & " CVM.Status AS 'CVM.Status' "
CCHQueryForSupplier = CCHQueryForSupplier & " FROM IIICustomer_Vendor_Master CVM (NOLOCK), "
CCHQueryForSupplier = CCHQueryForSupplier & " IIIPurchase_Agreements PA (NOLOCK)"
CCHQueryForSupplier = CCHQueryForSupplier & " WHERE CVM.Partner_Id *= PA.Partner_Id "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Customer_Vendor_Type != 'C' "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Customer_Vendor_Type != 'P' "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Customer_Vendor_Code *= PA.Wholesaler_Code "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Partner_Id = " & sPARTNERID
CCHQueryForSupplier = Server.URLEncode(CCHQueryF orSupplier )
' Loop for populating the Supplier status in a QCD
For cntr = 0 to UBound(arrCustVendStatus, 1)
varQCDForCCHSupplierStatus = varQCDForCCHSupplierStatus & "~~" & arrCustVendStatus(cntr,0) & "~" & arrCustVendStatus(cntr,1)
varComboForCCHSupplierStat us = varComboForCCHSupplierStat us & "~~" & arrCustVendStatus(cntr,1) & "~" & arrCustVendStatus(cntr,0)
Next
varQCDForCCHSupplierStatus = Mid(varQCDForCCHSupplierSt atus, 3, Len(varQCDForCCHSupplierSt atus))
varComboForCCHSupplierStat us = Mid(varComboForCCHSupplier Status, 3, Len(varComboForCCHSupplier Status))
' -------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------
' For diplaying Record Created/Modified By ..
varRecordCreationLabel = lblCreatedBy & " <" & "" & "> " & lblOn & " <" & "" & ">, " & lblModifiedBy & " <" & "" & "> " & lblOn & " <" & "" & ">"
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''
' Fetch the Description for the First Preferred Wholesaler defined if any in the System Parameter
' and the Transmission Mode / Delivery Date & Time for the Wholesaler if any in Purchase Agreements
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''
If ACTION = "" Then Call FetchPreferredWholesalerAn dDeliveryT ime()
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME STARTS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
Function FetchPreferredWholesalerAn dDeliveryT ime()
varSupplierCode = Trim(Session("PRT016"))
If varSupplierCode <> "" Then
Dim arrParamList
Redim arrParamList(3,3)
' Input Parameter Partner_Id
arrParamList(0,0) = "@Partner_Id"
arrParamList(0,1) = "ANY_COUNT"
arrParamList(0,2) = "adParamInput"
arrParamList(0,3) = sPARTNERID
' Input Parameter Customer Vendor Code
arrParamList(1,0) = "@Customer_Vendor_Code"
arrParamList(1,1) = "ANY_NAME"
arrParamList(1,2) = "adParamInput"
arrParamList(1,3) = varSupplierCode
' Input Parameter Language
arrParamList(2,0) = "Lang"
arrParamList(2,1) = "ANY_FLAG"
arrParamList(2,2) = "adParamInput"
arrParamList(2,3) = sLANGID
Set objPURCHASEORDER = Server.CreateObject("IIIGe nericDataA ccess.IIIF etchGeneri c")
Set rstPURCHASEORDERHEADER = Server.CreateObject("ADODB .RecordSet ")
Set rstPURCHASEORDERHEADER = objPURCHASEORDER.FetchGene ricDataAcc essUsingSP (sCON, _
"IIIFetch_Wholesaler_And_D elivery_Ti me_For_PO" , arrParamList, _
nERRORNO, strERRORMESSAGE)
strERRORMESSAGE = ""
If CInt(nERRORNO) > 0 Then
varSupplierDescription = rstPURCHASEORDERHEADER.fie lds("Custo mer_Vendor _Name")
varPOTransmissionMode = rstPURCHASEORDERHEADER.fie lds("PO_Tr ansmission _Mode")
varPODeliveryDate = rstPURCHASEORDERHEADER.fie lds("Deliv ery_Date")
varPODeliveryTime = rstPURCHASEORDERHEADER.fie lds("Deliv ery_Time")
varPODate = rstPURCHASEORDERHEADER.fie lds("Curre nt_Date")
varPOTime = rstPURCHASEORDERHEADER.fie lds("Curre nt_Time")
varPOTransmissionTime = varPOTime
rstPURCHASEORDERHEADER.Clo se()
Set rstPURCHASEORDERHEADER = Nothing
End if
Erase arrParamList
Set objPURCHASEORDER = Nothing
End If
End Function
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME ENDS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' To Get the Language Code for CCH for BASLER TAXE Items
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
Function GetDEFAULTLANGUAGECODE(str LangId)
SELECT CASE UCase(strLangId)
CASE "E" : LANGUAGECODE = "0"
CASE "G" : LANGUAGECODE = "1"
CASE "F" : LANGUAGECODE = "2"
CASE "F" : LANGUAGECODE = "3"
END SELECT
GetDEFAULTLANGUAGECODE = LANGUAGECODE
End Function
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET THE QCD DESCRIPTION FOR THE QCD CODE AND THE QCD NAME PASSED STARTS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
Function GetQCDDESCRIPTIONFORCODE(s trQCDNAME, strCODE)
Dim cntr, arrTEMP
arrTEMP = Eval(strQCDNAME)
For cntr = 0 To UBound(arrTEMP, 1)
If strCODE = arrTEMP(cntr, 0) Then
GetQCDDESCRIPTIONFORCODE = arrTEMP(cntr, 1)
Exit Function
End If
Next
GetQCDDESCRIPTIONFORCODE = ""
End Function
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET THE QCD DESCRIPTION FOR THE QCD CODE AND THE QCD NAME PASSED ENDS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
%>
<HTML>
<HEAD>
<!-- Include JS Files -->
<LINK HREF="../include/galmenu3. css" REL="StyleSheet" TYPE="Text/css">
<SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/GALMENU.JS "></SCRIPT >
<SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/COMMON.JS" ></SCRIPT>
<!-- <SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/DROPDOWN.J S"></SCRIP T> -->
<SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/INTERFACES .JS"></SCR IPT>
<SCRIPT LANGUAGE="javascript" SRC="../INCLUDE/MULTILINEG RID.JS"></ SCRIPT>
<STYLE type="text/css">
#divPurchaseOrder
{
BEHAVIOR: url("../include/FPGRID.htc ")
}
</STYLE>
<!-- Client Side Script -->
<SCRIPT LANGUAGE="javascript">
var cntOUTOFSALEITEM = 0; //Counter for Out of sale Item ; A Global variable set to check On_Authorise() method is called
var objPODetailsXMLDOM = null;
var objPURCHASEORDER = null;
var strACTION = "";
var strPOModeArray = ""
var strItemHelpEnterRow = 0
// --------- Get all PO types in a string for later manupulation ---------/
<% For nCtr=0 to Ubound(POMode)-1 %>
strPOModeArray = strPOModeArray + "<%= POMode(nCtr,0) &"~~"& POMode(nCtr,1) &"~~~~"%>"
<% Next %>
// --------------------- Display the screen Title -----------------------/
window.parent.document.tit le = "Triamun " + "<%=lblScreenTitle%>" + " " + "<%=varPartnerName%>";
<%if varFromScreen = "" then%>
parent.frmMenu.writeit("<% =lblScreen Title%>");
<%end if%>
/************************* ********** ********** ********** ********** ********** ********** ********** ********** ****
CODE FOR ITEM DROPDOWN STARTS
************************** ********** ********** ********** ********** ********** ********** ********** ********** ****/
/*
var List1 = new Array()
var List1_FixedLength = 50
var foc1 = 0
var LocalFileFlag1 = true
var LocalFileFlag2 = false
var LocalFileName = "c:\\iii\\" + "<%=sPARTNERID%>" + "\\" + "<%=sLANGID%>" + "_FUI.txt"
var strItemHelpEnterRow = 0
/************************* ********** ********** ********** ******
Function to know cursor current location for Dropdown
************************** ********** ********** ********** ******/
/*function On_SetFocusValueForItemInM ultiline(i ntRowNumbe r, chrItemOrPatient, fldItemDescription, fldListBox)
{
var strItemType = document.frmPurchaseOrder. cboItemTyp e[intRowNu mber].valu e
if (strItemType == "I")
{
DDQfoc(intRowNumber, chrItemOrPatient, fldItemDescription, fldListBox);
foc2 = intRowNumber;
return;
}
}*/
/************************* ********** ********** ********** ********** ***
Function to fire when an Item is chosen from the Dropdown list
************************** ********** ********** ********** ********** ***/
/*function On_SelectionOfAnItemInFUID ropDown(in tIndexChos en)
{
docfrm = document.frmPurchaseOrder
if(intIndexChosen == 1)
{
if(!LocalFileFlag1) return
var fldListBox = docfrm.SearchList // Reference to the Listbox Object showing Dropdown
var fldItemDescription = docfrm.mItemDescription[fo c1] // Reference to the Object where dropdown is to be shown
if (fldListBox.value == "vv")
{
loadListOnEOL(fldItemDescr iption, fldListBox, intIndexChosen)
fldItemDescription.focus()
return
}
else if(fldListBox.value == "^^")
{
loadListOnBOL(fldItemDescr iption, fldListBox, intIndexChosen)
fldItemDescription.focus()
return
}
fldItemDescription.value = fldListBox.options[fldList Box.select edIndex].t ext
var strListValue = fldListBox.options[fldList Box.select edIndex].v alue
var arrDropDown = strListValue.split('~')
document.frmPurchaseOrder. mItemCode[ foc1].valu e = arrDropDown[0]
if ( document.frmPurchaseOrder. mItemCode[ foc1].valu e != "")
GetItemDetailsOnHelpEnter( "REGULARTA BLE","docu ment.frmPu rchaseOrde r","mItemD escription ,mItemCode ,mStockQua ntity,mMin StockQuant ity,mMaxSt ockQuantit y,mOpenOrd erQuantity ","2,1,7,1 6,17,22",d ocument.fr mPurchaseO rder.mItem Code[foc1] .value,foc 1,"hidOnFe tchItemDet ails~oncha nge")
fldItemDescription.focus() ;
}
}*/
/************************* ********** ****
Loads the Local File on Body Load
************************** ********** ****/
/*function On_LoadFUIFileOnBodyLoad()
{
DDFileload(LocalFileName, "document.frmPurchaseOrder .SearchLis t", 1)
}*/
/************************* ********** ********** ********** ********** ********** ********** ********** ********** ****
CODE FOR ITEM DROPDOWN ENDS
************************** ********** ********** ********** ********** ********** ********** ********** ********** ****/
var strColumnPassed = ""
var strFocusIsOn = ""
var intPOStatus = ""
var strFromScreen = "<%=varFromScreen%>"
var langid = "<%=sLANGID%>"
var intCurrentLine = ""
var winReport = ""
/************************* ********** ********** ********** ***
function to set the focus value to validate on submit
************************** ********** ********** ********** ***/
function On_SetFocusValue(strValue, intRowNumber)
{
strFocusIsOn = strValue
intCurrentLine = intRowNumber
}
/************************* ********** ******
Function to launch CCH For PO Number
************************** ********** ******/
function HelpForPONumber()
{
var strFileName = "help.asp?HELP_ID=59&Filte rValues=tx tPONumber"
launchhelp1(strFileName);
}
/************************* ********** ******
Function to launch CCH for Supplier
************************** ********** ******/
function HelpForSupplier()
{
var strFileName = "help.asp?From=document.fr mPurchaseO rder&field s=txtSuppl ierDescrip tion,txtSu pplierCode ,cboModeOf Transmissi on&Query=< %=CCHQuery ForSupplie r%>&Filter s=CVM.Cust omer_Vendo r_Name,CVM .Customer_ Vendor_Cod e,CVM.Stat us&Filterc olName=<%= lblSupplie r%>,<%=lbl SupplierCo de%>,<%=lb lStatus%>& Datatype=c ,c,c,c&Dis playName=< %=lblSuppl ier%>,<%=l blSupplier Code%>,<%= lblModeOfT ransmissio n%>,<%=lbl Status%>&D atabase=Pa rtner&Orde rByCols=CV M.Customer _Vendor_Na me,CVM.Cus tomer_Vend or_Code,CV M.Status&F ilterLengt h=40,40,10 &QCD=0,0,< %=varQCDFo rCCHTransm issionMode %>,<%=varQ CDForCCHSu pplierStat us%>&Combo =0,0,<%=va rComboForC CHSupplier Status%>&F ilterValue s=txtSuppl ierDescrip tion&Title =<%=lblSea rchSupplie r%>"
launchhelp1(strFileName);
}
/************************* ********** ***
Funtion to launch different CCH
************************** ********** ***/
function On_LaunchHelpLocal(strFile Name, strWindowName)
{
var winHelp
winHelp = window.open(strFileName, strWindowName, 'menubar=no,location=no,to olbar=no,r esizable=y es,scrollb ars=yes,to p=80,left= 0,width=10 20,height= 600')
winHelp.focus()
}
/************************* **********
Funtion to compare two dates
************************** ********** /
function On_CompareTwoDateTimeField s(fldFromD ate, fldToDate, fldFromTime, fldToTime, intValidationFlag)
{
var arrDate1 = (fldFromDate.value).toStri ng().split (".")
var arrDate2 = (fldToDate.value).toString ().split(" .")
var arrTime1 = GetTimeValue(fldFromTime). toString() .split(":" )
var arrTime2 = GetTimeValue(fldToTime).to String().s plit(":")
var dtFirstDate = new Date(arrDate1[2], arrDate1[1]-1, arrDate1[0], arrTime1[0], arrTime1[1])
var dtSecondDate = new Date(arrDate2[2], arrDate2[1]-1, arrDate2[0], arrTime2[0], arrTime2[1])
// Compare Date and Time
if (dtFirstDate.getTime() > dtSecondDate.getTime()) return false
else return true
}
/************************* ********** ********** ********** ****
Function to provide Help on enter for Item Description
************************** ********** ********** ********** ****/
function On_HelpOnEnterForItems(int RowNumber, nItemDescColIndex, strItemType, strItemEANCode)
{
var strFieldsList = ""
var strItemHelpQuery = ""
var strLanguageCode = ""
strItemHelpEnterRow = intRowNumber
/** This is not to allow ' qoute in Help enter **/
var strRegExp = /[']/ig;
if (strRegExp.test(strItemEAN Code))
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,305 )%>", "<%=lblItemTypeTT%>")
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(nItem DescColInd ex, intRowNumber)
return false;
}
if (strItemType == "I")
{
//CR006 - 116 -- added by Sriram
var strItemLaunchHelp = "";
var strFields = "";
var strFields_Help = "";
if (strItemEANCode.length <= 7) strItemEANCode = strItemEANCode.replace(/^0 +/,"")
//Get the Column Index of required columns needs to be passed to the Item Search
strFields += divPurchaseOrder.getColInd ex("sprHID DENITEMCOD E").toStri ng() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON").toStr ing() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprSTO CKQUANTITY ").toStrin g() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprMIN STOCKQUANT ITY").toSt ring() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprMAX STOCKQUANT ITY").toSt ring() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprOPE NORDERQUAN TITY").toS tring()
strFields_Help += divPurchaseOrder.getColInd ex("sprHID DENITEMCOD E").toStri ng() + "," ;
strFields_Help += divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON").toStr ing() + ",,,,,,,,,," ;
strFields_Help += divPurchaseOrder.getColInd ex("sprSTO CKQUANTITY ").toStrin g() + ",,," ;
strFields_Help += divPurchaseOrder.getColInd ex("sprITE MTYPE").to String() + ",," ;
strFields_Help += divPurchaseOrder.getColInd ex("sprMIN STOCKQUANT ITY").toSt ring() + "," ;
strFields_Help += divPurchaseOrder.getColInd ex("sprMAX STOCKQUANT ITY").toSt ring() + ",,,,,,," ;
strFields_Help += divPurchaseOrder.getColInd ex("sprOPE NORDERQUAN TITY").toS tring()
strItemLaunchHelp = "ITEMSEARCH.ASP?From=objPU RCHASEORDE R&StartTex t="+ intRowNumber +"&Fields="+ strFields_Help +"&ItemType=I"
On_ChangeItemDescription(i ntRowNumbe r)
GetItemDetailsOnHelpEnter( "GRID","ob jPURCHASEO RDER",strF ields,"1,2 ,7,16,17,2 2",strItem EANCode,in tRowNumber ,"hidOnFet chItemDeta ils~onchan ge","","", "","",""," ",strItemL aunchHelp)
}
else
{
// Get the language code for the logged in language
if(langid == 'E')
strLanguageCode = "0"
else if(langid == 'F')
strLanguageCode = "2"
else if(langid == 'G')
strLanguageCode = "1"
else if(langid == 'I')
strLanguageCode = "3"
strFieldsList = "sprITEMDESCRIPTION,sprHID DENITEMCOD E,sprSTOCK QUANTITY,s prMINSTOCK QUANTITY,s prMAXSTOCK QUANTITY,s prOPENORDE RQUANTITY, sprRATEINC HF"
strItemHelpQuery += " SELECT Description, BaslerTaxeKey, 0, 0, 0, 0, DBO.IIIRoundPrice(0.00) "
strItemHelpQuery += " FROM IIIBasler_Taxe (NOLOCK) "
strItemHelpQuery += " WHERE BaslerTaxeKey = '" + strItemEANCode + "'"
strItemHelpQuery += " AND Language_Code = '" + strLanguageCode + "'"
launchhelpEnter("HELPENTER .ASP?From= divPurchas eOrder&Row No=" + intRowNumber + "&Grid=GRIDXML&fields=" + strFieldsList + "&Query=" + strItemHelpQuery + "&Database=Universal&QCD=0 ,0,0,0,0,0 ,0");
}
On_BlurCalculateTotals(int RowNumber)
}
/************************* ********** ********** ***
Function to provide CCH For Galdat Items/Chemicals
************************** ********** ********** ***/
function HelpForItemOrChemical(intR owNumber)
{
var strFileName = ""
var strFields = ""
var strItemType = divPurchaseOrder.getCellVa lue("sprIT EMTYPE",in tRowNumber );
// If the Type selected is Item
if (strItemType == "I")
{
//Get the Column Index of required columns needs to be passed to the Item Search
strFields += divPurchaseOrder.getColInd ex("sprHID DENITEMCOD E").toStri ng() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON").toStr ing() + ",,,,,,,,,," ;
strFields += divPurchaseOrder.getColInd ex("sprSTO CKQUANTITY ").toStrin g() + ",,," ;
strFields += divPurchaseOrder.getColInd ex("sprITE MTYPE").to String() + ",," ;
strFields += divPurchaseOrder.getColInd ex("sprMIN STOCKQUANT ITY").toSt ring() + "," ;
strFields += divPurchaseOrder.getColInd ex("sprMAX STOCKQUANT ITY").toSt ring() + ",,,,,,," ;
strFields += divPurchaseOrder.getColInd ex("sprOPE NORDERQUAN TITY").toS tring()
strFileName = "ITEMSEARCH.ASP?From=objPU RCHASEORDE R&StartTex t="+ intRowNumber +"&Fields="+ strFields +"&ItemType=I"
launchhelp1(strFileName);
}
else if (strItemType == "B")
{
strFileName = "help.asp?HELP_ID=54&Start Text=" + intRowNumber + "&FilterValues=sprITEMDESC RIPTION,sp rHIDDENLAN GUAGECODE, ,sprHIDDEN ITEMCODE"
launchhelp1(strFileName);
}
}
/************************* ********** ********** ********** ********** ********** ********** *********
Function to fire on click of Clear Button - Goes to the BE and fetches default values
************************** ********** ********** ********** ********** ********** ********** *********/
function On_Clear()
{
Allowupdate = true;
strACTION = ""
strFocusIsOn = "";
On_CallXMLHTTPAfterValidat ions("FETC HDEFAULTVA LUES");
}
/************************* ********** ********** ********** ********** ****
Function to fire on click of Select/Unselect Controlled checkbox
************************** ********** ********** ********** ********** ****/
function On_CheckUnCheckAllControll edCheckBox es()
{
var intRowNo = 0;
var nRowLength = 0;
var rstPOMLDetails = null;
var objNodeList = null;
var blnControlled = document.frmPurchaseOrder. chkSelectA llForContr olled.chec ked
// If the option is unchecked/checked just uncheck all the rows of controlled column
var objPOGrid = eval(divPurchaseOrder.getG ridRef());
var nColIndex = divPurchaseOrder.getColInd ex("sprCON TROLLED");
Set_Value_For_Range(objPOG rid, 1, objPOGrid.MaxRows, nColIndex, "0")
if(blnControlled == false)
{
lblCheckUncheckControlled. innerHTML = "<%=lblSelectAllForControl led%>"
return false;
}
else
{
lblCheckUncheckControlled. innerHTML = "<%=lblUnSelectAllForContr olled%>"
}
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprDELETE = '1' or @sprITEMDESCRIPTION = ''";
var objPOMLDOM = divPurchaseOrder.getXMLStr ing();
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
rstPOMLDetails = objPOMLDOM.selectNodes("// row");
nRowLength = rstPOMLDetails.length
if (nRowLength == 0) return false;
objNodeList = rstPOMLDetails.nextNode;
while(objNodeList != null)
{
// Get the row no from the XML node
intRowNo = objNodeList.getAttribute(" ROWUID");
//Check the controlled checkbox
divPurchaseOrder.setCellVa lue("sprCO NTROLLED", intRowNo," 1")
objNodeList = rstPOMLDetails.nextNode;
}
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
}
/************************* ********** ********** *****
Function to fire on click of Fetch button
************************** ********** ********** *****/
function On_Fetch()
{
if (document.frmPurchaseOrder .txtPONumb er.value == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,337 )%>","<%=l blPurchase OrderNumbe r%>")
document.frmPurchaseOrder. txtPONumbe r.focus();
return false
}
On_CallXMLHTTPAfterValidat ions("FETC H");
strFocusIsOn = "";
return false;
}
/************************* ********** ********** ********** *****
Function to call XML HTTP Submit based on the Mode
************************** ********** ********** ********** *****/
function On_CallXMLHTTPAfterValidat ions(strMO DE)
{
//-------- From the required value as XMLDOMObject-------------- ---//
var objXMLPOSTED = StoreValuesAsXMLDOMObject( strMODE)
var strRETURNRESULT = GetOutputXMLUSINGXMLHTTP(" SERVER_PUR CHASEORDER 3.asp", "", objXMLPOSTED)
//--------- Load the Result XML into an DOMObject -----------------//
var objRESULTXML = new ActiveXObject("Microsoft.X MLDOM");
objRESULTXML.loadXML(strRE TURNRESULT )
if (objRESULTXML.selectSingle Node("//Er rorNo").te xt > 0)
{
// strAction/Mode is globally strored once if the screen throws success message
strACTION = strMODE
divPurchaseOrder.ClearAll( );
//If the mode is delete and fetchdefault then only the header value is binded
if( (strMODE == 'DELETEPURCHASEORDER') || (strMODE == 'FETCHDEFAULTVALUES') )
{
objHdrXMLDom = divPurchaseOrder.loadXMLSt ringHdr(ob jRESULTXML .selectSin gleNode("/ /POHEADER/ root").xml );
fnSetValuesOnSuccess('CLEA R', '')
SetDefaults('CLEAR');
}
else
{
objHdrXMLDom = divPurchaseOrder.loadXMLSt ringHdr(ob jRESULTXML .selectSin gleNode("/ /POHEADER/ root").xml );
objMLXMLDom = divPurchaseOrder.loadXMLSt ring(objRE SULTXML.se lectSingle Node("//PO MLDETAILS/ root").xml );
fnSetValuesOnSuccess('SET' , objHdrXMLDom);
SetDefaults('SET');
}
// Display the success error message
if( (objRESULTXML.selectSingle Node("//Er rorMessage ").text != "") && (strMODE != 'FETCH') )
alert(objRESULTXML.selectS ingleNode( "//ErrorMe ssage").te xt.replace (/\\n/ig, "\n"))
}
else
{
strACTION = ""
if(strMODE == 'FETCH')
{
divPurchaseOrder.ClearAll( );
//document.frmPurchaseOrde r.reset();
fnSetValuesOnSuccess('CLEA R', '');
SetDefaults('CLEAR');
}
/** PO Containing PDI Item(s) cannot be authorised **/
if (objRESULTXML.selectSingle Node("//Er rorNo").te xt == -1)
{
ItemDescriptionforPDI = GetItemDescriptionforPDI()
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,153 6)%>", ItemDescriptionforPDI)
}
else
{
// Display the failed error message
alert(objRESULTXML.selectS ingleNode( "//ErrorMe ssage").te xt)
}
}
objRESULTXML = null;
objXMLPOSTED = null;
objHdrXMLDom = null;
objMLXMLDom = null;
return false;
}
/************************* ********** ********** ********** ********
Function to set default on success on success of any Action
************************** ********** ********** ********** *******/
function fnSetValuesOnSuccess(strFl ag, objHdrXMLDom)
{
var strCreatedOnDtls = ""
if (objHdrXMLDom == null) return false;
// Set defaults..
if(strFlag == 'SET')
{
var strCreatedBy = objHdrXMLDom.selectSingleN ode("//row ").getAttr ibute("Cre ated_By")
var strCreatedOn = objHdrXMLDom.selectSingleN ode("//row ").getAttr ibute("Cre ated_On")
var strModifiedBy = objHdrXMLDom.selectSingleN ode("//row ").getAttr ibute("Mod ified_By")
var strModifiedOn = objHdrXMLDom.selectSingleN ode("//row ").getAttr ibute("Mod ified_On")
strCreatedOnDtls = "<%=lblCreatedBy%>" + " <" + strCreatedBy + "> " + "<%=lblOn%>" + " <" + strCreatedOn + ">, " + "<%=lblModifiedBy%>" + " <" + strModifiedBy + "> " + "<%=lblOn%>" + " <" + strModifiedOn + ">"
IDCreatedOn.innerText = strCreatedOnDtls
}
else
{
IDCreatedOn.innerHTML = "<%=varRecordCreationLabel %>"
}
//Clear the Selct all label and uncheck the combo..
document.frmPurchaseOrder. chkSelectA llForContr olled.chec ked = false;
lblCheckUncheckControlled. innerHTML = "<%=lblSelectAllForControl led%>";
}
/************************* ********** ********** ********** ********** ********** ********** ********** ********** **********
Function to store PO Header and detail values into a XMLDOM Object and the object is returned fro HTTP postings
************************** ********** ********** ********** ********** ********** ********** ********** ********** ********** /
function StoreValuesAsXMLDOMObject( strMode)
{
var objDOMCLIENTSIDE = new ActiveXObject("Microsoft.X MLDOM")
var frmPurchaseOrder = document.frmPurchaseOrder
var strCSXML = ""
var strHDRDetails = ""
var strMLDetails = ""
var objHeaderDOM = null;
var objPOMLDOM = null;
//If the mode is just Fetch/Header Uypdate then only the required header info alone is passed to the server..
if( (strMode == 'FETCH') || (strMode == 'TRANSMITPURCHASEORDERFETC H') || (strMode == 'TRANSMITPURCHASEORDERUPDA TE') || (strMode == 'DELETEPURCHASEORDER') || (strMode == 'PRINTPURCHASEORDER') || (strMode == 'SHORTCLOSEPO') || (strMode == 'MODIFYTRANSMISSIONMODE') || (strMode == 'FETCHDEFAULTVALUES') )
{
objHeaderDOM = divPurchaseOrder.getXMLStr ingHdr();
if (objHeaderDOM != null)
strHDRDetails = objHeaderDOM.xml;
}
else
{
objHeaderDOM = divPurchaseOrder.getXMLStr ingHdr();
if (objHeaderDOM != null)
strHDRDetails = objHeaderDOM.xml;
//--------- ML Detail is taken from the global object which is stored when Create/Modify action validation succeed
if (objPODetailsXMLDOM != null)
{
strMLDetails = objPODetailsXMLDOM.xml
}
else
{
objPOMLDOM = divPurchaseOrder.getXMLStr ing();
if (objPOMLDOM != null)
strMLDetails = objPOMLDOM.xml
}
}
//CLEAR THE OBJECT
objPOMLDOM = null;
objHeaderDOM = null;
objPODetailsXMLDOM = null;
/** Load the PO Header and PO MLData into the XMLDOM **/
strCSXML += "<XMLHTTPPurchaseOrder>"
strCSXML += "<MODE>" + strMode + "</MODE>"
strCSXML += "<NONMOVINGITEMLABEL>" + "<%=lblNonMovingItem%>" + "</NONMOVINGITEMLABEL>"
strCSXML += "<DECIDERFLAG>" + strMode + "</DECIDERFLAG>"
strCSXML += "<HEADERDETAILFETCHFLAG></ HEADERDETA ILFETCHFLA G>"
strCSXML += "<POHEADER>" + strHDRDetails + "</POHEADER>"
strCSXML += "<POMLDETAILS>" + strMLDetails + "</POMLDETAILS>"
strCSXML += "<ErrorNo></ErrorNo>"
strCSXML += "<ErrorMessage></ErrorMess age>"
strCSXML += "</XMLHTTPPurchaseOrder>"
objDOMCLIENTSIDE.loadXML(s trCSXML);
return objDOMCLIENTSIDE;
}
/************************* ********** ********** ********** ********** ********** ***
Function for validation of mandatory fields (Header Fields)
************************** ********** ********** ********** ********** ********** ***/
function On_ValidateMandatoryFields (strFieldN ame, strFieldLabel)
{
if (Trim(eval("document.frmPu rchaseOrde r." + strFieldName).value.toStri ng()) == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,335 )%>", strFieldLabel)
eval("document.frmPurchase Order." + strFieldName).focus()
return false;
}
return true;
}
/************************* ********** ********** ********** ********** ********** ***
Function for validation of mandatory fields (PO ML Fields)
************************** ********** ********** ********** ********** ********** ***/
function On_ValidateMandatoryFields Grid(strCo lValue, strColName, nRow, strColLabel)
{
var nCol = ""
if (strColValue == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,335 )%>", strColLabel)
nCol = divPurchaseOrder.getColInd ex(strColN ame)
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(nCol, nRow)
return false;
}
return true;
}
/************************* ********** ********** ******
Function for Validation for Valid Characters
************************** ********** ********** ******/
function On_ValidateCharSet(strCont rolName, strFieldLabel)
{
if (!isvalidCharSet(Trim(strC ontrolName .value)))
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,305 )%>", strFieldLabel)
strControlName.focus()
return false
}
return true
}
/************************* ********** ********** ********** ********** ********** *******
Function to Validate That Number Fields should have greater than Zero Value
************************** ********** ********** ********** ********** ********** *******/
function On_ValidateNumberGreaterTh anZero(str ColValue, strColName, nRow, strColLabel)
{
var nCol = ""
if (parseFloat(Trim(strColVal ue)) == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,504 )%>", strColLabel)
nCol = divPurchaseOrder.getColInd ex(strColN ame)
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(nCol, nRow)
return false;
}
return true;
}
/************************* ********** ********** ********** **********
Function to show Modal Windows for Warnings to the User
************************** ********** ********** ********** ********** /
function On_ShowModalWindow(arrMsgs , arrBtns, height, width)
{
var arrLabels = new Array(2);
var strReturnValue = ""
arrLabels[0] = arrMsgs;
arrLabels[1] = arrBtns;
arrLabels[2] = "scrButton"
strReturnValue = window.showModalDialog("II IMsgBox.as p", arrLabels, "center=yes;dialogWidth=" + width + ";dialogHeight=" + height + ";help:no;status:no")
return strReturnValue;
}
/************************* ********** *
General Form Validation Routine
************************** ********** */
function Validate()
{
document.frmPurchaseOrder. mNoOfLines Manual.val ue = 0
document.frmPurchaseOrder. mNoOfLines Automatic. value = 0
document.frmPurchaseOrder. mNoOfLines Customer.v alue = 0
/** Validating Charset **/
if (!On_ValidateCharSet(docum ent.frmPur chaseOrder .txtSuppli erDescript ion, "<%=lblSupplier%>")) return false
if (!On_ValidateCharSet(docum ent.frmPur chaseOrder .txtSalesR ep, "<%=lblSalesRep%>")) return false
/** Validating Dates and Time Fields **/
if (!validateDate(document.fr mPurchaseO rder.txtOr derDate, "<%=lblOrderDate%>")) return false
if (Trim(document.frmPurchase Order.txtT ransmissio nDate.valu e) != "") if (!validateDate(document.fr mPurchaseO rder.txtTr ansmission Date, "<%=lblTransmissionDate%>" )) return false
if (!validateDate(document.fr mPurchaseO rder.txtDe liveryDate , "<%=lblDeliveryDate%>")) return false
/** Validating Mandatory Fields **/
if (!On_ValidateMandatoryFiel ds('txtSup plierDescr iption', "<%=lblSupplier%>")) return false
if (!On_ValidateMandatoryFiel ds('txtOrd erDate',"< %=lblOrder Date%>")) return false
if (!On_ValidateMandatoryFiel ds('txtDel iveryDate' , "<%=lblDeliveryDate%>")) return false
if (!On_ValidateMandatoryFiel ds('cboMod eOfTransmi ssion', "<%=lblModeOfTransmission% >")) return false
/** Validating that Order Date should not be a future Date **/
var arrPODate = (document.frmPurchaseOrder .txtOrderD ate.value) .toString( ).split(". ")
var arrPOTime = GetTimeValue(document.frmP urchaseOrd er.txtOrde rTime).toS tring().sp lit(":")
var dtCurrentDate = new Date()
var dtPODateTime = new Date(arrPODate[2], arrPODate[1]-1, arrPODate[0])
if (dtPODateTime.getTime() > dtCurrentDate.getTime())
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,969 )%>", "<%=lblOrderDate%>");
return false
}
/** Validating that Remarks should contain only a maximum of 500 chars **/
if (parseFloat(Trim(document. frmPurchas eOrder.txt Remarks.va lue).lengt h) > 500)
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,112 4)%>".repl ace(/%/,"< %=lblRemar k%>"), 500)
document.frmPurchaseOrder. txtRemarks .focus();
return false
}
/** Validation that Order Date is lesser than Transmission Date
and that Transmission Date is lesser than Delivery Date **/
if (document.frmPurchaseOrder .txtTransm issionDate .value != "")
{
if (!On_CompareTwoDateTimeFie lds(docume nt.frmPurc haseOrder. txtOrderDa te, document.frmPurchaseOrder. txtTransmi ssionDate, document.frmPurchaseOrder. txtOrderTi me, document.frmPurchaseOrder. txtTransmi ssionTime, 2))
{
alert("<%=errObject.getnth descriptio n(errFileN ame,575)%> ")
return false
}
if (!On_CompareTwoDateTimeFie lds(docume nt.frmPurc haseOrder. txtTransmi ssionDate, document.frmPurchaseOrder. txtDeliver yDate, document.frmPurchaseOrder. txtTransmi ssionTime, document.frmPurchaseOrder. txtDeliver yTime, 2))
{
alert("<%=errObject.getnth descriptio n(errFileN ame,577)%> ")
return false
}
}
else
{
if (!On_CompareTwoDateTimeFie lds(docume nt.frmPurc haseOrder. txtOrderDa te, document.frmPurchaseOrder. txtDeliver yDate, document.frmPurchaseOrder. txtOrderTi me, document.frmPurchaseOrder. txtDeliver yTime, 2))
{
alert("<%=errObject.getnth descriptio n(errFileN ame,576)%> ")
return false
}
}
// ----------------- Multiline Validation starts -------------------------- ---------- ------//
/** To check that atleast one row exists in Multiline **/
var intRowNo = 0;
var nRowLength = 0;
var rstPOMLDetails = null;
var objNodeList = null;
var objXMLDOC = null;
var strIemDesc, nLineDeleted, strPOCustomerDtls;
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprITEMDESCRIPTION = '' or @sprDELETE = '1'";
var objPOMLDOM = divPurchaseOrder.getXMLStr ing();
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
rstPOMLDetails = objPOMLDOM.selectNodes("// row");
nRowLength = rstPOMLDetails.length
if (nRowLength == 0)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,320)%> ");
return false;
}
objNodeList = rstPOMLDetails.nextNode;
var nOrderQuantity = "", nBonus = "", nRateInCHF = "", nCol = "", dblTotalPOValue = "0";
var nLineTotal = "", strLineType = "", NoOfLinesManual = "0", NoOfLinesAutomatic = "0", NoOfLinesCustomer = "0";
var nReturnedRow = "", nReturnedRow_Temp = "";
var nItemDescColIndex = divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON")
while(objNodeList != null)
{
// Get all required values from the XML Node
intRowNo = objNodeList.getAttribute(" ROWUID");
strIemDesc = Trim(objNodeList.getAttrib ute("sprIT EMDESCRIPT ION"));
nLineDeleted = objNodeList.getAttribute(" sprDELETE" );
nOrderQuantity = objNodeList.getAttribute(" sprORDERQU ANTITY");
nBonus = objNodeList.getAttribute(" sprBONUS") ;
nRateInCHF = objNodeList.getAttribute(" sprRATEINC HF");
nLineTotal = objNodeList.getAttribute(" sprTOTALAM OUNT");
nReturnedRow = 0
nReturnedRow_Temp = intRowNo
//Out of sale Item Check
if ((objNodeList.getAttribute ('sprHIDDE NITEMFLAG' )== 'OUTOFSALEITEM')) cntOUTOFSALEITEM++;
// ------ To check that Duplicate Items should not exist in Purchase Order Multiline -----------
if ( (nLineDeleted != "1") && (strIemDesc != "") )
{
//Check for the duplicate rows until the searchcol returns "-1"..
while(nReturnedRow != -1)
{
nReturnedRow = objPURCHASEORDER.SearchCol (nItemDesc ColIndex, nReturnedRow_Temp, objPURCHASEORDER.DataRowCn t, strIemDesc, 0)
// Check if the duplicate row found is deleted or not, if yes return
if (nReturnedRow != -1)
{
nLineDeleted_TEMP = divPurchaseOrder.getCellVa lue("sprDE LETE",nRet urnedRow)
nReturnedRow_Temp = nReturnedRow
}
if (nReturnedRow != -1 && nLineDeleted_TEMP != '1')
{
var arrMessages = new Array()
var arrButtons = new Array()
var arrReturnValue = new Array()
arrMessages[0] = "Triamun " + "<%=lblDuplicateItemsTitle %>" + " " + "<%=UCase(varPartnerName)% >";
arrMessages[1] = "<%=lblDuplicateItemsWarni ng%>".repl ace(/%/,(i ntRowNo) + ", " + nReturnedRow)
arrButtons[0] = "<%=lblAddToExistingLine%> "
arrButtons[1] = "<%=lblDeleteTheDuplicateL ine%>"
arrButtons[2] = "<%=lblCancel%>"
arrReturnValue = On_ShowModalWindow(arrMess ages, arrButtons, "130pt", "440pt");
/** Add the New Line to Existing Line **/
if (arrReturnValue[1] == 0)
{
/************************* ********** ********** ********** ********** ********** *********
Add the Order Quantity and Bonus in New Line to Existing Line Order Quantity
and Bonus. Mark the New Line for Delete
************************** ********** ********** ********** ********** ********** ********/
var nQtyInEL = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",intRowN o)==''?0:d ivPurchase Order.getC ellValue(" sprORDERQU ANTITY",in tRowNo)
var nBonusInEL = divPurchaseOrder.getCellVa lue("sprBO NUS",intRo wNo)==''?0 :divPurcha seOrder.ge tCellValue ("sprBONUS ",intRowNo )
var nQtyInNL = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",nReturn edRow)=='' ?0:divPurc haseOrder. getCellVal ue("sprORD ERQUANTITY ",nReturne dRow)
var nBonusInNL = divPurchaseOrder.getCellVa lue("sprBO NUS",nRetu rnedRow)== ''?0:divPu rchaseOrde r.getCellV alue("sprB ONUS",nRet urnedRow)
divPurchaseOrder.setCellVa lue("sprOR DERQUANTIT Y",intRowN o,parseFlo at(nQtyInE L) + parseFloat(nQtyInNL))
divPurchaseOrder.setCellVa lue("sprBO NUS",intRo wNo,parseF loat(nBonu sInEL) + parseFloat(nBonusInNL))
divPurchaseOrder.setCellVa lue("sprDE LETE",nRet urnedRow," 1")
On_BlurCalculateTotals(int RowNo)
}
/** Remove the New Line **/
else if (arrReturnValue[1] == 1)
{
divPurchaseOrder.setCellVa lue("sprDE LETE",nRet urnedRow," 1")
}
else if (arrReturnValue[1] == 2)
{
return false;
}
}
}
}
// --- Validate mandatory and proper values only if the item desc is not empty and line not marked as delete
if ( (nLineDeleted != "1") && (strIemDesc != "") )
{
/** Validation for Numeric Values **/
if (Trim(nOrderQuantity) != "" && IsQty(nOrderQuantity, "<%=lblOrderQuantity%>") == false) return false
if (Trim(nBonus) != "" && IsQty(nBonus, "<%=lblBonus%>") == false) return false
if (Trim(nRateInCHF) != "" && IsPrice(nRateInCHF, "<%=lblRateInCHF%>") == false) return false
/** Validation for Mandatory Fields **/
if (!On_ValidateMandatoryFiel dsGrid(nOr derQuantit y, "sprORDERQUANTITY", intRowNo, "<%=lblOrderQuantity%>")) return false
if (!On_ValidateNumberGreater ThanZero(n OrderQuant ity, "sprORDERQUANTITY", intRowNo, "<%=lblOrderQuantity%>")) return false
var dblOrderQuantity_Temp = Trim(nOrderQuantity)==""?0 :Trim(nOrd erQuantity )
var dblBonus_Temp = Trim(nBonus)==""?0:Trim(nB onus)
var dblRateInCHF_Temp = Trim(nRateInCHF)==""?0:Tri m(nRateInC HF)
// Calculating Line Level Totals
var dblTotal = RoundQty(parseFloat(dblOrd erQuantity _Temp) + parseFloat(dblBonus_Temp))
// changed for TRIMAUNIII1.0S_015016
if (dblTotal.toString().lengt h > "<%=MAXLENGTHFORQUANTITY%> ")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1058)% >");
nCol = divPurchaseOrder.getColInd ex("sprORD ERQUANTITY ")
divPurchaseOrder.setFocus( nCol, intRowNo)
return false;
}
/** Setting Rate and Bonus Values to Zero if they are empty **/
if (Trim(nRateInCHF) == "")
divPurchaseOrder.setCellVa lue("sprRA TEINCHF",i ntRowNo,db lRateInCHF _Temp)
if (Trim(nBonus) == "")
divPurchaseOrder.setCellVa lue("sprBO NUS",intRo wNo,dblBon us_Temp)
/** Calculate Line Totals and Grand Total **/
On_BlurCalculateTotals(int RowNo)
}
objNodeList = rstPOMLDetails.nextNode;
}
// --------- Store the Customer PO details alone into a seperate element to avoid special character ------- //
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
objXMLDOC = new ActiveXObject("Microsoft.X MLDOM");
// Get all the rows after filter from the ML
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprITEMDESCRIPTION = ''";
var objPOMLDOM = divPurchaseOrder.getXMLStr ing();
rstPOMLDetails = objPOMLDOM.selectNodes("// row");
objNodeList = rstPOMLDetails.nextNode;
while(objNodeList != null)
{
nLineTotal = objNodeList.getAttribute(" sprTOTALAM OUNT");
strLineType = objNodeList.getAttribute(" sprHIDDENL INETYPE");
nLineDeleted = objNodeList.getAttribute(" sprDELETE" );
strPOCustomerDtls = objNodeList.getAttributeNo de("sprHID DENCUSTOME RREFERENCE S");
if(nLineDeleted != '1')
{
//Calculate the Total of All PO Lines
dblTotalPOValue = RoundAmt(parseFloat(dblTot alPOValue) + parseFloat(nLineTotal), "Y")
/** Calculating No. of Rows per Line Type **/
if (strLineType.toUpperCase() == "M" || strLineType == "")
NoOfLinesManual = parseFloat(NoOfLinesManual ) + 1
else if (strLineType.toUpperCase() == "A")
NoOfLinesAutomatic = parseFloat(NoOfLinesAutoma tic) + 1
else if (strLineType.toUpperCase() == "C")
NoOfLinesCustomer = parseFloat(NoOfLinesCustom er) + 1
}
if ( strPOCustomerDtls.value != "" )
{
var newElement = objPOMLDOM.createElement(" sprHIDDENC USTOMERREF ERENCES");
objXMLDOC.loadXML(unescape (strPOCust omerDtls.v alue));
var ChildNode = objXMLDOC.selectSingleNode ("root");
if (ChildNode != null)
{
objNodeList.appendChild(Ch ildNode);
}
}
objNodeList.removeAttribut e("sprHIDD ENCUSTOMER REFERENCES ");
objNodeList = rstPOMLDetails.nextNode;
}
//Total Value of PO and Total lines are calculated and Assigned..
if (dblTotalPOValue.toString( ).length > 20)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,572)%> ");
return false
}
document.frmPurchaseOrder. txtTotalVa lue.value = Round(dblTotalPOValue,2)
document.frmPurchaseOrder. mNoOfLines Manual.val ue = NoOfLinesManual
document.frmPurchaseOrder. mNoOfLines Automatic. value = NoOfLinesAutomatic
document.frmPurchaseOrder. mNoOfLines Customer.v alue = NoOfLinesCustomer
//assign the converted XML DOM object to a global object..
objPODetailsXMLDOM = objPOMLDOM
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
return true;
}
/************************* ********** ********** ********** ********** ********** ********** ********** ****
Function to calculate PO Total on Change of Lines (Like Delete/Undelete, clearing a Line etc)
************************** ********** ********** ********** ********** ********** ********** ********** ****/
function On_CalculateTotalValue(int RowNumber, strAddOrSubtractFlag)
{
On_BlurCalculateTotals(int RowNumber)
var dblTotalPOValue = document.frmPurchaseOrder. txtTotalVa lue.value
var dblTotalLineValue = divPurchaseOrder.getCellVa lue("sprTO TALAMOUNT" ,intRowNum ber)
if (isNaN(dblTotalPOValue) || dblTotalPOValue == "") dblTotalPOValue = 0
if (isNaN(dblTotalLineValue) || dblTotalLineValue == "") dblTotalLineValue = 0
if (parseFloat(dblTotalPOValu e) != 0)
{
if (strAddOrSubtractFlag == "PLUS") dblTotalPOValue = parseFloat(dblTotalPOValue ) + parseFloat(dblTotalLineVal ue)
else if (strAddOrSubtractFlag == "MINUS") dblTotalPOValue = parseFloat(dblTotalPOValue ) - parseFloat(dblTotalLineVal ue)
}
document.frmPurchaseOrder. txtTotalVa lue.value = RoundAmt(dblTotalPOValue, "Y")
}
/************************* ********** ********** *****
Function to Calculate form totals on blur
************************** ********** ********** *****/
function On_BlurCalculateTotals(int RowNumber)
{
var dblTotalPOValue = Trim(document.frmPurchaseO rder.txtTo talValue.v alue)
var dblValueOfLine = divPurchaseOrder.getCellVa lue("sprTO TALAMOUNT" ,intRowNum ber)
var dblOrderQuantity = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",intRowN umber)
var dblBonus = divPurchaseOrder.getCellVa lue("sprBO NUS",intRo wNumber)
var dblRateInCHF = divPurchaseOrder.getCellVa lue("sprRA TEINCHF",i ntRowNumbe r)
var strDelFlag = divPurchaseOrder.getCellVa lue("sprDE LETE",intR owNumber)
if (dblValueOfLine == "") dblValueOfLine = 0
if (dblTotalPOValue == "") dblTotalPOValue = 0
if (dblOrderQuantity == "") dblOrderQuantity = 0
if (dblBonus == "") dblBonus = 0
if (dblRateInCHF == "") dblRateInCHF = 0
// If the line is not marked for deletion, then calculate the total..
if (strDelFlag != "1")
{
// Calculating Line Level Totals
var dblTotalQty = RoundQty(parseFloat(dblOrd erQuantity ) + parseFloat(dblBonus))
var dblTotalAmt = RoundAmt(dblOrderQuantity * dblRateInCHF, "Y")
// Setting the Line Totals in the appropriate columns
divPurchaseOrder.setCellVa lue("sprTO TALQTY",in tRowNumber ,dblTotalQ ty)
divPurchaseOrder.setCellVa lue("sprTO TALAMOUNT" ,intRowNum ber, dblTotalAmt)
dblTotalPOValue = RoundAmt(parseFloat(dblTot alPOValue) - parseFloat(dblValueOfLine) + parseFloat(dblTotalAmt), "Y")
if (dblTotalPOValue.toString( ).length > 20)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,572)%> ");
divPurchaseOrder.setFocus( "sprRATEIN CHF",intRo wNumber)
return false
}
document.frmPurchaseOrder. txtTotalVa lue.value = dblTotalPOValue
}
}
/************************* ********** ********** ********** ********** *
Function to clear fields when Supplier Description is changed
************************** ********** ********** ********** ********** */
function On_ClearSupplierCode()
{
document.frmPurchaseOrder. txtSupplie rCode.valu e = ""
}
/************************* ********** ********** ********** *******
Function to clear fields when Item Description is changed
************************** ********** ********** ********** *******/
function On_ChangeItemDescription(i ntRowNumbe r)
{
On_CalculateTotalValue(int RowNumber, "MINUS")
//Clear all columns of that line..
divPurchaseOrder.setCellVa lue("sprHI DDENITEMCO DE",intRow Number,"")
divPurchaseOrder.setCellVa lue("sprST OCKQUANTIT Y",intRowN umber,"")
divPurchaseOrder.setCellVa lue("sprMI NSTOCKQUAN TITY",intR owNumber," ")
divPurchaseOrder.setCellVa lue("sprMA XSTOCKQUAN TITY",intR owNumber," ")
divPurchaseOrder.setCellVa lue("sprOP ENORDERQUA NTITY",int RowNumber, "")
divPurchaseOrder.setCellVa lue("sprOR DERQUANTIT Y",intRowN umber,"")
divPurchaseOrder.setCellVa lue("sprBO NUS",intRo wNumber,"" )
divPurchaseOrder.setCellVa lue("sprTO TALQTY",in tRowNumber ,"")
divPurchaseOrder.setCellVa lue("sprRA TEINCHF",i ntRowNumbe r,"")
divPurchaseOrder.setCellVa lue("sprTO TALAMOUNT" ,intRowNum ber,"")
divPurchaseOrder.setCellVa lue("sprDE LQTY",intR owNumber," ")
divPurchaseOrder.setCellVa lue("sprPE NDQTY",int RowNumber, "")
divPurchaseOrder.setCellVa lue("sprNO NMOVINGITE M",intRowN umber,"")
divPurchaseOrder.setCellVa lue("sprCO NTROLLED", intRowNumb er,"0")
divPurchaseOrder.setCellVa lue("sprHI DDENCUSTOM ERREFERENC ES",intRow Number,"")
divPurchaseOrder.setCellVa lue("sprTO TALAMOUNT" ,intRowNum ber,"")
var nColIndex = divPurchaseOrder.getColInd ex("sprREF ERENCE");
Set_Button_Color(objPURCHA SEORDER, intRowNumber, nColIndex, "NORMAL")
var nItemDescColIndex = divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON")
var nItemFlagColIndex = divPurchaseOrder.getColInd ex("sprHID DENITEMFLA G")
ResetItemColour("GRID","ob jPURCHASEO RDER",nIte mDescColIn dex,intRow Number,nIt emFlagColI ndex)
}
/************************* ********** ********** *****
Function to fire on click of Create button
************************** ********** ********** *****/
function On_Create()
{
// If the focus is on PO Number and enter key is fired..
if (strFocusIsOn == "txtPONumber")
{
On_Fetch();
return false
}
else if (strFocusIsOn == "txtSupplierDescription")
{
var strVendor = document.frmPurchaseOrder. txtSupplie rDescripti on.value
launchhelpEnter("HELPENTER .ASP?HELP_ ID=107&Val uesForBESe arch=" + strVendor + "&HelpScreenHelp_Id=186")
return false;
}
else if (strFocusIsOn == "txtOrderDate")
{
On_EnterKeyInOrderDate()
return false
}
if (!Validate()) return false
if (Trim(document.frmPurchase Order.txtP ONumber.va lue) != "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,306 )%>","<%=l blPurchase Order%>")
document.frmPurchaseOrder. txtPONumbe r.focus()
return false
}
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("INSE RTPURCHASE ORDER");
return false;
}
/************************* ********** ********** ********** ********** ******
To Default Delivery Date as per Time Rules defined for Wholesaler
************************** ********** ********** ********** ********** ******/
function On_EnterKeyInOrderDate()
{
if (!validateDate(document.fr mPurchaseO rder.txtOr derDate, "<%=lblOrderDate%>")) return false
if (Trim(document.frmPurchase Order.txtS upplierDes cription.v alue) == "") return false
if (Trim(document.frmPurchase Order.txtO rderDate.v alue) == "") return false
var strSupplier = document.frmPurchaseOrder. txtSupplie rDescripti on.value
var strOrderDate = document.frmPurchaseOrder. txtOrderDa te.value
var arrWeekDays = new Array("SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT")
var dtOrderDate = new Date(strOrderDate.substrin g(6,10), (parseFloat(strOrderDate.s ubstring(3 ,5)) - 1) , strOrderDate.substring(0,2 ))
var strOrderDay = arrWeekDays[dtOrderDate.ge tDay()]
var strOrderTime = GetTimeValue(document.frmP urchaseOrd er.txtOrde rTime)
var intBitNoInString = 0
var strQuery = ""
var strFieldsList = "txtDeliveryDate,hidDelive ryTime"
if (dtOrderDate.getDay() == "0") intBitNoInString = 7
else intBitNoInString = dtOrderDate.getDay()
strQuery += " SELECT CONVERT(NVARCHAR(10), DATEADD(DD, CONVERT(INT, SUBSTRING(Delivery_Day_Str ing, " + intBitNoInString + ",1)),CONVERT(DATETIME,'" + strOrderDate + "',104)), 104) "
strQuery += " ,Delivery_Time FROM IIITime_Rules_Detail (NOLOCK) "
strQuery += " WHERE Partner_Id = '<%=sPARTNERID%>' "
strQuery += " AND Vendor_Code = (SELECT TOP 1 Vendor_Code FROM IIICustomer_Vendor_Master (NOLOCK) WHERE Partner_Id = '<%=sPARTNERID%>' AND Customer_Vendor_Name ='" + document.frmPurchaseOrder. txtSupplie rDescripti on.value + "')"
strQuery += " AND Order_Option IN('" + strOrderDay + "','WD') "
strQuery += " AND CONVERT(INT, SUBSTRING(Order_Day_String , " + intBitNoInString + ",1)) = '1' "
strQuery += " AND CONVERT(DATETIME, Order_Time, 108) = "
strQuery += " ( SELECT MIN(CONVERT(DATETIME, Order_Time, 108)) "
strQuery += " FROM IIITime_Rules_Detail TRD (NOLOCK) INNER JOIN IIICustomer_Vendor_Master CVM (NOLOCK) "
strQuery += " ON TRD.Partner_Id = CVM.Partner_id AND TRD.Vendor_Code = CVM.Customer_Vendor_Code AND CVM.Customer_Vendor_Name = '" + document.frmPurchaseOrder. txtSupplie rDescripti on.value + "' "
strQuery += " AND CVM.Customer_Vendor_Type <> 'C' AND CONVERT(DATETIME, Order_Time, 108) >= CONVERT(DATETIME, '" + strOrderTime + "', 108))"
launchhelpEnter("HelpEnter .asp?From= document.f rmPurchase Order&fiel ds=" + strFieldsList + "&Query=" + strQuery + "&FieldAndEvent=hidDeliver yTime~onch ange&Datab ase=Partne r&QCD=0,0" );
}
/************************* ********** ********** *****
Function to fire on click of Modify button
************************** ********** ********** *****/
function On_Modify()
{
var strSUBMITMODE = ""
var blnTRANSMISSIONMODEDISABLE D = document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled
var strTRANSMISSIONMODE = Trim(divPurchaseOrder.getC ellValue(" PO_Transmi ssion_Mode "))
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
/************************* ********** ********** ********** ********** ********** ********** ********** ********** **********
Allow Modification only
1. If PO Status is OPEN
2. If PO Status is AUTHORISED and Transmission Mode is Manual
3. If PO Status is AUTHORISED and Transmission Mode is Manual
************************** ********** ********** ********** ********** ********** ********** ********** ********** ********** /
//if (intPOStatus != "2" && !((intPOStatus == "3" || intPOStatus == "6") && blnTRANSMISSIONMODEDISABLE D == false))
//if (intPOStatus != "2" && !((intPOStatus == "3" || intPOStatus == "6") && strTRANSMISSIONMODE == "M"))
if (intPOStatus != "2" && intPOStatus != "3" && intPOStatus != "6")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1425)% >")
return false
}
if (intPOStatus != "2" && ((intPOStatus == "3" || intPOStatus == "6") && Allowupdate == false))
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1425)% >")
return false
}
else
{
if (intPOStatus == "2") strSUBMITMODE = "MODIFYPURCHASEORDER"
else strSUBMITMODE = "MODIFYTRANSMISSIONMODE"
/** If PO is Authorised or Failed, allow Update of Transmission Mode only if it is MANUAL **/
if ( (intPOStatus == "3" || intPOStatus == "6") && strTRANSMISSIONMODE != "M" )
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1475)% >");
return false
}
else /** Common Validation Procedure if PO Status is Open **/
{
if (!Validate()) return false
}
}
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions(strSU BMITMODE);
return false;
}
/************************* ********** ********** *****
Function to fire on click of Authorise button
************************** ********** ********** *****/
function On_Authorise()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
// Validate that only open purchase orders can be modified
if (intPOStatus != "2")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,309 )%>", "<%=lblPurchaseOrders%>")
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
// Global Variable for Out of sale item is set to to zero before validate method
cntOUTOFSALEITEM = 0;
// General Validation for full form controls
if (!Validate()) return false
// Out of Sale Item check
if (cntOUTOFSALEITEM > 0 )
{
if (!confirm("<%=errObject.ge tnthdescri ption(errF ileName,15 95)%>")) return false;
}
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("AUTH ORISEPURCH ASEORDER") ;
return false;
}
/************************* ********** ********** *****
Function to fire on click of transmit button
************************** ********** ********** *****/
function On_Transmit()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
var PONumber = Trim(divPurchaseOrder.getC ellValue(" PO_Number" ))
var PDIExists = Trim(divPurchaseOrder.getC ellValue(" PDI_EXISTS "))
var strTRANSMISSIONMODE = Trim(divPurchaseOrder.getC ellValue(" PO_Transmi ssion_Mode "))
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
// Validate that only authorised purchase orders can be transmitted
if (intPOStatus != "3" && intPOStatus != "6")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,573 )%>", "<%=lblPurchaseOrders%>")
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
// Only PO's where transmission mode is Automatic can be Transmitted. Else it should be printed
if (strTRANSMISSIONMODE != "A")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,874)%> ")
return false
}
//Begin : Interface 002:PO Transmission - Venki
if(! validateforV50("<%=Session ("ClientPa rams")%>") )
{
return false
}
//End : Interface 002:PO Transmission - Venki
/** PO Containing PDI Item cannot be transmitted **/
if (PDIExists == 1)
{
ItemDescriptionforPDI = GetItemDescriptionforPDI()
//IIIalert("<%=errObject.g etnthdescr iption(err FileName,1 508)%>", PONumber)
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,150 8)%>", ItemDescriptionforPDI)
return false
}
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("TRAN SMITPURCHA SEORDERFET CH");
return false;
}
function GetItemDescriptionforPDI()
{
var LineItemDesc = ""
var LineItemCode = ""
var AllItemDesc = '\n' + '\n' + "<%=lblLineNo&" "&lblItemDescription%>" + '\n' + "------ -----------------"
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprITEMDESCRIPTION = '' or @sprDELETE = '1'";
var objPOMLDOM = divPurchaseOrder.getXMLStr ing();
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
rstPOMLDetails = objPOMLDOM.selectNodes("// row");
nRowLength = rstPOMLDetails.length
if (nRowLength == 0) return false;
objNodeList = rstPOMLDetails.nextNode;
while(objNodeList != null)
{
// Get the Item Code from the XML node
intRowNo = objNodeList.getAttribute(" ROWUID");
LineItemDesc = objNodeList.getAttribute(" sprITEMDES CRIPTION") ;
LineItemCode = objNodeList.getAttribute(" sprHIDDENI TEMCODE");
if (LineItemCode.substring(0, 3).toUpperCase() == "PDI")
{
AllItemDesc = AllItemDesc +'\n'+ (intRowNo) +" "+ LineItemDesc
}
objNodeList = rstPOMLDetails.nextNode;
}
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
AllItemDesc = AllItemDesc + '\n' + '\n'
return AllItemDesc
}
/************************* ********** ********** **
Function to fire on click of print button
************************** ********** ********** **/
function On_Print()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
var strTRANSMISSIONMODE = Trim(divPurchaseOrder.getC ellValue(" PO_Transmi ssion_Mode "))
var strPrintFlag = Trim(divPurchaseOrder.getC ellValue(" Print_Flag "))
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
// Validate that only authorised purchase orders can be printed
if (intPOStatus == "2")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1416)% >")
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
/** Purchase Order is already Printed **/
if (strTRANSMISSIONMODE == "M")
{
if (Trim(strPrintFlag) != "Y")
{
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("PRIN TPURCHASEO RDER");
return false;
}
else
{
On_PrintReports()
return false
}
}
else
{
On_PrintReports()
return false
}
}
/************************* ********** ********** ***
Function to fire on click of Delete button
************************** ********** ********** ***/
function On_Delete()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
if ( intPOStatus != "1" && intPOStatus != "2" )
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,310 )%>", "<%=lblPurchaseOrders%>")
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
/** Delete confirmation **/
var msg = "<%=errObject.getnthdescri ption(errF ileName,26 5)%>"
if ( !window.confirm(msg) ) return;
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("DELE TEPURCHASE ORDER");
return false;
}
/************************* ********** ********** ********
Function to fire on click of Short Close button
************************** ********** ********** ********/
function On_ShortClose()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
else if (intPOStatus == "2")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1050)% >")
return false
}
else if (intPOStatus == "10")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1051)% >")
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("SHOR TCLOSEPO") ;
return false;
}
/************************* ********** ********** ********** *
Function to fire on click of Change Supplier Button
************************** ********** ********** ********** */
function On_ChangeSupplier()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
if ( "<%=GetAccessPermission("O RDEROVERVI EWITEM3"," FETCH")%>" == "DISABLED" )
{
IIIalert("<%=ErrObject.get nthDescrip tion(ErrFi leName,469 )%>"," - <%=lblChangeSupplier%>")
return false;
}
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
// PO Number should be entered in order to navigate to Change Supplier Screen
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
// Validate that only for open PO's supplier can be changed
if (intPOStatus != "2")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,307 )%>", "<%=lblPurchaseOrders%>")
return false
}
var strFileName = "OrderOverviewItem3.asp?Fr om=PURCHAS EORDER3&mo de=FETCH&O rder1=Vend or_Descrip tion&Order 2=PO_Item_ Descriptio n&Order3=P O_Number&P ONUMBER=" + document.frmPurchaseOrder. txtPONumbe r.value
On_LaunchHelpLocal(strFile Name, "ORDEROVERVIEWITEM3")
}
/************************* ********** ********** ********
Function to fire on click of Item Price Button
************************** ********** ********** ********/
function On_ItemPrice()
{
if ( "<%=GetAccessPermission("I temPrice", "FETCH")%> " == "DISABLED" )
{
IIIalert("<%=ErrObject.get nthDescrip tion(ErrFi leName,469 )%>"," - <%=lblItemPrice%>")
return false;
}
// Set the defaults value
var rowNode = null
var strItemCode = ""
var intRowsInMultiline = ""
var strItemCode = ""
var strItemType = ""
var blnAtleastOneRowIsChecked = false
var blnChemicalsChecked = false
// Filter selected items having non empty item desc and Item type as item
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprSEL != '1' or @sprITEMTYPE = '' or @sprITEMDESCRIPTION = ''";
var objPOMLDetails = divPurchaseOrder.getXMLStr ing();
// If the ML object returns null then make the row as zero
if ( objPOMLDetails == null )
intRowsInMultiline = 0
else
{
var objMLRows = objPOMLDetails.selectNodes ("//row");
intRowsInMultiline = objMLRows.length
}
// Loop through the ML and get check for the proper value before calling statistics
rowNode = objMLRows.nextNode;
while(rowNode != null)
{
strItemCode = rowNode.getAttribute("sprH IDDENITEMC ODE");
strItemType = rowNode.getAttribute("sprI TEMTYPE");
intRowCount = rowNode.getAttribute("ROWU ID");
if(strItemType == "I")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = false
if (strItemCode == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,105 7)%>", intRowCount);
//The Item in line number % does not have a matching Item Code. Please enter a valid Item or choose from the Help available (91057)
return false;
}
else //Launch the statistics screen
{
var strFileName = "ITEMPRICE.ASP?SCREENLAUNC H=yes&FROM =PURCHASEO RDER3&ACTI ON=fetch&F IRST=N&WHO LENAMECODE 3="+"<%=Tr im(Session ("PRT018") )%>"+"&TXT PHARMACODE ="+strItem Code
On_LaunchHelpLocal(strFile Name, "ITEMPRICE")
break;
}
}
else if (strItemType == "B")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = true
}
rowNode = objMLRows.nextNode;
}
/** Select Atleast One Row to launch Item Statistics **/
if (!blnAtleastOneRowIsChecke d)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,63)%>" )
return false
}
/** Chemicals cannot be used for launching Item Statistics Screen **/
if (blnChemicalsChecked)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1285)% >")
return false
}
}
/************************* ********** ********** ********** *******
Function to fire on click of Partner Defined Data Button
************************** ********** ********** ********** *******/
function On_PartnerDefinedData()
{
if ( "<%=GetAccessPermission("P ARTNERDEFI NEDDATA3", "FETCH")%> " == "DISABLED" )
{
IIIalert("<%=ErrObject.get nthDescrip tion(ErrFi leName,469 )%>"," - <%=lblPartnerDefinedData%> ")
return false;
}
// Set the defaults value
var rowNode = null
var strItemCode = ""
var intRowsInMultiline = ""
var strItemCode = ""
var strItemType = ""
var blnAtleastOneRowIsChecked = false
var blnChemicalsChecked = false
// Filter selected items having non empty item desc and Item type as item
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprSEL != '1' or @sprITEMTYPE = '' or @sprITEMDESCRIPTION = ''";
var objPOMLDetails = divPurchaseOrder.getXMLStr ing();
// If the ML object returns null then make the row as zero
if ( objPOMLDetails == null )
intRowsInMultiline = 0
else
{
var objMLRows = objPOMLDetails.selectNodes ("//row");
intRowsInMultiline = objMLRows.length
}
// Loop through the ML and get check for the proper value before calling statistics
rowNode = objMLRows.nextNode;
while(rowNode != null)
{
strItemCode = rowNode.getAttribute("sprH IDDENITEMC ODE");
strItemType = rowNode.getAttribute("sprI TEMTYPE");
intRowCount = rowNode.getAttribute("ROWU ID");
if(strItemType == "I")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = false
if (strItemCode == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,105 7)%>", intRowCount);
//The Item in line number % does not have a matching Item Code. Please enter a valid Item or choose from the Help available (91057)
return false;
}
else //Launch the statistics screen
{
var strFileName = "PartnerDefinedData3.ASP?F ROM=PURCHA SEORDER&MO DE=fetch&P HARMACODE= " + strItemCode
On_LaunchHelpLocal(strFile Name, "PARTNERDEFINEDDATA3")
break;
}
}
else if (strItemType == "B")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = true
}
rowNode = objMLRows.nextNode;
}
/** Select Atleast One Row to launch Item Statistics **/
if (!blnAtleastOneRowIsChecke d)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,63)%>" )
return false
}
/** Chemicals cannot be used for launching Item Statistics Screen **/
if (blnChemicalsChecked)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1285)% >")
return false
}
}
/************************* ********** ********** ********** ***
Function to fire on click of Transmission Log Button
************************** ********** ********** ********** ***/
function On_TransmissionLog()
{
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
if ( "<%=GetAccessPermission("T RANSMISSIO NLOG3","FE TCH")%>" == "DISABLED" )
{
IIIalert("<%=ErrObject.get nthDescrip tion(ErrFi leName,469 )%>"," - <%=lblTransmissionLog%>")
return false;
}
/** Validate if PO Status is empty **/
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
document.frmPurchaseOrder. txtPONumbe r.focus();
return false
}
/** PO Number should be entered in order to navigate to Transmission Log Screen **/
if (!On_ValidateMandatoryFiel ds('txtPON umber', "<%=lblPurchaseOrderNumber %>")) return false
/** Validate that only for Automatic Transmitted PO's Transmission Log can be launched **/
if (intPOStatus != "4")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1254)% >")
return false
}
var strPONumber = document.frmPurchaseOrder. txtPONumbe r.value
var strFileName = "TRANSMISSIONLOG3.ASP?FROM SCREEN=PUR CHASEORDER &txtPONumb er=" + strPONumber + "&mode=FETCH"
On_LaunchHelpLocal(strFile Name, "TRANSMISSIONLOG3")
}
/************************* ********** ********** ********** ***
Function to fire on click of Item Statistics Button
************************** ********** ********** ********** ***/
function On_ItemStatistics()
{
if ( "<%=GetAccessPermission("D ETAILOVERV IEW","FETC H")%>" == "DISABLED" )
{
IIIalert("<%=ErrObject.get nthDescrip tion(ErrFi leName,469 )%>"," - <%=lblStatistics%>")
return false;
}
// Set the defaults value
var rowNode = null
var strItemCode = ""
var intRowsInMultiline = ""
var strItemCode = ""
var strItemType = ""
var blnAtleastOneRowIsChecked = false
var blnChemicalsChecked = false
// Filter selected items having non empty item desc and Item type as item
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprSEL != '1' or @sprITEMTYPE = '' or @sprITEMDESCRIPTION = ''";
var objPOMLDetails = divPurchaseOrder.getXMLStr ing();
// If the ML object returns null then make the row as zero
if ( objPOMLDetails == null )
intRowsInMultiline = 0
else
{
var objMLRows = objPOMLDetails.selectNodes ("//row");
intRowsInMultiline = objMLRows.length
}
// Loop through the ML and get check for the proper value before calling statistics
rowNode = objMLRows.nextNode;
while(rowNode != null)
{
strItemCode = rowNode.getAttribute("sprH IDDENITEMC ODE");
strItemType = rowNode.getAttribute("sprI TEMTYPE");
intRowCount = rowNode.getAttribute("ROWU ID");
if(strItemType == "I")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = false
if (strItemCode == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,105 7)%>", intRowCount);
//The Item in line number % does not have a matching Item Code. Please enter a valid Item or choose from the Help available (91057)
return false;
}
else //Launch the statistics screen
{
var strFileName = "STATISTICS3.ASP?FromScree n=SALESORD ER&pharmac ode=" + strItemCode
On_LaunchHelpLocal(strFile Name, "STATISTICS")
break;
}
}
else if (strItemType == "B")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = true
}
rowNode = objMLRows.nextNode;
}
/** Select Atleast One Row to launch Item Statistics **/
if (!blnAtleastOneRowIsChecke d)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,63)%>" )
return false
}
/** Chemicals cannot be used for launching Item Statistics Screen **/
if (blnChemicalsChecked)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1285)% >")
return false
}
}
/************************* ********** ********** ********** ******
Function to read the values from the Sales Order Screen
************************** ********** ********** ********** ******/
function On_FILLVALUESFROMCALLINGSC REEN(strFl ag)
{
var intRowCounter = 0
var intRowCtrInCurrentForm = 1
var nRecordCount = 0;
var strMode = "<%=Trim(ACTION)%>"
var objPOGrid = eval(divPurchaseOrder.getG ridRef());
if(strFlag == 'ONLOAD')
{
// If the mode of action is fetch and the screen is called from some other screen, then fetch is called
if (strMode != "" && strFromScreen != "")
{
On_CallXMLHTTPAfterValidat ions("FETC H");
strFocusIsOn = "";
return false;
}
// If the mode of action is nothing and the screen is called from TRANSMISSIONLOG screen
if (strMode == "")
{
if (strFromScreen == "TRANSMISSIONLOG3")
{
/** Loop to get the Selected Records from the First Multiline of Transmission Log Screen **/
eval("window.parent.opener .divNotDel etedLines" ).filters = ""
eval("window.parent.opener .divNotDel etedLines" ).filters = "chkSelect $ieq$ '0' or chkSelect $ieq$ ''"
rstLocal = eval("window.parent.opener .divNotDel etedLines" ).getDataR S()
// Calculate no. of rows and add rows if neccessary..
nRecordCount = rstLocal.length
objPOGrid.MaxRows = parseFloat(nRecordCount)>o bjPOGrid.M axRows?nRe cordCount: objPOGrid. MaxRows
while (!rstLocal.EOF)
{
if (Trim(rstLocal("txtItemCod e").value) != "")
{
divPurchaseOrder.setCellVa lue("sprIT EMTYPE",in tRowCtrInC urrentForm ,"I")
divPurchaseOrder.setCellVa lue("sprHI DDENITEMCO DE",intRow CtrInCurre ntForm,rst Local("txt ItemCode") .value)
divPurchaseOrder.setCellVa lue("sprIT EMDESCRIPT ION",intRo wCtrInCurr entForm,rs tLocal("tx tItemDescr iption").v alue)
divPurchaseOrder.setCellVa lue("sprST OCKQUANTIT Y",intRowC trInCurren tForm,rstL ocal("txtA vailableQu antity").v alue)
divPurchaseOrder.setCellVa lue("sprMI NSTOCKQUAN TITY",intR owCtrInCur rentForm,r stLocal("t xtMinimumQ uantity"). value)
divPurchaseOrder.setCellVa lue("sprMA XSTOCKQUAN TITY",intR owCtrInCur rentForm,r stLocal("t xtMaximumQ uantity"). value)
divPurchaseOrder.setCellVa lue("sprOP ENORDERQUA NTITY",int RowCtrInCu rrentForm, rstLocal(" txtOpenOrd erQty").va lue)
divPurchaseOrder.setCellVa lue("sprRA TEINCHF",i ntRowCtrIn CurrentFor m,rstLocal ("txtRateI nCHF").val ue)
intRowCtrInCurrentForm = parseFloat(intRowCtrInCurr entForm) + 1
}
rstLocal.MoveNext()
}
/** Loop to get the Selected Records from the Second Multiline of Transmission Log Screen **/
eval("window.parent.opener .divDelete dLines").f ilters = ""
eval("window.parent.opener .divDelete dLines").f ilters = "chkSelect $ieq$ '0' or chkSelect $ieq$ ''"
rstLocal = eval("window.parent.opener .divDelete dLines").g etDataRS()
nRecordCount = 0
// Calculate no. of rows and add rows if neccessary..
nRecordCount = rstLocal.length
objPOGrid.MaxRows = parseFloat(nRecordCount)>o bjPOGrid.M axRows?nRe cordCount: objPOGrid. MaxRows
while (!rstLocal.EOF)
{
if (Trim(rstLocal("txtItemCod e").value) != "")
{
divPurchaseOrder.setCellVa lue("sprIT EMTYPE",in tRowCtrInC urrentForm ,"I")
divPurchaseOrder.setCellVa lue("sprHI DDENITEMCO DE",intRow CtrInCurre ntForm,rst Local("txt ItemCode") .value)
divPurchaseOrder.setCellVa lue("sprIT EMDESCRIPT ION",intRo wCtrInCurr entForm,rs tLocal("tx tItemDescr iption").v alue)
divPurchaseOrder.setCellVa lue("sprST OCKQUANTIT Y",intRowC trInCurren tForm,rstL ocal("txtA vailableQu antity").v alue)
divPurchaseOrder.setCellVa lue("sprMI NSTOCKQUAN TITY",intR owCtrInCur rentForm,r stLocal("t xtMinimumQ uantity"). value)
divPurchaseOrder.setCellVa lue("sprMA XSTOCKQUAN TITY",intR owCtrInCur rentForm,r stLocal("t xtMaximumQ uantity"). value)
divPurchaseOrder.setCellVa lue("sprOP ENORDERQUA NTITY",int RowCtrInCu rrentForm, rstLocal(" txtOpenOrd erQty").va lue)
divPurchaseOrder.setCellVa lue("sprRA TEINCHF",i ntRowCtrIn CurrentFor m,rstLocal ("txtRateI nCHF").val ue)
intRowCtrInCurrentForm = parseFloat(intRowCtrInCurr entForm) + 1
}
rstLocal.MoveNext()
}
}
}
delete rstLocal
}
}
/************************* ********** ********** ********** ********** ********** ****
Function to calculate the Bonus Quantity on Enter in Bonus Quantity Field
************************** ********** ********** ********** ********** ********** ****/
function On_CalculateBonusQuantity( intRowNumb er)
{
var strQuery = ""
var strFieldsList = ""
var strItemPharmaCode = ""
var intItemQuantity = 0
var nBonusColIndex = divPurchaseOrder.getColInd ex("sprBON US")
strItemPharmaCode = divPurchaseOrder.getCellVa lue("sprHI DDENITEMCO DE",intRow Number);
intItemQuantity = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",intRowN umber);
divPurchaseOrder.setCellVa lue("sprBO NUS",intRo wNumber,"" );
strFieldsList = "sprBONUS,sprBONUS"
if (strItemPharmaCode == "" || intItemQuantity == "" || isNaN(intItemQuantity)) return false
strQuery += " SELECT TOP 1 CONVERT(INT, QtyDelivery_13) - CONVERT(INT, QtyInvoice_14) AS 'Bonus_Quantity', "
strQuery += " CONVERT(INT, QtyDelivery_13) - CONVERT(INT, QtyInvoice_14) AS 'Bonus_Quantity' "
strQuery += " FROM IIIGaldat_Pharmaceutical_W holesalers _Sales_Inf o_ACACT05_ View (NOLOCK) "
strQuery += " WHERE Phar_04 = '" + strItemPharmaCode + "' AND CONVERT(INT, QtyInvoice_14) < " + intItemQuantity
strQuery += " GROUP BY Phar_04,QtyDelivery_13,Qty Invoice_14 "
strQuery += " ORDER BY CONVERT(INT, QtyInvoice_14) DESC, CONVERT(INT, QtyDelivery_13) - CONVERT(INT, QtyInvoice_14) DESC "
launchhelpEnter("HELPENTER .ASP?From= divPurchas eOrder&Gri d=GRIDXML& fields=" + strFieldsList + "&Query=" + strQuery + "&Database=Partner&QCD=0,0 ");
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(nBonu sColIndex, intRowNumber)
}
/** Variables and Operations if Transmission is to be done **/
var TransmissionStarted = false
var TransmissionSuccess = false
var TransmissionMsg = ""
var IDF = ""
var PhoneNumber = ""
//Added by Venki for replacing the Cookies to Session Start
//var ClientParams = "<%=Request.Cookies("Clien tParams")% >"
var ClientParams = "<%=Session("ClientParams" )%>"
//Added by Venki for replacing the Cookies to Session End
var LangID = "<%=sLANGID%>"
var Item_ResponseCode = ""
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- start
var noOfLinestoLog = 0
var POLineItemstoLog = ""
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- End
/************************* ********** ********** ********** **
Function to create the V50 Transmission Input File
************************** ********** ********** ********** **/
function CreateInputV50File()
{
/* var IDF = Trim(divPurchaseOrder.getC ellValue(" CustomerID F_Code"))
var PhoneNumber = Trim(divPurchaseOrder.getC ellValue(" Phone_Numb er"))
var ClientParams = "<%=Session("ClientParams" )%>"
var LangID = "<%=sLANGID%>"
*/
IDF = Trim(divPurchaseOrder.getC ellValue(" CustomerID F_Code"))
PhoneNumber = Trim(divPurchaseOrder.getC ellValue(" Phone_Numb er"))
ClientParams = "<%=Session("ClientParams" )%>"
LangID = "<%=sLANGID%>"
/** Transmission with Error Handling **/
try
{
fso = new ActiveXObject("Scripting.F ileSystemO bject")
/** Delete the previous Transmission's Response file **/
var LocalFileName = "c:\\iii\\v50\\ANSWER.DAT"
if (fso.FileExists(LocalFileN ame)) fso.DeleteFile(LocalFileNa me)
/** Preparing the Local File Path & Name based on the Customer IDF Code, Delete it if it already exists **/
LocalFileName = "c:\\iii\\v50\\" + IDF + ".v50"
if (fso.FileExists(LocalFileN ame)) fso.DeleteFile(LocalFileNa me)
var its = fso.CreateTextFile(LocalFi leName,1,f alse)
its.WriteLine('C;2;W2250;G ALINFO 1')
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- start
noOfLinestoLog = 0
POLineItemstoLog = ""
datestr = getCurrentDate()
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- End
divPurchaseOrder.filters = "";
var objPOMLDOM = divPurchaseOrder.getXMLStr ing();
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
var rstPOMLDetails = objPOMLDOM.selectNodes("// row");
var nRowLength = rstPOMLDetails.length
var nNoOfLines = 0
for (var cntr = 1; cntr <= nRowLength; cntr ++)
{
var strITEMCODE = divPurchaseOrder.getCellVa lue("sprHI DDENITEMCO DE",cntr)
var nQUANTITY = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",cntr)
var str = ""
if (strITEMCODE != "")
{
str += "1;"
str += makelength(strITEMCODE, 7)
str += ";"
str += makelength(nQUANTITY, 4)
str += ";00;" + datestr
its.WriteLine(str)
nNoOfLines++
}
POLineItemstoLog = POLineItemstoLog + "::" + str //Added by VenkiRSL - 06May2003 TRIAMUNIII1.0S_016597
}
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- start
noOfLinestoLog = nNoOfLines
if(nNoOfLines == 0)
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1130)% >")
its.Close()
return false
}
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- End
NoofLinesforComparition = makelength(nNoOfLines.toSt ring(), 3)
lastline = "E;00;" + NoofLinesforComparition
its.WriteLine(lastline)
its.Close()
}
catch(objException)
{
TransmissionMsg = "<%=errObject.getnthdescri ption(errF ileName,11 30)%>"
return false
}
return true
}
/************************* ********** ********** ********** *******
Function to call PO Transmit on Load of PO Detail DIV
************************** ********** ********** ********** *******/
function On_LOADSUBMITFORTRANSMISSI ON()
{
if (strACTION == "TRANSMITPURCHASEORDERFETC H")
{
// Step 1 : Create the Input file
if(CreateInputV50File())
{
// Step 2: Execute V50 EXE for Transmission
ExecuteV50Command(IDF, PhoneNumber, ClientParams, LangID)
// Step 3: Read the anwer file and store as ItemCode1~ResponseCode1~~I temCode2~R esponseCod e2....
Item_ResponseCode = ReadV50AnswerFile()
}
LogPODetailsInTextFile() //Added by VenkiRSL - 06May2003 TRIAMUNIII1.0S_016597
document.frmPurchaseOrder. TransRespo nse.value = Item_ResponseCode
/** Transmission status is Failure **/
if (!TransmissionSuccess)
{
alert(TransmissionMsg)
document.frmPurchaseOrder. txtPOStatu s.disabled = false;
document.frmPurchaseOrder. txtPOStatu s.value = "6"
document.frmPurchaseOrder. txtPOStatu s.disabled = true;
//document.frmPurchaseOrde r.hidPOSta tus.value = "6"
}
/** Transmission status is Transmitted **/
else
{
document.frmPurchaseOrder. txtPOStatu s.disabled = false;
document.frmPurchaseOrder. txtPOStatu s.value = "4"
document.frmPurchaseOrder. txtPOStatu s.disabled = true;
//document.frmPurchaseOrde r.hidPOSta tus.value = "4"
}
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
On_CallXMLHTTPAfterValidat ions("TRAN SMITPURCHA SEORDERUPD ATE");
return false;
}
}
//Function LogPODetailsInTextFile() added by VenkiRSL for TRIAMUNIII1.0S_016597 - 06May2003
/************************* ********** ********** ********** ********** ********** ********
Logging the PO Transmission details into flat files before and after PO Transmission
************************** ********** ********** ********** ********** ********** ********/
function LogPODetailsInTextFile()
{
var IDFNo = Trim(divPurchaseOrder.getC ellValue(" CustomerID F_Code"))
var PONumbertmp = document.frmPurchaseOrder. txtPONumbe r.value
var filesys, newfolder, sourceFile, destinationFile
filesys = new ActiveXObject("Scripting.F ileSystemO bject")
if(!filesys.FolderExists(" c:\\III"))
return
if(!filesys.FolderExists(" c:\\III\\V 50"))
return
var HistoryFolder = "c:\\III\\V50\\History"
if(!filesys.FolderExists(H istoryFold er))
newfolder = filesys.CreateFolder(Histo ryFolder)
var Curdate = getCurrentDate()
var CurdateArry = Curdate.split(".")
var dt = new Date()
var hours = (dt.getHours().toString(). length == 1)?("0" + dt.getHours().toString()): (dt.getHou rs().toStr ing())
var minutes = (dt.getMinutes().toString( ).length == 1)?("0" + dt.getMinutes().toString() ):(dt.getM inutes().t oString())
var seconds = (dt.getSeconds().toString( ).length == 1)?("0" + dt.getSeconds().toString() ):(dt.getS econds().t oString())
var dateTimetmp = CurdateArry[2]+CurdateArry [1]+Curdat eArry[0]+h ours+minut es+seconds
var DestinationFolder = HistoryFolder +"\\"+ dateTimetmp+"_"+PONumbertm p
if(!filesys.FolderExists(D estination Folder))
newfolder = filesys.CreateFolder(Desti nationFold er)
sourceFile = "c:\\III\\V50\\"+IDFNo+".v 50"
destinationFile = DestinationFolder+"\\"+IDF No+".v50"
if (filesys.FileExists(source File) && filesys.FolderExists(Desti nationFold er))
{
filesys.MoveFile(sourceFil e, destinationFile)
}
sourceFile = "c:\\III\\V50\\Answer.Dat"
destinationFile = DestinationFolder+"\\Answe r.Dat"
if (filesys.FileExists(source File) && filesys.FolderExists(Desti nationFold er))
{
filesys.MoveFile(sourceFil e, destinationFile)
}
if(filesys.FolderExists(De stinationF older))
{
var LogFileName = DestinationFolder+"\\Log.t xt"
its = filesys.CreateTextFile(Log FileName,1 ,true)
its.WriteLine("Transmissio n Status : " + TransmissionSuccess)
its.WriteLine("Response text : " + Item_ResponseCode)
its.WriteLine("No of lines Read from ML : " + noOfLinestoLog)
its.WriteLine("PO Lines Read from ML : " + POLineItemstoLog)
its.Close()
}
}
/************************* ********** ********** ********** ********** **
Event to set the Deilvery Time when defaulting the Time Rules
************************** ********** ********** ********** ********** **/
function On_ChangeDeliveryTime()
{
var DeliveryTimeTemp = document.frmPurchaseOrder. hidDeliver yTime.valu e
if (DeliveryTimeTemp == '')
{
DeliveryTimeTemp = '23:59'
}
SetTimeValue(document.frmP urchaseOrd er.txtDeli veryTime, DeliveryTimeTemp)
}
/************************* ********** ********** ********** *****
Function to Print Delivery Slip when launched from SO
Changed by VenkiRSL:Reports : 20-Jan-2002
************************** ********** ********** ********** *****/
function On_DeliverySlip()
{
var PONumber = document.frmPurchaseOrder. txtPONumbe r.value
intPOStatus = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
if(PONumber == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,337 )%>", "<%=lblPurchaseOrderNumber %>")
document.frmPurchaseOrder. txtPONumbe r.focus();
return false
}
var strPrintFlag = Trim(document.frmPurchaseO rder.hidPr intFlag.va lue)
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,639)%> ")
return false
}
// Validate that only authorised purchase orders can be printed
if (intPOStatus != "3")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,956)%> ")
return false
}
var size = "directories=no,location=n o,menubar= no,status= no,titleba r=no,toolb ar=no,resi zable=yes, height=200 ,width=310 ";
var ProcParams = '<%=Triamun_Session("nPart nerId")%>' + ", '" + PONumber + "'"
winReport = window.open('../Reports/II IRSL_Pharm acy_Delive ry_Cashier Slip.asp?R eportId=29 &ParamCol= '+ProcPara ms+'&PONum ber='+PONu mber , "Reports", size);
winReport.focus();
}
/************************* ********** ********** **********
Function to print Report on press of Print Button
************************** ********** ********** ********** */
function On_PrintReports()
{
var size = "directories=no,location=n o,menubar= no,status= no,titleba r=no,toolb ar=no,resi zable=yes, height=200 ,width=310 ";
var PONO = Trim(document.frmPurchaseO rder.txtPO Number.val ue)
if(PONO == "")
{
IIIalert("<%=errObject.get nthdescrip tion(errFi leName,337 )%>", "<%=lblPurchaseOrderNumber %>")
document.frmPurchaseOrder. txtPONumbe r.focus();
return false
}
else
{
retval = isvalidCharSet(document.fr mPurchaseO rder.txtPO Number.val ue);
if (retval == false)
{
IIIalert("<%=ErrObject.get nthdescrip tion(Errfi lename,305 )%>","<%=l blPurchase OrderNumbe r%>");
document.frmPurchaseOrder. txtPONumbe r.select() ;
return false;
}
}
ProcParams = '<%=Triamun_Session("nPart nerId")%>' + ", '" + PONO + "', '" + '<%=Ucase(Triamun_Session( "Language" ))%>' +"'"
winReport = window.open('../Reports/Re ports.asp? ReportId=1 &ParamCol= '+ProcPara ms , "Reports", size);
winReport.focus();
}
/************************* ********** ********** ********** *******
Function to fire on fetch of Item Details through Enter
************************** ********** ********** ********** *******/
function On_FetchItemDetails()
{
if (strItemHelpEnterRow == "") strItemHelpEnterRow = 0
var nItemDescColIndex = divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON");
//Adda new line if the help enter is callled from last row of the GRID..
if(objPURCHASEORDER.Maxrow s == strItemHelpEnterRow)
{
InsertSingleRow(objPURCHAS EORDER, objPURCHASEORDER.ActiveRow )
}
/** Defaults the Previous Lines Quantity when scanning is done **/
if ( (parseFloat(strItemHelpEnt erRow) != 0) && (divPurchaseOrder.getCellV alue("sprH IDDENITEMC ODE",strIt emHelpEnte rRow) != "") )
{
var tmpOrderQty = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",parseFl oat(strIte mHelpEnter Row)-1)
divPurchaseOrder.setCellVa lue("sprOR DERQUANTIT Y",strItem HelpEnterR ow,tmpOrde rQty)
}
/** Set Focus in Next Row when some Records have been returned **/
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(nItem DescColInd ex, (parseFloat(strItemHelpEnt erRow)+1))
}
/************************* ********** ********** ********** ********** ********** ********
Function for Showing Open Orders for the Item on click of Open Order Quantity
************************** ********** ********** ********** ********** ********** ********/
function On_OPENPOQUANTITY(nCol,nRo w,strColVa lue)
{
var nOPENQUANTITY = strColValue
var strItemCode = divPurchaseOrder.getCellVa lue("sprHI DDENITEMCO DE",nRow);
var strItemDescription = divPurchaseOrder.getCellVa lue("sprIT EMDESCRIPT ION",nRow) ;
if (nOPENQUANTITY != "" && nOPENQUANTITY > 0)
{
var strFILENAME = "HELP.ASP?HELP_ID=105&Star tText="+ nRow +"&Replace=" + <%=sPARTNERID%> + "," + strItemCode + "," + strItemDescription + "&FilterValues=sprHIDDENIT EMCODE,spr ITEMDESCRI PTION&Igno reSortFilt ers=YES"
launchhelp1(strFILENAME);
}
}
var colNo_sprHIDDENCUSTOMERREF ERENCES = 0;
function getColReference()
{
colNo_sprHIDDENCUSTOMERREF ERENCES = divPurchaseOrder.getColInd ex("sprHID DENCUSTOME RREFERENCE S");
}
/************************* ********** *******
Function to fire on Load of the form
************************** ********** *******/
function SetDefaults(strFlag)
{
objPURCHASEORDER = document.all("sprPurchaseO rder")
On_LOADSUBMITFORTRANSMISSI ON() // Fires after successful Fetch after Transmit Fetch
On_FILLVALUESFROMCALLINGSC REEN(strFl ag) // Read From Screens if launched as a Sub Screen
//On_LoadFUIFileOnBodyLoad () // Loads the FUI File On Body Load
/** Freeze first Four Columns till Item Description Help **/
objPURCHASEORDER.ColsFroze n = divPurchaseOrder.getColInd ex("sprHEL PFORITEM") ;
//OnLaunch fo the screen - Defaults value are set for the time ..
/*if (strACTION == "")
{
SetTimeValue(document.frmP urchaseOrd er.txtOrde rTime, divPurchaseOrder.getCellVa lue("PO_Ti me"))
SetTimeValue(document.frmP urchaseOrd er.txtTran smissionTi me, divPurchaseOrder.getCellVa lue("PO_Tr ansmission _Time"))
SetTimeValue(document.frmP urchaseOrd er.txtDeli veryTime, divPurchaseOrder.getCellVa lue("PO_De livery_Tim e"))
}*/
/************************* ********** ********** ********** ********** ********** ********** ********** ********** ***
Disable the Mode of Transmission Combo if the PO Status is not in one of the following Cases
1. Not Empty ( Screen Launch )
2. Not in Open Status
3. Not in Authorised Status with Mode of Transmission as Modem
4. Not in Failed Status with Mode of Transmission as Modem
************************** ********** ********** ********** ********** ********** ********** ********** ********** ***/
var nPOSTATUS = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
var strMODEOFTRANSMISSION = Trim(divPurchaseOrder.getC ellValue(" PO_Transmi ssion_Mode "))
if (nPOSTATUS == "" || nPOSTATUS == "2" || (nPOSTATUS == "3" && strMODEOFTRANSMISSION == "A") ||
(nPOSTATUS == "6" && strMODEOFTRANSMISSION == "A"))
{
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = false
}
else
{
document.frmPurchaseOrder. cboModeOfT ransmissio n.disabled = true
Allowupdate = false;
}
/*** set focus on launch on the first field ***/
//document.frmPurchaseOrde r.txtPONum ber.focus( )
/** Set the Focus to the Print Window if the Print Flag Update is a success **/
if(Trim(divPurchaseOrder.g etCellValu e("Print_F lag")).toU pperCase() == 'Y')
{
//set the button text to Reprint..
document.frmPurchaseOrder. cmdPrint.v alue = "<%=lblRePrint%>"
if(strACTION == 'PRINTPURCHASEORDER')
{
On_PrintReports()
if (typeof(eval(winReport)) != "undefined")
winReport.focus();
}
}
else
{
document.frmPurchaseOrder. cmdPrint.v alue = "<%=lblPrint%>"
}
}
</SCRIPT>
<!------------------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ->
<!------------------------ ---------- --- Event Handling for ML Grid -------------------------- ---------- --->
<SCRIPT LANGUAGE="JavaScript" FOR="sprPurchaseOrder" EVENT="ScriptKeyDown(KeyCo de, Shift)">
if (KeyCode == 40)
{
if(objPURCHASEORDER.Active Row == objPURCHASEORDER.MaxRows)
{
var nItemDescColIndex = divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON");
var nQtyColIndex = divPurchaseOrder.getColInd ex("sprORD ERQUANTITY ");
var nBonusColIndex = divPurchaseOrder.getColInd ex("sprBON US");
var nPriceColIndex = divPurchaseOrder.getColInd ex("sprRAT EINCHF");
var nSelColIndex = divPurchaseOrder.getColInd ex("sprSEL ");
var nControlledColIndex = divPurchaseOrder.getColInd ex("sprCON TROLLED");
var nDeleteColIndex = divPurchaseOrder.getColInd ex("sprDEL ETE");
if( (objPURCHASEORDER.ActiveCo l == nItemDescColIndex) || (objPURCHASEORDER.ActiveCo l == nQtyColIndex) || (objPURCHASEORDER.ActiveCo l == nBonusColIndex) || (objPURCHASEORDER.ActiveCo l == nPriceColIndex) || (objPURCHASEORDER.ActiveCo l == nDeleteColIndex) || (objPURCHASEORDER.ActiveCo l == nSelColIndex) || (objPURCHASEORDER.ActiveCo l == nControlledColIndex))
{
//Insert a new Row
InsertSingleRow(objPURCHAS EORDER, objPURCHASEORDER.ActiveRow )
}
}
}
else if (KeyCode == 37 || KeyCode == 39)
{
SetFocusOnNextOrPreviousCo lumn(objPU RCHASEORDE R, KeyCode, objPURCHASEORDER.ActiveCol , objPURCHASEORDER.ActiveRow )
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" FOR="sprPurchaseOrder" EVENT="ScriptKeyPress(nKey Ascii)">
if (nKeyAscii == 13)
{
var nItemTypeColIndex = divPurchaseOrder.getColInd ex("sprITE MTYPE");
var nItemDescColIndex = divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON");
var nRowNumber = objPURCHASEORDER.ActiveRow
if(objPURCHASEORDER.Active Col == nItemDescColIndex)
{
var strItemType = divPurchaseOrder.getCellVa lue(nItemT ypeColInde x,nRowNumb er);
var strItemEANCode = Trim(divPurchaseOrder.getC ellValue(n ItemDescCo lIndex,nRo wNumber));
if(strItemType != "" && strItemEANCode != "")
On_HelpOnEnterForItems(nRo wNumber, nItemDescColIndex, strItemType, strItemEANCode)
}
else if(objPURCHASEORDER.Active Col == divPurchaseOrder.getColInd ex("sprDEL ETE"))
{
InsertSingleRow(objPURCHAS EORDER, objPURCHASEORDER.ActiveRow )
}
else if(objPURCHASEORDER.Active Col == divPurchaseOrder.getColInd ex("sprBON US"))
{
var strItemType = divPurchaseOrder.getCellVa lue(nItemT ypeColInde x,nRowNumb er);
if (strItemType == "I")
{
On_CalculateBonusQuantity( nRowNumber )
return false
}
}
}
</SCRIPT>
<!------------------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ->
<!------------------------ ---------- --- Event Handling for ML Grid -------------------------- ---------- --->
<SCRIPT>
/* Function Calls Help for Item and basler Taxe, if the ... button is clicked */
function On_GridButtonClick()
{
var nCol = event.nCol;
var nRow = event.nRow;
var strFieldName = event.FieldName;
//----------- Help for Item and Basler Taxe ---------------------//
if (strFieldName == "sprHELPFORITEM")
{
HelpForItemOrChemical(nRow )
return false;
}
else if(strFieldName == "sprREFERENCE")
{
/************************* ********** ********** ********** ********** ********** ********** ********** *****
To Launch the Customer Reference Sub Screen as a Modal Window when the Go Button is clicked
************************** ********** ********** ********** ********** ********** ********** ********** *****/
var arrVALUES = new Array();
// Setting the Values to be passed to the SUB SCREEN
arrVALUES[0] = nRow
arrVALUES[1] = divPurchaseOrder.getCellVa lue("sprIT EMDESCRIPT ION",nRow) ;
arrVALUES[2] = divPurchaseOrder.getCellVa lue("sprOR DERQUANTIT Y",nRow);
arrVALUES[3] = eval("divPurchaseOrder");
arrVALUES[4] = "PURCHASEORDER";
/** Validate that Item Description should be entered before launching the Customer Details sub screen **/
if (arrVALUES[1] == "")
{
alert("<%=errObject.getnth descriptio n(errFileN ame, 1471)%>");
return false
}
var arrRETURNVALUE = showModalDialog("POCUSTOME RDETAILS3. ASP", arrVALUES, style="top:80;left:0;dialo gHeight:60 0px;dialog Width:1020 px;scrollb ars:none;h elp:no;sta tus:no");
if (arrRETURNVALUE[0] == "OK")
{
arrRETURNVALUE[1] = escape(arrRETURNVALUE[1]);
divPurchaseOrder.setCellVa lue("sprHI DDENCUSTOM ERREFERENC ES",nRow,a rrRETURNVA LUE[1])
// Button color is changed after setting values..
var objPOGrid = eval(divPurchaseOrder.getG ridRef())
var nColIndex = divPurchaseOrder.getColInd ex("sprREF ERENCE");
if(arrRETURNVALUE[1] != "")
Set_Button_Color(objPOGrid , nRow, nColIndex, "COLOR")
else
Set_Button_Color(objPOGrid , nRow, nColIndex, "NORMAL")
}
return false;
}
}
/* Function to calculate Total on change of Qty and Total */
function On_CellChange()
{
var nCol = event.nCol;
var nRow = event.nRow;
var strFieldName = event.FieldName;
if ( (strFieldName == "sprORDERQUANTITY") || (strFieldName == "sprBONUS") || (strFieldName == "sprRATEINCHF") )
{
On_BlurCalculateTotals(nRo w);
}
else if(strFieldName == "sprITEMDESCRIPTION")
{
On_ChangeItemDescription(n Row)
}
}
var Allowupdate = true;
function validateTransmissionMode(o bjTxCboMod e)
{
//if ( objTxCboMode.value == "A" ) objTxCboMode.value = "M"
var nPOSTATUS = Trim(divPurchaseOrder.getC ellValue(" PO_Status" ))
var strMODEOFTRANSMISSION = Trim(divPurchaseOrder.getC ellValue(" PO_Transmi ssion_Mode "))
if (( nPOSTATUS == "3" ) || ( nPOSTATUS == "6" ))
{
if (strMODEOFTRANSMISSION == "M")
{
objTxCboMode.value = "M"
objTxCboMode.disabled = true;
Allowupdate = false;
}
else
{
if ( objTxCboMode.value = "M" ) Allowupdate = true;
}
}
return false;
}
function cmdItemAvailability_onClic k()
{
/** To check that atleast one row exists in Multiline **/
var nOrderQuantity = "";
var nSelectColIndex = divPurchaseOrder.getColInd ex("sprSEL ");
var nHidItemTypeColIndex = divPurchaseOrder.getColInd ex("sprITE MTYPE");
var nItemTypeColIndex = divPurchaseOrder.getColInd ex("sprITE MTYPE");
var nItemDescColIndex = divPurchaseOrder.getColInd ex("sprITE MDESCRIPTI ON");
var nItemCodeColIndex = divPurchaseOrder.getColInd ex("sprHID DENITEMCOD E");
var nQuantityColIndex = divPurchaseOrder.getColInd ex("sprORD ERQUANTITY ");
var nItemTypeColIndex = nHidItemTypeColIndex + "~" + nItemTypeColIndex
var strError = CallProductAvailability("f rmPurchase Order",obj PURCHASEOR DER,nSelec tColIndex, nItemTypeC olIndex,nI temDescCol Index,nIte mCodeColIn dex,nQuant ityColInde x)
if (strError != true)
{
var strErrorArry = strError.split("~")
var intErrorNum = parseInt(strErrorArry[0])
if (strErrorArry.length == 3)
{
var intCol = parseInt(strErrorArry[1])
var intRow = parseInt(strErrorArry[2])
}
if (intErrorNum == "770")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,770)%> ");
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(intCo l,intRow);
return false;
}
if (intErrorNum == "1548")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1548)% >");
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(intCo l,intRow);
return false;
}
if (intErrorNum == "1549")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,1549)% >");
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive Cell(intCo l,intRow);
return false;
}
if (intErrorNum == "436")
{
alert("<%=errObject.getnth descriptio n(errFileN ame,436)%> ");
return false;
}
}
var winHelp, strWindowName, strFileName;
strWindowName = "ProductAvailability";
strFileName = "ProductAvailability.asp?F rom=docume nt.frmPurc haseOrder"
winHelp = window.open(strFileName, strWindowName, 'menubar=no,location=no,to olbar=no,r esizable=y es,scrollb ars=yes,to p=80,left= 0,width=10 20,height= 600');
winHelp.focus();
}
</SCRIPT>
</HEAD>
<!-- Drawing Screen -->
<BODY ID="PURCHASEORDER3" CLASS="pgbody" ONCLICK="bodyHideAll()" ONLOAD="SetDefaults('ONLOA D')">
<%If varFromScreen = "" Then%>
<!--#include file="../include/galmenu.a sp"-->
<%End If%>
<FORM METHOD="POST" NAME="frmPurchaseOrder" ONSUBMIT="return On_Create()">
<%If varFromScreen <> "" Then%>
<TABLE STYLE="width:954px">
<TR ALIGN="right">
<TD CLASS="tdScreenTitle" NOWRAP><%=lblScreenTitle%> </TD>
</TR>
</TABLE>
<HR>
<%End If%>
<TABLE NAME="POHEADER" ID="POHEADER"> <!-- Table for PO Header and ML -->
<TR>
<TD ALIGN="left" COLSPAN="9">
<!-- Hidden Header Controls Starts -->
<INPUT TYPE="hidden" NAME="mTimeStamp" VALUE="">
<INPUT TYPE="hidden" NAME="mPOType" VALUE="">
<INPUT TYPE="hidden" NAME="mNoOfLinesAutomatic" VALUE="">
<INPUT TYPE="hidden" NAME="mNoOfLinesManual" VALUE="">
<INPUT TYPE="hidden" NAME="mNoOfLinesCustomer" VALUE="">
<INPUT TYPE="hidden" NAME="mSalesOrderNo" VALUE="">
<INPUT TYPE="hidden" NAME="mFromScreen" VALUE="">
<INPUT TYPE="hidden" NAME="hidPrintFlag" VALUE="">
<INPUT TYPE="hidden" NAME="hidStatusOfPOBeforeU pdate" VALUE="">
<INPUT TYPE="hidden" NAME="hidOnFetchItemDetail s" ONCHANGE="On_FetchItemDeta ils()">
<INPUT TYPE="hidden" NAME="hidDeliveryTime" ONCHANGE="On_ChangeDeliver yTime()">
<INPUT TYPE="hidden" NAME="hidPODETAILDATA">
<INPUT TYPE="hidden" NAME="hdnPDIExists" VALUE="">
<!-- Hidden Header Controls Ends -->
<!--Begin :Interface 002:PO Transmission - Venki-->
<INPUT TYPE="hidden" NAME="TransResponse">
<INPUT TYPE="hidden" NAME="hidCustomerIDFCode" VALUE="">
<INPUT TYPE="hidden" NAME="hidPhoneNumber" VALUE="">
<!--End :Interface 002:PO Transmission - Venki-->
<!-- Hidden Control For Item availability Starts -->
<INPUT TYPE="hidden" NAME="hidItemAvailability" VALUE="">
<!-- Hidden Control For Item availability Ends -->
<!-- License File for Time Picker & Grid Download Starts -->
<OBJECT CLASSID="<%=lbltriamunlpk% >" VIEWASTEXT id=OBJECT1>
<PARAM NAME="LPKPath" VALUE="../Download/Triamun .lpk">
</OBJECT>
</TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblPurch aseOrderNu mber%></TD >
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtPONumber" MAXLENGTH="15" CLASs="tdEdit" SIZE="17" ONFOCUS="On_SetFocusValue( 'txtPONumb er', '')" ONBLUR="On_SetFocusValue(' ', '')"></TD>
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdCCHForPONO" VALUE="..." ONCLICK="HelpForPONumber() " <%=GetAccessPermission("PU RCHASEORDE R3","FETCH ")%>></TD>
<TD ALIGN="left" CLASS="tdText"><INPUT TYPE="button" NAME="cmdFetch" CLASS="stdButton" VALUE="<%=lblFetch%>" ONCLICK="On_Fetch()" <%=GetAccessPermission("PU RCHASEORDE R3","FETCH ")%>></TD>
<TD ALIGN="left" CLASS="tdtext"></TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblStatu s%></TD>
<TD ALIGN="left" CLASS="tdtext">
<!-- <INPUT TYPE="hidden" NAME="hidPOStatus" VALUE=""> -->
<!-- <INPUT TYPE="text" NAME="txtPOStatus" CLASS="ctrlHdrReadOnly" READONLY TABINDEX="-1" VALUE="<%=GetQCDDESCRIPTIO NFORCODE(P OStatusQCD ,Trim(varP OStatus))% >"> -->
<SELECT NAME="txtPOStatus" CLASS="ctrlHdrReadOnly" DISABLED>
<OPTION VALUE="" SELECTED></OPTION>
<% For varCtr = 0 To UBound(POStatusQCD) 'PO Status retrieved from QCD %>
<OPTION VALUE="<%=POStatusQCD(varC tr,0)%>"> <%=POStatusQCD(varCtr,1)%> </OPTION>
<% Next %>
</SELECT>
</TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
<TR><TD ALIGN="left" COLSPAN="9"><HR></TD></TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblSuppl ier%></TD>
<TD CLASS="tdtext"><INPUT TYPE="text" NAME="txtSupplierDescripti on" MAXLENGTH="40" ONCHANGE="On_ClearSupplier Code()" ID="<%=lblSupplier%>" ONFOCUS="On_SetFocusValue( name, '')" ONBLUR="On_SetFocusValue(' ', '');On_ValidateCharSet(thi s, this.id)" CLASS="tdEdit"><INPUT TYPE="hidden" NAME="txtSupplierCode"></T D>
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdCCHForSupplier" VALUE="..." ONCLICK="HelpForSupplier() "><LABEL ID="lblMandatoryRed">*</LA BEL></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblOrder Date%></TD >
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" ID="txtOrderDate" NAME="txtOrderDate" MAXLENGTH="10" CLASS="tdEdit" ID="<%=lblOrderDate%>" ONFOCUS="On_SetFocusValue( 'txtOrderD ate', '')" ONBLUR="validateDate(this, this.id);On_SetFocusValue( '', '')"></TD>
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdDatePickForOrderD ate" VALUE="^" ONCLICK="Datepick('documen t.frmPurch aseOrder.t xtOrderDat e','<%=sLA NGID%>')"> <LABEL ID="lblMandatoryRed">*</LA BEL></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblOrder Time%></TD >
<TD ALIGN="left" CLASS="tdtext"><OBJECT NAME="txtOrderTime" ID="txtOrderTime" CLASS="tdEdit" STYLE="left:0px;top:0px;he ight:24px" CLASSID="<%=lblTime%>" CODEBASE="../Download/MSCO MCT2.CAB" VIEWASTEXT>
<PARAM NAME="_ExtentX" VALUE="1826">
<PARAM NAME="_ExtentY" VALUE="900">
<PARAM NAME="_Version" VALUE="393216">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Enabled" VALUE="1">
<PARAM NAME="OLEDropMode" VALUE="0">
<PARAM NAME="CalendarBackColor" VALUE="-2147483643">
<PARAM NAME="CalendarForeColor" VALUE="-2147483630">
<PARAM NAME="CalendarTitleBackCol or" VALUE="-2147483633">
<PARAM NAME="CalendarTitleForeCol or" VALUE="-2147483630">
<PARAM NAME="CalendarTrailingFore Color" VALUE="-2147483631">
<PARAM NAME="CheckBox" VALUE="0">
<PARAM NAME="CustomFormat" VALUE="HH:mm">
<PARAM NAME="DateIsNull" VALUE="0">
<PARAM NAME="Format" VALUE="662831107">
<PARAM NAME="UpDown" VALUE="1">
<PARAM NAME="CurrentDate" VALUE="0.833333333333333">
<PARAM NAME="MaxDate" VALUE="2958465">
<PARAM NAME="MinDate" VALUE="-109205">
</OBJECT></TD>
<TD ALIGN="left" CLASS="tdHelp"><LABEL ID="lblMandatoryRed">*</LA BEL></TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblModeO fPO%></TD>
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtModeOfPO" READONLY TABINDEX="-1" CLASS="ctrlhdrreadonly" VALUE=""></TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTrans missionDat e%></TD>
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" ID="<%=lblTransmissionDate %>" NAME="txtTransmissionDate" MAXLENGTH="10" CLASS="tdEdit" ONBLUR="validateDate(this, this.id)"></TD>
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdDatePickForTransm issionDate " VALUE="^" ONCLICK="Datepick('documen t.frmPurch aseOrder.t xtTransmis sionDate', '<%=sLANGI D%>')"><LA BEL ID="lblMandatoryBlue">*</L ABEL></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTrans missionTim e%></TD>
<TD ALIGN="left" CLASS="tdtext"><OBJECT NAME="txtTransmissionTime" ID="txtTransmissionTime" CLASS="tdEdit" STYLE="left:0px;top:0px;he ight:24px" CLASSID="<%=lblTime%>" CODEBASE="../Download/MSCO MCT2.CAB" VIEWASTEXT>
<PARAM NAME="_ExtentX" VALUE="1826">
<PARAM NAME="_ExtentY" VALUE="900">
<PARAM NAME="_Version" VALUE="393216">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Enabled" VALUE="1">
<PARAM NAME="OLEDropMode" VALUE="0">
<PARAM NAME="CalendarBackColor" VALUE="-2147483643">
<PARAM NAME="CalendarForeColor" VALUE="-2147483630">
<PARAM NAME="CalendarTitleBackCol or" VALUE="-2147483633">
<PARAM NAME="CalendarTitleForeCol or" VALUE="-2147483630">
<PARAM NAME="CalendarTrailingFore Color" VALUE="-2147483631">
<PARAM NAME="CheckBox" VALUE="0">
<PARAM NAME="CustomFormat" VALUE="HH:mm">
<PARAM NAME="DateIsNull" VALUE="0">
<PARAM NAME="Format" VALUE="662831107">
<PARAM NAME="UpDown" VALUE="1">
<PARAM NAME="CurrentDate" VALUE="0.833333333333333">
<PARAM NAME="MaxDate" VALUE="2958465">
<PARAM NAME="MinDate" VALUE="-109205">
</OBJECT></TD>
<TD ALIGN="left" CLASS="tdHelp"><LABEL ID="lblMandatoryBlue">*</L ABEL></TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblModeO fTransmiss ion%></TD>
<TD ALIGN="left" CLASS="tdtext">
<SELECT NAME="cboModeOfTransmissio n" CLASS="tdEdit" onbeforeupdate="validateTr ansmission Mode(this) ">
<OPTION VALUE=""></OPTION>
<%For cntr = 0 To UBound(POTransmissionMode, 1)
if POTransmissionMode(cntr,0) = varPOTransmissionMode then%>
<OPTION VALUE="<%=POTransmissionMo de(cntr,0) %>" SELECTED><%=POTransmission Mode(cntr, 1)%></OPTI ON>
<%Else%>
<OPTION VALUE="<%=POTransmissionMo de(cntr,0) %>"><%=POT ransmissio nMode(cntr ,1)%></OPT ION>
<%End If
Next%>
</SELECT><LABEL ID="lblMandatoryRed">*</LA BEL>
</TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblDeliv eryDate%>< /TD>
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" ID="<%=lblDeliveryDate%>" NAME="txtDeliveryDate" CLASS="tdEdit" MAXLENGTH="10" ID="<%=lblDeliveryDate%>" ONBLUR="validateDate(this, this.id)"></TD>
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdDatePickForDelive ryDate" VALUE="^" ONCLICK="Datepick('documen t.frmPurch aseOrder.t xtDelivery Date','<%= sLANGID%>' )"><LABEL ID="lblMandatoryRed">*</LA BEL></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblDeliv eryTime%>< /TD>
<TD ALIGN="left" CLASS="tdtext"><OBJECT NAME="txtDeliveryTime" ID="txtDeliveryTime" CLASS="tdEdit" STYLE="left:0px;top:0px;he ight:24px" CLASSID="<%=lblTime%>" CODEBASE="../Download/MSCO MCT2.CAB" VIEWASTEXT>
<PARAM NAME="_ExtentX" VALUE="1826">
<PARAM NAME="_ExtentY" VALUE="900">
<PARAM NAME="_Version" VALUE="393216">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Enabled" VALUE="1">
<PARAM NAME="OLEDropMode" VALUE="0">
<PARAM NAME="CalendarBackColor" VALUE="-2147483643">
<PARAM NAME="CalendarForeColor" VALUE="-2147483630">
<PARAM NAME="CalendarTitleBackCol or" VALUE="-2147483633">
<PARAM NAME="CalendarTitleForeCol or" VALUE="-2147483630">
<PARAM NAME="CalendarTrailingFore Color" VALUE="-2147483631">
<PARAM NAME="CheckBox" VALUE="0">
<PARAM NAME="CustomFormat" VALUE="HH:mm">
<PARAM NAME="DateIsNull" VALUE="0">
<PARAM NAME="Format" VALUE="662831107">
<PARAM NAME="UpDown" VALUE="1">
<PARAM NAME="CurrentDate" VALUE="0.833333333333333">
<PARAM NAME="MaxDate" VALUE="2958465">
<PARAM NAME="MinDate" VALUE="-109205">
</OBJECT></TD>
<TD ALIGN="left" CLASS="tdHelp"><LABEL ID="lblMandatoryRed">*</LA BEL></TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblSales Rep%></TD>
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtSalesRep" VALUE="" ID="<%=lblSalesRep%>" MAXLENGTH="40" CLASS="tdEdit" ONBLUR="On_ValidateCharSet (this, this.id)"></TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTotal Value%></T D>
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtTotalValue" READONLY TABINDEX="-1" CLASS="ctrlhdrreadonly" STYLE="text-align:right">< /TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTotal NumberOfLi neItems%>< /TD>
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtTotalNoOfLineItem s" VALUE="" READONLY CLASS="ctrlhdrReadOnly" STYLE="TEXT-ALIGN:RIGHT" TABINDEX="-1"></TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblRemar k%></TD>
<TD ALIGN="left" CLASS="tdtext" COLSPAN="7"><TEXTAREA NAME="txtRemarks" ROWS="2" CLASS="tdEditSpan7" ONKEYPRESS="return LimitTextArea(this, 500)"><%=varRemarks%></TEX TAREA></TD >
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
</TABLE>
<!-- PO Detail Table -->
<TABLE>
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<!-- #include file="DATAMAPPING_PURCHASE ORDER.asp" -->
</TD>
</TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<TABLE>
<TR ALIGN="left">
<TD ALIGN="left" STYLE="width:300px" CLASS="hdrText">
<INPUT TYPE="checkbox" NAME="chkSelectAllForContr olled" ONCLICK="On_CheckUnCheckAl lControlle dCheckBoxe s()">  ;
<LABEL ID="lblCheckUncheckControl led"><%=lb lSelectAll ForControl led%></LAB EL>
</TD>
<TD ALIGN="right" STYLE="width:650px" CLASS="hdrText">
<DIV ID="IDCreatedOn"><%=varRec ordCreatio nLabel%></ DIV>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<!--
<TR>
<TD ALIGN="left" CLASS="tdText"></TD>
<TD ALIGN="right" CLASS="tdEditSpan7"><DIV ID="IDCreatedOn" ><%=varRecordCreationLabel %></DIV></ TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
-->
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<INPUT TYPE="submit" CLASS="stdButton" NAME="cmdCreate" ID="functionKeyCreate" VALUE="<%=lblCreate%>" <%=GetAccessPermission("PU RCHASEORDE R3","CREAT E")%>>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdModify" ID="functionKeyModify" VALUE="<%=lblModify%>" ONCLICK="return On_Modify()" <%=GetAccessPermission("PU RCHASEORDE R3","MODIF Y")%>>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdDelete" ID="functionKeyDelete" VALUE="<%=lblDeleteTitle%> " ONCLICK="return On_Delete()" <%=GetAccessPermission("PU RCHASEORDE R3","DELET E")%>>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdAuthorise" ID="functionKeyAuthorize" VALUE="<%=lblAuthorise%>" ONCLICK="return On_Authorise()" <%=GetAccessPermission("PU RCHASEORDE R3","AUTHO RIZE")%>>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdPrint" ID="functionKeyPrint" <%If Trim(varPrintFlag) = "Y" Then%>VALUE="<%=lblRePrint %>" <%Else%> VALUE="<%=lblPrint%>" <%End If%> ONCLICK="return On_Print()">
<!-- <INPUT TYPE="reset" CLASS="stdButton" NAME="cmdReset" VALUE="<%=lblReset%>"> -->
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdClear" ID="functionKeyClear" VALUE="<%=lblClear%>" ONCLICK="On_Clear()">
<%If varFromScreen <> "" Then%>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdCancel" ID="functionKeyClose" VALUE="<%=lblClose%>" ONCLICK="window.close()">
<%end if%>
&n bsp; &nbs p;
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdTransmit" ID="functionKeyTransmit" VALUE="<%=lblTransmit%>" ONCLICK="return On_Transmit()" <%=GetAccessPermission("PU RCHASEORDE R3","AUTHO RIZE")%>>
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdShortClose" VALUE="<%=lblShortClose%>" ONCLICK="return On_ShortClose()" <%=GetAccessPermission("PU RCHASEORDE R3","AUTHO RIZE")%>>
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdItemPrice" VALUE="<%=lblItemPrice%>" ONCLICK="On_ItemPrice()">
</TD>
</TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdChangeSupplier" VALUE="<%=lblChangeSupplie r%>" ONCLICK="return On_ChangeSupplier()">
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdTransmissionLog" VALUE="<%=lblTransmissionL og%>" ONCLICK="On_TransmissionLo g()">
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdPartnerDefinedDat a" VALUE="<%=lblPartnerDefine dData%>" ONCLICK="On_PartnerDefined Data()">
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdItemStatistics" VALUE="<%=lblStatistics%>" ONCLICK="return On_ItemStatistics()">
<%'If varFromScreen = "SO" Or Trim(varSalesOrderNo) <> "" Then%>
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdDeliverySlip" VALUE="<%=lblDeliverySlip% >" ONCLICK="On_DeliverySlip() ">
<%'End If%>
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdItemAvailability" VALUE="<%=lblItemAvailabil ity%>" ONCLICK="cmdItemAvailabili ty_onClick ()">
</TD>
</TR>
</TABLE>
</FORM>
<SCRIPT LANGUAGE="VbScript">
' Tool Tip for ML Columns
Sub sprPURCHASEORDER_ScriptTex tTipFetch( Col,Row,Mu ltiLine,Ti pWidth,Tip Text,ShowT ip)
' If the column is zero
If Col = 0 Then Exit Sub
' Get the Col Name for the given col index..
If CStr(Col) <> "" Then
strColName = divPurchaseOrder.getColNam e(Col)
Else
strColName = ""
End If
If (strColName = "sprSEL" AND Row = 0) Then
TipText = "<%=lblSelectTitle%>"
ShowTip = True
End If
If (strColName = "sprITEMTYPE" AND Row = 0) Then
TipText = "<%=lblItemTypeTT%>"
ShowTip = True
End If
If (strColName = "sprSTOCKQUANTITY" AND Row = 0) Then
TipText = "<%=lblStockQuantityTT%>"
ShowTip = True
End If
If (strColName = "sprMINSTOCKQUANTITY" AND Row = 0) Then
TipText = "<%=lblMinStockQuantityTT% >"
ShowTip = True
End If
If (strColName = "sprMAXSTOCKQUANTITY" AND Row = 0) Then
TipText = "<%=lblMaxStockQuantityTT% >"
ShowTip = True
End If
If (strColName = "sprOPENORDERQUANTITY" AND Row = 0) Then
TipText = "<%=lblOpenOrderQuantityTT %>"
ShowTip = True
End If
If (strColName = "sprORDERQUANTITY" AND Row = 0) Then
TipText = "<%=lblOrderQuantityTT%>"
ShowTip = True
End If
If (strColName = "sprBONUS" AND Row = 0) Then
TipText = "<%=lblBonusTT%>"
ShowTip = True
End If
If (strColName = "sprTOTALQTY" AND Row = 0) Then
TipText = "<%=lblTotalTT%>"
ShowTip = True
End If
If (strColName = "sprRATEINCHF" AND Row = 0) Then
TipText = "<%=lblRateInCHFTT%>"
ShowTip = True
End If
If (strColName = "sprTOTALAMOUNT" AND Row = 0) Then
TipText = "<%=lblValueOfLineTT%>"
ShowTip = True
End If
If (strColName = "sprREFERENCE" AND Row = 0) Then
TipText = "<%=lblRefTT%>"
ShowTip = True
End If
If (strColName = "sprCONTROLLED" AND Row = 0) Then
TipText = "<%=lblControlledTitle%>"
ShowTip = True
End If
If (strColName = "sprNONMOVINGITEM" AND Row = 0) Then
TipText = "<%=lblNonMovingItemTitle% >"
ShowTip = True
End If
If (strColName = "sprDELETE" AND Row = 0) Then
TipText = "<%=lblDeleteTitle%>"
ShowTip = True
End If
If (strColName = "sprSOURCE" AND Row = 0) Then
TipText = "<%=lblSourceTT%>"
ShowTip = True
End If
If (strColName = "sprDELQTY" AND Row = 0) Then
TipText = "<%=lblDelQtyTT%>"
ShowTip = True
End If
If (strColName = "sprPENDQTY" AND Row = 0) Then
TipText = "<%=lblPendQtyTT%>"
ShowTip = True
End If
End Sub
</SCRIPT>
</BODY>
</HTML>
===server_purchaseorder3.a sp====
<!-- #include FILE="../include/validateF orXMLHTTP. inc"-->
<!--#include file="../sessionmanager.in c" -->
<% If UCase(Triamun_Session("Lan guage")) = "E" Then%>
<!-- #include file="../include/english/Q cd1_e.inc" -->
<% ElseIf UCase(Triamun_Session("Lan guage")) = "G" Then%>
<!-- #include file="../include/german/Qc d1_g.inc"- ->
<% ElseIf UCase(Triamun_Session("Lan guage")) = "F" Then%>
<!-- #include file="../include/french/Qc d1_f.inc"- ->
<% End If
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' -------------------------- ------- SERVER SIDE VARIABLE DECLARATION -------------------------- ---------- -------
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
Dim objDOMSERVERSIDE, objPURCHASEORDER, objPODetails, rstPURCHASEORDERHEADER, rstPODISCOUNTMESSAGE
Dim ACTION, varPOStatus, varPONumber, varPODETAIL, nROWCOUNTER, lblNonMovingItem, strRETURNVALUE
Dim errFileName, sPARTNERID, varPartnerName, varUserName, sCON, sLANGID
Dim nERRORNO, strERRORMESSAGE, varDISCOUNTMESSAGE, strERRORMESSAGETEMP, objRETURNVALUE
Dim varStatusOfPOBeforeUpdate, nCtr, strPODETAILDATA, varPOHEADER, varDaysForNonMovingItem
Dim varSupplierCode, varSupplierDescription, varPOTransmissionMode, varPODeliveryDate, varPODeliveryTime
Dim varPODate, varPOTime, varPOTransmissionTime, varFlagForPrinting, arrParamList
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' -------------------------- ---------- - GET SESSION VARIABLE -------------------------- ---------- ---------- ----
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
SET errObject = Application("ErrObject")
errFileName = Session("FEErrMsgFile")
sPARTNERID = Triamun_Session("nPartnerI d")
varPartnerName = Triamun_Session("strPartne rName")
varUserName = Triamun_Session("strUserNa me")
sCON = Application("strODBC")
sLANGID = Triamun_Session("Language" )
varDaysForNonMovingItem = Session("PRT010") ' No of Days for an Item to become Non-Moving
If varDaysForNonMovingItem = "" Then varDaysForNonMovingItem = 0
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' -------------------------- --------- COMMENT HEADER FOR QUERY STRING VALUES -------------------------- -------
' Query String Variable Name Value Description
' -------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --
' ACTION FETCH Fetches a purchase order
' INSERTPURCHASEORDER Inserts a New Purchase Order
' MODIFYPURCHASEORDER Modifies an existing Purchase Order
' AUTHORISEPURCHASEORDER Authorises an existing Purchase Order
' TRANSMITPURCHASEORDERFETCH Transmits an Existing Purchase Order
' TRANSMITPURCHASEORDERUPDAT E Update the Transmission API Response Codes
' PRINTPURCHASEORDER Prints an Existing Purchase Order
' DELETEPURCHASEORDER Deletes an existing Purchase Order
' SHORTCLOSEPO Short Closes an existing Purchase Order
' FETCHDEFAULTVALUES Fetches deafulte values like supplier, on click of clear button
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' -------------------------- --------- Creating Server Side Objects -------------------------- ---------- --------
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
SET objDOMSERVERSIDE = Server.CreateObject("Micro soft.XMLDO M")
objDOMSERVERSIDE.load(Requ est)
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
'------------------------- ---------- -- GET VALUES FROM HTTP -------------------------- ---------- ---------- -----
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
'Geting Header values from XML object passed from the browser..
ACTION = UCase(objDOMSERVERSIDE.sel ectSingleN ode("//MOD E").text)
lblNonMovingItem = UCase(objDOMSERVERSIDE.sel ectSingleN ode("//NON MOVINGITEM LABEL").te xt)
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
'------------------------- ---------- ----- LOGIC FOR DIFFERENT MODES -------------------------- ---------- -------
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
If ACTION = "INSERTPURCHASEORDER" Or ACTION = "MODIFYPURCHASEORDER" Or ACTION = "AUTHORISEPURCHASEORDER" Then
Set objPURCHASEORDER = Server.CreateObject("IIIPu rchaseOrde r.IIICallP urchaseOrd er")
strRETURNVALUE = objPURCHASEORDER.UpdatePur chaseOrder (sCON, sPARTNERID, sLANGID, objDOMSERVERSIDE.xml, varPONumber, nERRORNO, strERRORMESSAGE)
Set objPURCHASEORDER = NOTHING
If nERRORNO > 0 Then
strERRORMESSAGETEMP = strERRORMESSAGE
ACTION = "FETCH"
End If
ElseIf ACTION = "DELETEPURCHASEORDER" Or ACTION = "PRINTPURCHASEORDER" Or ACTION = "SHORTCLOSEPO" _
Or ACTION = "MODIFYTRANSMISSIONMODE" Then
Set objPURCHASEORDER = Server.CreateObject("IIIPu rchaseOrde r.IIICallP urchaseOrd er")
strRETURNVALUE = objPURCHASEORDER.UpdatePur chaseOrder (sCON, sPARTNERID, sLANGID, objDOMSERVERSIDE.xml, varPONumber, nERRORNO, strERRORMESSAGE)
Set objPURCHASEORDER = NOTHING
If nERRORNO > 0 Then
strERRORMESSAGETEMP = strERRORMESSAGE
If ACTION = "PRINTPURCHASEORDER" Then varFlagForPrinting = "Y"
If ACTION = "DELETEPURCHASEORDER" Then
'Clear all header and Detail fields execept and fetch the default values
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_N umber").va lue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_S tatus").va lue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ransmissio n_Date").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T otal_NoOfL ines").val ue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Sale s_Rep").va lue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Rema rks").valu e = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Time _Stamp").v alue = "00"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Cust omerIDF_Co de").value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Phon e_Number") .value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Sale s_Order_Nu mber").val ue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Tran s_Response ").value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Sale s_Order_Nu mber").val ue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Crea ted_By").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Modi fied_By"). value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Crea ted_On").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Modi fied_On"). value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PDI_ EXISTS").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ype").valu e = "M"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_A mount").va lue = "0.00"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@No_O f_Lines_Ma nual").val ue = "0"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@No_O f_Lines_Au tomatic"). value = "0"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@No_O f_Lines_Cu stomer").v alue = "0"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Prin t_Flag").v alue = varFlagForPrinting
' Fetch default values ..
Call FetchPreferredWholesalerAn dDeliveryT ime()
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Vend or_Code"). value = varSupplierCode
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Vend or_Descrip tion").val ue = varSupplierDescription
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ransmissio n_Mode").v alue = varPOTransmissionMode
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_D elivery_Da te").value = varPODeliveryDate
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_D elivery_Ti me").value = varPODeliveryTime
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_D ate").valu e = varPODate
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ime").valu e = varPOTime
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ransmissio n_Time").v alue = varPOTransmissionTime
Else
ACTION = "FETCH"
End If
End If
ElseIf ACTION = "TRANSMITPURCHASEORDERUPDA TE" Then
Set objPURCHASEORDER = Server.CreateObject("IIIPu rchaseOrde r.IIICallP urchaseOrd er")
strRETURNVALUE = objPURCHASEORDER.TransmitP urchaseOrd erUsingXML (sCON, sPARTNERID, sLANGID, objDOMSERVERSIDE.xml, varPONumber, nERRORNO, strERRORMESSAGE)
Set objPURCHASEORDER = NOTHING
If nERRORNO > 0 Then
strERRORMESSAGETEMP = strERRORMESSAGE
ACTION = "FETCH"
End If
End If
'------------------------- ---------- ---------- F E T C H BLOCK -------------------------- ---------- ---------- ---------- >
If ACTION = "FETCH" Then
' Clear the ML details before PO fetch, to avoid ML data passed to proc when 100 rows of update is called
objDOMSERVERSIDE.selectSin gleNode("/ /POMLDETAI LS").text = ""
' Creating instance of PO Fetch Component
SET objPURCHASEORDER = Server.CreateObject("IIIPu rchaseOrde r.IIIFetch PurchaseOr der")
strRETURNVALUE = objPURCHASEORDER.FetchPurc haseOrderD etails(sCO N, sPARTNERID, sLANGID, objDOMSERVERSIDE.xml, varDaysForNonMovingItem, lblNonMovingItem, varPONumber, varDISCOUNTMESSAGE, varPOStatus, nERRORNO, strERRORMESSAGE)
SET objPURCHASEORDER = NOTHING
If nERRORNO >= 0 Then
strERRORMESSAGE = strERRORMESSAGETEMP
' If there is discount for some items and the Po status is Open then display the discount message ..
If Trim(varDISCOUNTMESSAGE) <> "" And CStr(varPOStatus) = "2" Then
strERRORMESSAGE = strERRORMESSAGE & "\n" & errObject.GetNthDescriptio n(errFileN ame, 1431)
strERRORMESSAGE = Replace(strERRORMESSAGE, "%", "\n" & varDISCOUNTMESSAGE)
End If
Set objPODetails = Server.CreateObject("Micro soft.XMLDO M")
objPODetails.loadXML(strRE TURNVALUE)
Set objDOMSERVERSIDE = objPODetails
End If
SET objPODetails = NOTHING
End If
'------------------------- ---------- ---------- END of F E T C H BLOCK -------------------------- ---------- ---------- ---->
'Begin :Interface 002:PO Transmission - Venki
If ACTION = "TRANSMITPURCHASEORDERFETC H" Then
' Creating instance of PO Fetch Component
SET objPURCHASEORDER = Server.CreateObject("IIIPu rchaseOrde r.IIIFetch PurchaseOr der")
strRETURNVALUE = objPURCHASEORDER.FetchPurc haseOrderD etails(sCO N, sPARTNERID, sLANGID, objDOMSERVERSIDE.xml, varDaysForNonMovingItem, lblNonMovingItem, varPONumber, varDISCOUNTMESSAGE, varPOStatus, nERRORNO, strERRORMESSAGE)
SET objPURCHASEORDER = NOTHING
' If Fetch from Header was a Success do Detail Fetch
If nERRORNO >= 0 Then
Set objPODetails = Server.CreateObject("Micro soft.XMLDO M")
objPODetails.loadXML(strRE TURNVALUE)
Set objDOMSERVERSIDE = objPODetails
End If
SET objPODetails = NOTHING
End If
'End :Interface 002:PO Transmission - Venki
'------------------------- ---------- ------ DEFAULT VALUES FETCH BLOCK -------------------------- ---------- ---------- -->
If ACTION = "FETCHDEFAULTVALUES" Then
'Clear all header and Detail fields execept and fetch the default values
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_N umber").va lue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_S tatus").va lue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ransmissio n_Date").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T otal_NoOfL ines").val ue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Sale s_Rep").va lue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Rema rks").valu e = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Time _Stamp").v alue = "00"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Cust omerIDF_Co de").value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Phon e_Number") .value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Sale s_Order_Nu mber").val ue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Tran s_Response ").value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Sale s_Order_Nu mber").val ue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Crea ted_By").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Modi fied_By"). value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Crea ted_On").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Modi fied_On"). value = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PDI_ EXISTS").v alue = ""
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ype").valu e = "M"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_A mount").va lue = "0.00"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@No_O f_Lines_Ma nual").val ue = "0"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@No_O f_Lines_Au tomatic"). value = "0"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@No_O f_Lines_Cu stomer").v alue = "0"
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Prin t_Flag").v alue = "N"
' Fetch default values ..
Call FetchPreferredWholesalerAn dDeliveryT ime()
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Vend or_Code"). value = varSupplierCode
objDOMSERVERSIDE.selectSin gleNode("/ /row/@Vend or_Descrip tion").val ue = varSupplierDescription
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ransmissio n_Mode").v alue = varPOTransmissionMode
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_D elivery_Da te").value = varPODeliveryDate
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_D elivery_Ti me").value = varPODeliveryTime
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_D ate").valu e = varPODate
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ime").valu e = varPOTime
objDOMSERVERSIDE.selectSin gleNode("/ /row/@PO_T ransmissio n_Time").v alue = varPOTransmissionTime
End If
' -------------------------- --- Save the Modified DOM Object -------------------------- ---------- ---------- ---'
If Trim(strERRORMESSAGE) = "" Then
strERRORMESSAGE = strERRORMESSAGETEMP
End If
objDOMSERVERSIDE.selectSin gleNode("/ /ErrorNo") .text = nERRORNO
objDOMSERVERSIDE.selectSin gleNode("/ /ErrorMess age").text = strERRORMESSAGE
objDOMSERVERSIDE.save(Resp onse)
Response.End
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET STATUS TO BE UPDATED OR TO SET BACK THE PREVIOUS STATUS AFTER AN INSERT/UPDATE FAILS STARTS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
Function GetOrSetStatusBasedOnMode( strACTION, strTYPE)
Dim strRETURNVALUE
strRETURNVALUE = ""
If strTYPE = "GETPREVIOUSSTATUS" Then
SELECT CASE strACTION
CASE "INSERTPURCHASEORDER" : strRETURNVALUE = ""
CASE "MODIFYPURCHASEORDER" : strRETURNVALUE = "2"
CASE "DELETEPURCHASEORDER" : strRETURNVALUE = "2"
CASE "AUTHORISEPURCHASEORDER" : strRETURNVALUE = "2"
CASE "PRINTPURCHASEORDER" : strRETURNVALUE = "3"
CASE "SHORTCLOSEPO" : strRETURNVALUE = varStatusOfPOBeforeUpdate
CASE "TRANSMITPURCHASEORDERUPDA TE" : strRETURNVALUE = varStatusOfPOBeforeUpdate
CASE "MODIFYTRANSMISSIONMODE" : strRETURNVALUE = "3"
END SELECT
ElseIf strTYPE = "GETSTATUSFORUPDATE" Then
SELECT CASE strACTION
CASE "INSERTPURCHASEORDER" : strRETURNVALUE = "2"
CASE "MODIFYPURCHASEORDER" : strRETURNVALUE = "2"
CASE "DELETEPURCHASEORDER" : strRETURNVALUE = ""
CASE "AUTHORISEPURCHASEORDER" : strRETURNVALUE = "3"
CASE "PRINTPURCHASEORDER" : strRETURNVALUE = "3"
CASE "SHORTCLOSEPO" : strRETURNVALUE = 10
CASE "TRANSMITPURCHASEORDERUPDA TE" : strRETURNVALUE = ""
CASE "MODIFYTRANSMISSIONMODE" : strRETURNVALUE = "3"
END SELECT
End If
GetOrSetStatusBasedOnMode = strRETURNVALUE
End Function
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET STATUS TO BE UPDATED OR TO SET BACK THE PREVIOUS STATUS AFTER AN INSERT/UPDATE FAILS ENDS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME STARTS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
Function FetchPreferredWholesalerAn dDeliveryT ime()
varSupplierCode = Trim(Session("PRT016"))
If varSupplierCode <> "" Then
Dim arrParamList
Redim arrParamList(3,3)
' Input Parameter Partner_Id
arrParamList(0,0) = "@Partner_Id"
arrParamList(0,1) = "ANY_COUNT"
arrParamList(0,2) = "adParamInput"
arrParamList(0,3) = sPARTNERID
' Input Parameter Customer Vendor Code
arrParamList(1,0) = "@Customer_Vendor_Code"
arrParamList(1,1) = "ANY_NAME"
arrParamList(1,2) = "adParamInput"
arrParamList(1,3) = varSupplierCode
' Input Parameter Language
arrParamList(2,0) = "Lang"
arrParamList(2,1) = "ANY_FLAG"
arrParamList(2,2) = "adParamInput"
arrParamList(2,3) = sLANGID
Set objPURCHASEORDER = Server.CreateObject("IIIGe nericDataA ccess.IIIF etchGeneri c")
Set rstPURCHASEORDERHEADER = Server.CreateObject("ADODB .RecordSet ")
Set rstPURCHASEORDERHEADER = objPURCHASEORDER.FetchGene ricDataAcc essUsingSP (sCON, _
"IIIFetch_Wholesaler_And_D elivery_Ti me_For_PO" , arrParamList, _
nERRORNO, strERRORMESSAGE)
strERRORMESSAGE = ""
If CInt(nERRORNO) > 0 Then
varSupplierDescription = rstPURCHASEORDERHEADER.fie lds("Custo mer_Vendor _Name")
varPOTransmissionMode = rstPURCHASEORDERHEADER.fie lds("PO_Tr ansmission _Mode")
varPODeliveryDate = rstPURCHASEORDERHEADER.fie lds("Deliv ery_Date")
varPODeliveryTime = rstPURCHASEORDERHEADER.fie lds("Deliv ery_Time")
varPODate = rstPURCHASEORDERHEADER.fie lds("Curre nt_Date")
varPOTime = rstPURCHASEORDERHEADER.fie lds("Curre nt_Time")
varPOTransmissionTime = varPOTime
rstPURCHASEORDERHEADER.Clo se()
Set rstPURCHASEORDERHEADER = Nothing
End if
Erase arrParamList
Set objPURCHASEORDER = Nothing
End If
End Function
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME ENDS
'''''''''''''''''''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' '''''''''' ''''''
%>
===validate.asp===
<!-- Version No : TRIAMUNIII1.0S_019825 -->
<%'@ language="VBScript" %>
<%
Response.Buffer = true
Response.Expires = -1
'Response.CacheControl = "private"
Response.AddHeader "cache-control", "private"
'Response.AddHeader "pragma","no-cache"
Public Const SUCCESS = 99999
Public Const NATIVE_SQL_ERROR = 88888
Public Const IIISQL_VALIDATION_ERROR = 77777
Public Const IIIMTS_VALIDATION_ERROR = 66666
Public Const nDELETED_ITEM_COLOUR = "Red"
Public Const nCHAINED_ITEM_COLOUR = "#013399"
Public Const nOUTOFSALE_ITEM_COLOUR = "Red"
Public Const nDEFAULT_ITEM_COLOUR = "Black"
Public Const nDELETED_ITEM_COLOUR_GRID = 255
Public Const nCHAINED_ITEM_COLOUR_GRID = 10040065
Public Const nOUTOFSALE_ITEM_COLOUR_GRI D = 255
Public Const nDEFAULT_ITEM_COLOUR_GRID = 0
Public Const MAXLENGTHFORPATIENTID = 100
Public Const MAXLENGTHFORQUANTITY = 5
Public Const MAXLENGTHVALUEFORQUANTITY = 99999
Public Const MAXLENGTHVALUEFORPRICE = 9999999
Public Const MAXLENGTHVALUEFORAMOUNT = 999989900001
Public Const nINACTIVE_PATIENT_COLOUR = "Red"
Public Const nACTIVE_PATIENT_COLOUR = "Black"
Public Const nINACTIVE_PATIENT_COLOUR_G RID = 255
Public Const nACTIVE_PATIENT_COLOUR_GRI D = 0
Public Const NUMBEROFDECIMALPLACES = 2
Public Const BTNENABLEDCOLOR = "#003399"
Public Const BTNDISABLEDCOLOR = "#666666"
%>
<!-- #include file="qsort.asp" -->
<%
DIm Path, serverProcPath, strSecureStringHTTPS
Path = Request.ServerVariables("s cript_name ")
dim c
c = Instr(2,Path,"/")
Path = Mid(Path,1,c)
'Modified for SSL Implmentation
strSecureStringHTTPS = Request.serverVariables("H TTPS")
If strSecureStringHTTPS = "" Or UCase(strSecureStringHTTPS ) = "OFF" Then
strSecureStringHTTPS = "http://"
Else
strSecureStringHTTPS = "https://"
End If
serverProcPath = strSecureStringHTTPS + Request.ServerVariables("s erver_name ") +Path+"include/serverproc. asp"
'serverProcPath = server.HTMLEncode(serverPr ocPath))
if Session("Language") = "" then
Session.Abandon
Response.AddHeader "Refresh","0;URL="+Path+"G oto.asp?Li nk=No"
Response.End
end if
Function Redirect( NewURL )
If Not IsEmpty( NewURL & "" ) Then
Dim QuestionMark
QuestionMark = Instr( NewURL, "?" )
If QuestionMark = 0 Then
Response.Redirect NewURL & "?" & NoCacheURL()
Response.End
Else
Response.Redirect NEWURL & "&" & NoCacheURL()
Response.End
End If
End If
End Function
Function NoCacheURL()
On Error Resume Next
'Randomize
NoCacheURL = ".rnd=" & Server.URLEncode(now())
End Function
'Added by : Rajesh P.S
'Added on : 18/May/2001
'Purpose : Function to use along with timestamp varaible. Call this function on the timestamp fetched from the
'backend before storing it in the HTML/server side variant.
Function ConvertBinaryToString(bInp ut)
Dim strInput, i
For i = 1 To LenB(bInput)
strInput = strInput & Right("00" & Hex(AscB(MidB(bInput, i, 1))), 2)
Next
ConvertBinaryToString = strInput
End Function
' Added by : Murali P B
' Added on : 13.01.2002
' Purpose : Function to Format Time received using Request.Form from TimePicker ActiveX Control.
' Value Returned will be in HH:MM 24 Hour Format
Function GetTimeInRequiredFormat(st rTimeValue )
strTimeValue = Trim(strTimeValue)
Dim varTempPM
If Mid(strTimeValue, 2, 1) = ":" Then strTimeValue = "0" & strTimeValue
If Mid(strTimeValue, 5, 1) = ":" Then strTimeValue = Mid(strTimeValue,1,3) & "0" & Mid(strTimeValue,4,Len(str TimeValue) )
If UCase(Mid(strTimeValue, 10, 2)) = "PM" Then
varTempPM = CDbl(Mid(strTimeValue,1,2) )
If varTempPM <> 12 Then varTempPM = CDbl(Mid(strTimeValue,1,2) ) + 12
strTimeValue = CStr(varTempPM) & Mid(strTimeValue,3,3)
End If
strTimeValue = Mid(strTimeValue,1,5)
GetTimeInRequiredFormat = strTimeValue
End Function
'Added by Sandilyan R
'Added on 21 Feb 2002
'Purpose to Sort the given QCD array.
Function getQCDSortOrder(arrQCDSort )
Dim rows,cols,i
rows = UBOUND(arrQCDSort,1)
cols = UBOUND(arrQCDSort,2)
Dim arrNewQCDSort,sortString
arrNewQCDSort = arrQCDSort
QSort2 arrNewQCDSort, 1, 0, rows ' sort the entire array based on column 1
sortString = ""
For i = 0 to rows - 1
sortString = sortString & arrNewQCDSort(i,0) & ","
Next
sortString = sortString & arrNewQCDSort(rows,0)
getQCDSortOrder = sortString
End Function
'Added by Sandilyan R
'Added on 14 Mar 02
'Purpose get Permissions for Action buttons
Function GetAccessPermission(strSCR EENCODE,st rACTION)
Dim ScreenAccess,bitFETCH,bitC REATE,bitM ODIFY,bitA UTHORIZE,b itDELETE,b itSUBMIT,b itREVERSE
Dim flagEnabled,flagDisabled
flagEnabled = "ENABLED"
if FromScreenSO = "SALESORDER" then
flagDisabled = "DISABLED STYLE='BACKGROUND-COLOR: #666666'"
else
flagDisabled = "DISABLED"
end if
bitFETCH = 1
bitCREATE = 2
bitMODIFY = 3
bitAUTHORIZE = 4
bitDELETE = 5
bitSUBMIT = 6
bitREVERSE = 7
bitANY = -1
strACTION = UCASE(strACTION)
ScreenAccess = SESSION(strSCREENCODE)
IF ScreenAccess = "" THEN
GetAccessPermission = flagDisabled
EXIT FUNCTION
END IF
IF ( strACTION <> "ANY" ) THEN
ScreenAccess = SESSION(strSCREENCODE)
IF CINT(MID(ScreenAccess,Eval ("bit"+str ACTION),1) ) > 0 THEN
GetAccessPermission = flagEnabled
ELSE
GetAccessPermission = flagDisabled
END IF
END IF
IF ( strACTION = "ANY" ) THEN
IF ( MID(ScreenAccess,1,5) AND "11111" ) > 0 THEN
GetAccessPermission = flagEnabled
ELSEIF ( MID(ScreenAccess,6,5) AND "11111" ) > 0 THEN
GetAccessPermission = flagEnabled
ELSEIF ( MID(ScreenAccess,11,5) AND "11111" ) > 0 THEN
GetAccessPermission = flagEnabled
ELSE
GetAccessPermission = flagDisabled
END IF
END IF
End Function
' Added by : Murali P B
' Added on : 21.01.2002
' Purpose : Function to get the Current Date and Time
Public Function GetServerDateAndTime(strDa teOrTime, strVariable)
If UCase(strDateOrTime) = "DATE" Then
' Get Current Date in 104 format
If Trim(strVariable) = "" Then
strVariable = Day(Now()) & "." & Month(Now()) & "." & Year(Now())
' Setting Date in Right Format
If Mid(strVariable, 2, 1) = "." Then strVariable = "0" & strVariable
If Mid(strVariable, 5, 1) = "." Then strVariable = Mid(strVariable,1,3) & "0" & Mid(strVariable,4,Len(strV ariable))
End If
ElseIf UCase(strDateOrTime) = "TIME" Then
' Get Current Date in 108 format
If Trim(strVariable) = "" Then
strVariable = Time()
strVariable = Left(strVariable, 5)
End If
End If
End Function
' Added by : Venkataramanan M
' Added on : 04.04.2002
' Purpose : Function to decode encoded +
Public Function decodePlus(strValue)
decodePlus = replace(strValue,"$*$","+" )
End Function
' Added by : Venkataramanan M
' Added on : 13.08.2002
' Purpose : Function to set Item Description colour in Table.js tables
Public function SetItemColour(TypeOfTable, TypeOfItem )
if ( TypeOfTable = "HEADERCONTROL" or TypeOfTable = "REGULARTABLE" or TypeOfTable = "XMLTABLE" ) then
if ( TypeOfItem = "DELETEDITEM" ) then
nColourToSet = nDELETED_ITEM_COLOUR
elseif ( TypeOfItem = "CHAINEDITEM" ) then
nColourToSet = nCHAINED_ITEM_COLOUR
elseif ( TypeOfItem = "OUTOFSALEITEM" ) then
nColourToSet = nOUTOFSALE_ITEM_COLOUR
else
nColourToSet = nDEFAULT_ITEM_COLOUR
end if
elseif ( TypeOfTable = "GRID" ) then
if ( TypeOfItem = "DELETEDITEM" ) then
nColourToSet = nDELETED_ITEM_COLOUR_GRID
elseif ( TypeOfItem = "CHAINEDITEM" ) then
nColourToSet = nCHAINED_ITEM_COLOUR_GRID
elseif ( TypeOfItem = "OUTOFSALEITEM" ) then
nColourToSet = nOUTOFSALE_ITEM_COLOUR_GRI D
else
nColourToSet = nDEFAULT_ITEM_COLOUR_GRID
end if
end if
Response.Write "STYLE='COLOR:" & nColourToSet & "'"
end function
' Added by : Kiran Babu.D
' Added on : 29.08.2003
' Purpose : Function to get Item Description colour
Public Function IIIGetItemDescriptionColou r(Deleted_ Item_Flag, Chained_Item_Flag, OutOfSale_Item_Flag)
If (NOT IsNull(Trim(Deleted_Item_F lag))) And Trim(Deleted_Item_Flag) = "D" Then
Item_Flag = "DELETEDITEM"
ElseIf (NOT IsNull(Trim(Chained_Item_F lag))) And Trim(Chained_Item_Flag) <> "" Then
Item_Flag = "CHAINEDITEM"
ElseIf (NOT IsNull(Trim(OutOfSale_Item _Flag))) And Trim(OutOfSale_Item_Flag) = "H" Then
Item_Flag = "OUTOFSALEITEM"
Else
Item_Flag = ""
End If
IIIGetItemDescriptionColou r = Item_Flag
End Function
' Added by : Chandrasekar S
' Added on : 01.07.2003
' Purpose : Function to Round a value to it uppervalue (e.g 1.125 to 1.13). This behaviour is same as javascript round
Public Function IIIRoundUp(dInputValue)
Dim arrValue
Dim dAfterDecimalValue
' 3.6 + 23.65 + .55 + 0.1-27.9 - In VB this calc. gives an exponential no.
' Exponentials were not handled in this function
If InStr(CStr(dInputValue), "E") >= 1 Then
dInputValue = Round(dInputValue, 2)
End If
If InStr(dInputValue, ".") = 0 Then
IIIRoundUp = dInputValue
Exit Function
End If
arrValue = Split(dInputValue, ".")
If CStr(arrValue(1)) = "" And Len(CStr(arrValue(1))) = 2 Then
IIIRoundUp = Round(CDbl(dInputValue), 2)
Exit Function
End If
If Len(CStr(arrValue(1))) >= 3 Then
dAfterDecimalValue = Mid(CStr(arrValue(1)), 1, 3)
If InStrRev(dAfterDecimalValu e, "5") = "3" Then
dAfterDecimalValue = CStr(dAfterDecimalValue) + CStr(5)
dInputValue = CStr(arrValue(0)) + "." + CStr(dAfterDecimalValue)
End If
End If
IIIRoundUp = Round(CDbl(dInputValue), 2)
End Function
%>
<SCRIPT language="JavaScript" >
var encryptionsysparam = '<%=Session("ASP017")%>';
var Encryptionpassword = '<%=Session("Encryptionpas sword")%>' ;
var commonjsUserID = '<%=Session("UserID")%>';
function InvokeServerProc(strMethod Name,strPa rameters,s trStoredPr ocedures)
{
//This is to trigger server side method without reloading the page.
if ( typeof(strParameters) == "undefined" )
var strParameters = "";
var QueryString = "";
QueryString = QueryString + "<QUERYSTRING>";
QueryString = QueryString + "<METHODNAME></METHODNAME> ";
QueryString = QueryString + "<PARAMETERS></PARAMETERS> ";
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
QueryString = QueryString + "<STOREDPROCEDURE></STORED PROCEDURE> ";
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
QueryString = QueryString + "</QUERYSTRING>";
var objXMLDoc = new ActiveXObject("Microsoft.X MLDOM");
var node=null;
objXMLDoc.loadXML(QueryStr ing);
node = objXMLDoc.selectSingleNode ("//METHOD NAME");
node.text = strMethodName;
node = objXMLDoc.selectSingleNode ("//PARAME TERS");
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
if ( typeof(strParameters) == 'object' )
node.text = strParameters.xml;
else
node.text = strParameters;
var strSP ='';
if ( typeof(strStoredProcedures ) == 'undefined' )
strSP = '';
else
strSP = strStoredProcedures;
node = objXMLDoc.selectSingleNode ("//STORED PROCEDURE" );
node.text = strSP;
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
if (strMethodName == "")
{
alert("Please provide MethodName");
return null;
}
var xmlhttp = new ActiveXObject("Microsoft.X MLHTTP");
var serverPath = "<%=serverProcPath%>"
xmlhttp.Open("POST",server Path, false);
xmlhttp.Send(objXMLDoc);
if ( xmlhttp.statusText == "OK" )
{
objResultXML = xmlhttp.responseXML;
if (objResultXML.xml == "" )
{
return null;
}
else
{
if ( typeof(strStoredProcedures ) != 'undefined' )
return objResultXML;
else
return objResultXML.xml;
}
}
else
{
alert(xmlhttp.statusText);
return null;
}
}
//To trap F5 function and mouse down key - sans 02.Mar.02
document.attachEvent("onke ydown",fun _keytrap);
function fun_keytrap()
{
var windowname;
if (window.event.keyCode == 116)
{
event.keyCode = ""
window.event.returnValue=f alse;
}
// To trap Esc Key FIx for TRIAMUNIII1.0S_010817
else if(window.event.keyCode == 27)
{
window.event.returnValue=f alse;
}
if (window.event.keyCode == 87) //Ctrl + W (Logoff)
{
if (window.event.ctrlKey)
{
windowname = parent.window.name;
if( windowname.toUpperCase() == "FRMPAGE")
{
if(window.confirm(getError Message('1 451')) == true)
{
window.event.returnValue = true;
parent.window.parent.windo w.close();
}
else
{
window.event.keyCode = "";
window.event.returnValue = false;
}
return;
}
if( windowname.toUpperCase() == "LOGIN")
{
if(window.confirm(getError Message('1 451')) == true)
{
window.event.returnValue = true;
parent.window.close();
}
else
{
window.event.keyCode = "";
window.event.returnValue = false;
}
return;
}
}
}
}
//function to get the patient hdr
//added by sans on 12/june/2002
function getPatientHdr(strParameter s,windowSi zeProperti es)
{
var Parameter = strParameters.split("@@")
var intPatientId = Parameter[0]
// Mandatory check for the Patient Header
if (Trim(intPatientId) == '') return false;
if (parseFloat(intPatientId.l ength) < 19 && parseFloat(intPatientId) > 2147483647)
{
alert(getErrorMessage('16' ))
return false;
}
var regExpr;
regExpr = /[\\?"<>|`~!@#$&]/ig;
if (regExpr.test(intPatientId ))
{
alert(getErrorMessage('263 '))
return false;
}
var ArgumentCount = intPatientId.split(",")
var strInput = intPatientId + "@@" + ArgumentCount.length
var resultString = InvokeServerProc("FetchPat ientHdr", strInput)
var objXMLDoc = new ActiveXObject("Microsoft.X MLDOM");
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt ring);
nodes = objXMLDoc.selectNodes("//O UTPARAM")
var len = nodes.length;
var errno = nodes[len - 2].text;
var errmsg = nodes[len - 1].text;
if ( len > 2 )
{
var PasswordReturn;
//For patient pwd check
if ( (parseInt(errno) > 0 ) && (nodes[4].text == "N" ) )
{
var strPatientId = intPatientId
var varParameters = new Array()
varParameters[0] = nodes[2].text
varParameters[1] = nodes[3].text
varParameters[2] = true
varParameters[4] = nodes[5].text
PasswordReturn = window.showModalDialog("Pa tientPassw ord.asp?pa tientid="+ strPatient Id,varPara meters,"ce nter=yes;m enubar=no; location=n o;toolbar= no;scrollb ars=yes;to p=25;left= 25;dialogW idth=275pt ;dialogHei ght=210pt; resizable= Yes;help:n o;status:n o;")
if (!PasswordReturn)
{
//clear fields
nodes[0].text = ""
nodes[2].text = ""
nodes[3].text = ""
nodes[1].text = ""
nodes[4].text = ""
}
}
}
else if ((len = 2) && (parseInt(errno) == -100))
{
if(typeof(windowSizeProper ties)!="un defined")
{
var windowSizeProperties = 'menubar=no,location=no,to olbar=no,r esizable=y es,scrollb ars=no,top =150,left= 30,width=9 20,height= 400'
window.open(Parameter[1]," Medication Detail",wi ndowSizePr operties);
}
else
launchhelp1(Parameter[1]);
return false
}
return nodes;
}
//function to get the error msg from file
//added by sans on 12/june/2002
//Added for the defect TRIAMUNIII1.0S_010692 -- Sathish
function getErrorMessage(strParamet ers)
{
var resultString = InvokeServerProc("GetError Msg()",str Parameters )
var objXMLDoc = new ActiveXObject("Microsoft.X MLDOM");
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt ring );
nodes = objXMLDoc.selectSingleNode ("//DETAIL PART")
return nodes.text
}
//function to get the PO Number for the Given sales order
//added by sankar on 10/july/2002
//Added for the defect TRIAMUNIII1.0S_009559
function getPONumber(strSONumber)
{
var resultString = InvokeServerProc("GetPONum ber()", strSONumber)
var PONum
var objXMLDoc = new ActiveXObject("Microsoft.X MLDOM");
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt ring);
nodes = objXMLDoc.selectNodes("//O UTPARAM")
var len = nodes.length;
var errno = nodes[len - 2].text;
var errmsg = nodes[len - 1].text;
if (parseInt(errno) > 0)
PONum=nodes[0].text
else
PONum=""
return PONum
}
function getStandardPosology(strPos ologyCode)
{
var resultString = InvokeServerProc("GetStand ardPosolog y()", strPosologyCode)
var PosologyText
var objXMLDoc = new ActiveXObject("Microsoft.X MLDOM");
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt ring);
nodes = objXMLDoc.selectNodes("//O UTPARAM")
var len = nodes.length;
var errno = nodes[len - 2].text;
var errmsg = nodes[len - 1].text;
if (parseInt(errno) > 0)
PosologyText=nodes[0].text
else
PosologyText=""
return PosologyText
}
function getItemDetails(strItemInpu t)
{
var resultString = InvokeServerProc("GetItemD etails", strItemInput)
var objXMLDoc = new ActiveXObject("Microsoft.X MLDOM");
var nodes =null;
objXMLDoc.loadXML(resultSt ring);
nodes = objXMLDoc.selectNodes("//O UTPARAM")
return nodes
}
function checkMarquee()
{
var objMarqueeList = null;
if ( event.type == "unload" )
{
//code Change for TRIAMUNIII1.0S_012467
try
{
if ( typeof(window.opener) == "object" )
objMarqueeList = window.opener.document.get ElementsBy TagName("M ARQUEE")
}
catch(objException)
{
}
//End of Code Change for TRIAMUNIII1.0S_012467
}
else
{
//code Change for TRIAMUNIII1.0S_012467
try
{
if ( typeof(window.opener) == "object" )
{
var objMarqueeList = window.opener.document.get ElementsBy TagName("M ARQUEE")
var cntt = 0
for (cntt = 0; cntt <= objMarqueeList.length - 1; cntt++)
{
eval(objMarqueeList.item(c ntt)).stop ();
}
if (objMarqueeList.length > 0 )
window.attachEvent("onunlo ad",checkM arquee);
}
objMarqueeList = window.document.getElement sByTagName ("MARQUEE" )
}
catch(objException)
{
}
//End of code Change for TRIAMUNIII1.0S_012467
}
if (objMarqueeList == null) return;
for (cntt = 0; cntt <= objMarqueeList.length - 1; cntt++)
{
eval(objMarqueeList.item(c ntt)).star t();
}
}
window.attachEvent("onload ",checkMar quee);
var timeinterval = "";
function starttimer()
{
Cookdel(0)
timeinterval = window.setInterval("startt imer()", 7200000);
}
</SCRIPT>
===session_manager.asp===
<%
dim strSMGRProcedureName, arrSMGRParamList, Triamun_Session_Filled, SMGRSessionId, nSMGRERRORNO, strSMGRERRORMESSAGE
dim objSMGRDICTIONARY,rstSMGRS ESSION, ObjSMGRFetchGeneric, varSMGRPARAMINPUT
Triamun_Session_Filled = 0
Function ReadSessionKey()
ReadSessionKey = Request.Cookies("triamunCo okie")("SM GRSessionI d")
End Function
'Sub WriteSessionKey(sSessionKe y)
' Response.Cookies("triamunC ookie")("S MGRSession Id") = sSessionKey
' Response.Cookies("triamunC ookie").Pa th = "/"
'End Sub
'IIICreateSession()
public Function Triamun_Session(SessionPar am)
' If the session value requested has already been fetched in this page then give it else fetch all the values
' and cache. return the requested value
'response.write Triamun_Session_Filled
'response.end
If Triamun_Session_Filled <> 0 then
Triamun_Session = objSMGRDICTIONARY.Item(Ses sionParam)
Exit Function
End If
Set objSMGRDICTIONARY = Server.CreateObject("Scrip ting.Dicti onary")
Set ObjSMGRFetchGeneric = Server.CreateObject("IIIGe nericDataA ccess.IIIF etchGeneri c")
Set rstSMGRSESSION = Server.CreateObject("ADODB .RecordSet ")
varSPName = "IIIFetch_user_Session"
ReDim varSMGRPARAMINPUT(0, 3)
SMGRSessionId = ReadSessionKey()
If Trim(SMGRSessionId) = "" Then
Triamun_Session = ""
Exit Function
End If
varSMGRPARAMINPUT(0, 0) = "@Session_Id"
varSMGRPARAMINPUT(0, 1) = "ANY_ERRMSG"
varSMGRPARAMINPUT(0, 2) = "adParamInput"
varSMGRPARAMINPUT(0, 3) = SMGRSessionId
' sASPCONNECTION = ""
nSMGRERRORNO = 0
strSMGRERRORMESSAGE = ""
Set rstSMGRSESSION = ObjSMGRFetchGeneric.FetchG enericData AccessUsin gSP(Cstr(A pplication ("strCMNCo nn")), Cstr(varSPNAME), varSMGRPARAMINPUT, nSMGRERRORNO, strSMGRERRORMESSAGE)
If nSMGRERRORNO > 0 Then
rstSMGRSESSION.MoveFirst
While Not rstSMGRSESSION.EOF
'varSMGRSessionId = rstSMGRSESSION("Session_Id ")
'varPARTNERID = rstSMGRSESSION("Partner_Id ")
'varPARTNERNAME = rstSMGRSESSION("Partner_Na me")
'varPARTNERADMINNAME = rstSMGRSESSION("Partner_Ad min_Name")
'varPARTNERTYPE = rstSMGRSESSION("Partner_Ty pe")
'varPARTNERLICENCE = rstSMGRSESSION("Partner_Li cence")
'varPARTNERKANTON = rstSMGRSESSION("Partner_Ka nton")
'varSOFTWARELICENCE = rstSMGRSESSION("Software_L icense")
'varSHOWGALDATALERT = rstSMGRSESSION("Show_Galda t_alert")
'varLOGINLANGUAGE = rstSMGRSESSION("Login_Lang uage")
'varPARTNERDATABASE = rstSMGRSESSION("Partner_Da tabase")
Call objSMGRDICTIONARY.Add("nPa rtnerId", Cstr("" & rstSMGRSESSION("Partner_Id ")))
Call objSMGRDICTIONARY.Add("str PartnerNam e", Cstr("" & rstSMGRSESSION("Partner_Na me")))
Call objSMGRDICTIONARY.Add("str PartnerAdm inName",Cs tr("" & rstSMGRSESSION("Partner_Ad min_Name") ))
Call objSMGRDICTIONARY.Add("str PartnerTyp e", Cstr("" & rstSMGRSESSION("Partner_Ty pe")))
Call objSMGRDICTIONARY.Add("Lic ense_Type" , Cstr("" & rstSMGRSESSION("Partner_Li cence")))
Call objSMGRDICTIONARY.Add("str PartnerKan ton", Cstr("" & rstSMGRSESSION("Partner_Ka nton")))
Call objSMGRDICTIONARY.Add("str SoftwareLi cense",Cst r("" & rstSMGRSESSION("Software_L icense")))
'Call objSMGRDICTIONARY.Add("nPa rtnerId", Cstr("" & rstSMGRSESSION("Show_Galda t_alert")) )
Call objSMGRDICTIONARY.Add("Lan guage", Cstr("" & rstSMGRSESSION("Login_Lang uage")))
Call objSMGRDICTIONARY.Add("Tra nsactionDB ", Cstr("" & rstSMGRSESSION("Partner_Da tabase")))
Call objSMGRDICTIONARY.Add("Enc ryptionpas sword",Cst r("" & rstSMGRSESSION("Encryption password") ))
Call objSMGRDICTIONARY.Add("Use rId", Cstr("" & rstSMGRSESSION("Partner_us er_Id")))
Call objSMGRDICTIONARY.Add("str UserName", Cstr("" & rstSMGRSESSION("Partner_us er_Name")) )
rstSMGRSESSION.MoveNext
Wend
End if
Set ObjSMGRFetchGeneric = Nothing
Set rstSMGRSESSION = Nothing
'If objSMGRDICTIONARY.Item("La nguage") = "G" Then
' Call objSMGRDICTIONARY.Add("FEE rrMsgFile" , "../include/German/FEErr_g .Msg")
'ElseIf objSMGRDICTIONARY.Item("La nguage") = "F" Then
' Call objSMGRDICTIONARY.Add("FEE rrMsgFile" , "../include/French/FEErr_f .Msg")
'ElseIf objSMGRDICTIONARY.Item("La nguage") = "E" Then
' Call objSMGRDICTIONARY.Add("FEE rrMsgFile" , "../include/English/FEErr_ e.Msg")
'End If
Triamun_Session_Filled = "1"
If objSMGRDICTIONARY.Exists(S essionPara m) Then
Triamun_Session = objSMGRDICTIONARY.Item(Ses sionParam)
Else
Triamun_Session = ""
End If
Triamun_Session = objSMGRDICTIONARY.Item(Ses sionParam)
End Function
%>
Kindly explain me in detail as I am new to asp...
Regards
and Thanks for help in anticipation
Uma
To access multiple servers, session value has no scope. Hence, I am using dictionary object to store session values to maintain sessions. But as the dictionary object loses scope on click of submit to the next page, how do i refer the dictionary object in subsequent pages ?? or how do I maintain session value stored in dictionary object across multiple servers??. please give me solutions
===purchaseorder3.asp====
<!-- #include file="../include/validate.
<!-- #include file="../include/lblObject
<!-- #include file="../SessionManager.in
<%
If UCase(Triamun_Session("Lan
<!-- #include file="../include/english/P
<!-- #include file="../include/english/Q
<% ElseIf UCase(Triamun_Session("Lan
<!-- #include file="../include/german/Pu
<!-- #include file="../include/german/Qc
<% ElseIf UCase(Triamun_Session("Lan
<!-- #include file="../include/french/Pu
<!-- #include file="../include/french/Qc
<% End If
'----- block to avoid caching
Response.Buffer = true
Response.AddHeader"pragma"
Response.Expires=0
Response.Addheader"expires
' Declaration of Variables to Hold the Screen Labels
Dim lblScreenTitle, lblPurchaseOrderNumber, lblSupplier, lblSupplierCode, lblStatus, lblOrderDate, lblOrderTime
Dim lblTransmissionTime, lblDeliveryDate, lblDeliveryTime, lblModeOfPO, lblPaymentTerm, lblTransmissionDate
Dim lblModeOfTransmission, lblTotalValue, lblSalesRep, lblRemark, lblTotalNumberOfLineItems,
Dim lblSelectTitle, lblItemType, lblItemDescription, lblStockQuantity, lblMinStockQuantity, lblMaxStockQuantity
Dim lblOpenOrderQuantity, lblOrderQuantity, lblBonus, lblTotal, lblRateInCHF, lblValueOfLine
Dim lblSpecialOfferIndicator, lblCustomerIndicator, lblControlled, lblControlledTitle, lblNonMovingItem
Dim lblNonMovingItemTitle, lblDelete, lblDeleteTitle, lblSelectAllForControlled,
Dim lblCreatedBy, lblModifiedBy, lblOn, lblSearch, lblSearchPurchaseOrder, lblSearchSupplier, lblStockQuantityTT
Dim lblMinStockQuantityTT, lblMaxStockQuantityTT, lblOpenOrderQuantityTT, lblSpecialOfferIndicatorTT
Dim lblDeliverySlip, lblRef, lblGo
' Declaration of Variables to Hold the Labels on Buttons, Warning Messages
Dim lblFetch, lblCreate, lblModify, lblAuthorise, lblAccept, lblTransmit, lblReset, lblChangeSupplier
Dim lblPrint, lblRePrint, lblClose, lblClear, lblShortClose, lblTransmissionLog, lblPartnerDefinedData
Dim lblStatistics, lblPurchaseOrders, lblPurchaseOrder, lblDuplicateItemsTitle, lblDuplicateItemsWarning
Dim lblAddToExistingLine, lblDeleteTheDuplicateLine,
' Declaration of Variables to get Session Values
Dim varPartnerName, varUserName, sPARTNERID, sCON, sLANGID, errObject, errFileName, varPartnerType
Dim varDaysForNonMovingItem, ACTION, varFromScreen, varPONumber, varSalesOrderNo, varStatusOfPOBeforeUpdate
Dim varPOType, varPOAmount, varPrintFlag, varRecordCreationLabel
Dim varSupplierCode, varSupplierDescription, varPOTransmissionMode, varPODeliveryDate, varPODeliveryTime
Dim varPODate, varPOTime, varPOTransmissionTime
' CCH Help Variables
Dim CCHQueryForSupplier, varQCDForCCHSupplierStatus
' Get Session Values
Set errObject = Application("ErrObject")
errFileName = Session("FEErrMsgFile")
sPARTNERID = Triamun_Session("nPartnerI
varPartnerName = Triamun_Session("strPartne
varUserName = Triamun_Session("strUserNa
sCON = Application("strODBC")
sLANGID = Triamun_Session("Language"
varDaysForNonMovingItem = Session("PRT010") ' No of Days for an Item to become Non-Moving
varPartnerType = Trim(Triamun_Session("strP
If varDaysForNonMovingItem = "" Then varDaysForNonMovingItem = 0
' Declaration of Array variables for PO Detail
Dim arrMultiline
' Query String Values
ACTION = Trim(Request.QueryString("
varPONumber = Trim(Request("txtPONumber"
varFromScreen = Trim(Request("mFromScreen"
varSalesOrderNo = Trim(Request("mSalesOrderN
varStatusOfPOBeforeUpdate = Trim(Request.QueryString("
' Set Default Values for Screen if they are empty
If varPOType = "" Then varPOType = "M" End If
If varPOAmount = "" Then varPOAmount = "0.00" End If
If varPrintFlag = "" Then varPrintFlag = "N" End If
' --------------------------
' Creating the Query for CCH for Supplier and encoding it
' --------------------------
CCHQueryForSupplier = "SELECT CVM.Customer_Vendor_Name AS 'CVM.Customer_Vendor_Name'
CCHQueryForSupplier = CCHQueryForSupplier & " CVM.Customer_Vendor_Code AS 'CVM.Customer_Vendor_Code'
CCHQueryForSupplier = CCHQueryForSupplier & " ISNULL(PA.Electronic_Flag,
CCHQueryForSupplier = CCHQueryForSupplier & " CVM.Status AS 'CVM.Status' "
CCHQueryForSupplier = CCHQueryForSupplier & " FROM IIICustomer_Vendor_Master CVM (NOLOCK), "
CCHQueryForSupplier = CCHQueryForSupplier & " IIIPurchase_Agreements PA (NOLOCK)"
CCHQueryForSupplier = CCHQueryForSupplier & " WHERE CVM.Partner_Id *= PA.Partner_Id "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Customer_Vendor_Type != 'C' "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Customer_Vendor_Type != 'P' "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Customer_Vendor_Code *= PA.Wholesaler_Code "
CCHQueryForSupplier = CCHQueryForSupplier & " AND CVM.Partner_Id = " & sPARTNERID
CCHQueryForSupplier = Server.URLEncode(CCHQueryF
' Loop for populating the Supplier status in a QCD
For cntr = 0 to UBound(arrCustVendStatus, 1)
varQCDForCCHSupplierStatus
varComboForCCHSupplierStat
Next
varQCDForCCHSupplierStatus
varComboForCCHSupplierStat
' --------------------------
' For diplaying Record Created/Modified By ..
varRecordCreationLabel = lblCreatedBy & " <" & "" & "> " & lblOn & " <" & "" & ">, " & lblModifiedBy & " <" & "" & "> " & lblOn & " <" & "" & ">"
''''''''''''''''''''''''''
' Fetch the Description for the First Preferred Wholesaler defined if any in the System Parameter
' and the Transmission Mode / Delivery Date & Time for the Wholesaler if any in Purchase Agreements
''''''''''''''''''''''''''
If ACTION = "" Then Call FetchPreferredWholesalerAn
''''''''''''''''''''''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME STARTS
''''''''''''''''''''''''''
Function FetchPreferredWholesalerAn
varSupplierCode = Trim(Session("PRT016"))
If varSupplierCode <> "" Then
Dim arrParamList
Redim arrParamList(3,3)
' Input Parameter Partner_Id
arrParamList(0,0) = "@Partner_Id"
arrParamList(0,1) = "ANY_COUNT"
arrParamList(0,2) = "adParamInput"
arrParamList(0,3) = sPARTNERID
' Input Parameter Customer Vendor Code
arrParamList(1,0) = "@Customer_Vendor_Code"
arrParamList(1,1) = "ANY_NAME"
arrParamList(1,2) = "adParamInput"
arrParamList(1,3) = varSupplierCode
' Input Parameter Language
arrParamList(2,0) = "Lang"
arrParamList(2,1) = "ANY_FLAG"
arrParamList(2,2) = "adParamInput"
arrParamList(2,3) = sLANGID
Set objPURCHASEORDER = Server.CreateObject("IIIGe
Set rstPURCHASEORDERHEADER = Server.CreateObject("ADODB
Set rstPURCHASEORDERHEADER = objPURCHASEORDER.FetchGene
"IIIFetch_Wholesaler_And_D
nERRORNO, strERRORMESSAGE)
strERRORMESSAGE = ""
If CInt(nERRORNO) > 0 Then
varSupplierDescription = rstPURCHASEORDERHEADER.fie
varPOTransmissionMode = rstPURCHASEORDERHEADER.fie
varPODeliveryDate = rstPURCHASEORDERHEADER.fie
varPODeliveryTime = rstPURCHASEORDERHEADER.fie
varPODate = rstPURCHASEORDERHEADER.fie
varPOTime = rstPURCHASEORDERHEADER.fie
varPOTransmissionTime = varPOTime
rstPURCHASEORDERHEADER.Clo
Set rstPURCHASEORDERHEADER = Nothing
End if
Erase arrParamList
Set objPURCHASEORDER = Nothing
End If
End Function
''''''''''''''''''''''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME ENDS
''''''''''''''''''''''''''
''''''''''''''''''''''''''
' To Get the Language Code for CCH for BASLER TAXE Items
''''''''''''''''''''''''''
Function GetDEFAULTLANGUAGECODE(str
SELECT CASE UCase(strLangId)
CASE "E" : LANGUAGECODE = "0"
CASE "G" : LANGUAGECODE = "1"
CASE "F" : LANGUAGECODE = "2"
CASE "F" : LANGUAGECODE = "3"
END SELECT
GetDEFAULTLANGUAGECODE = LANGUAGECODE
End Function
''''''''''''''''''''''''''
''''''''''''''''''''''''''
' FUNCTION TO GET THE QCD DESCRIPTION FOR THE QCD CODE AND THE QCD NAME PASSED STARTS
''''''''''''''''''''''''''
Function GetQCDDESCRIPTIONFORCODE(s
Dim cntr, arrTEMP
arrTEMP = Eval(strQCDNAME)
For cntr = 0 To UBound(arrTEMP, 1)
If strCODE = arrTEMP(cntr, 0) Then
GetQCDDESCRIPTIONFORCODE = arrTEMP(cntr, 1)
Exit Function
End If
Next
GetQCDDESCRIPTIONFORCODE = ""
End Function
''''''''''''''''''''''''''
' FUNCTION TO GET THE QCD DESCRIPTION FOR THE QCD CODE AND THE QCD NAME PASSED ENDS
''''''''''''''''''''''''''
%>
<HTML>
<HEAD>
<!-- Include JS Files -->
<LINK HREF="../include/galmenu3.
<SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/GALMENU.JS
<SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/COMMON.JS"
<!-- <SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/DROPDOWN.J
<SCRIPT LANGUAGE="JavaScript" SRC="../INCLUDE/INTERFACES
<SCRIPT LANGUAGE="javascript" SRC="../INCLUDE/MULTILINEG
<STYLE type="text/css">
#divPurchaseOrder
{
BEHAVIOR: url("../include/FPGRID.htc
}
</STYLE>
<!-- Client Side Script -->
<SCRIPT LANGUAGE="javascript">
var cntOUTOFSALEITEM = 0; //Counter for Out of sale Item ; A Global variable set to check On_Authorise() method is called
var objPODetailsXMLDOM = null;
var objPURCHASEORDER = null;
var strACTION = "";
var strPOModeArray = ""
var strItemHelpEnterRow = 0
// --------- Get all PO types in a string for later manupulation ---------/
<% For nCtr=0 to Ubound(POMode)-1 %>
strPOModeArray = strPOModeArray + "<%= POMode(nCtr,0) &"~~"& POMode(nCtr,1) &"~~~~"%>"
<% Next %>
// --------------------- Display the screen Title -----------------------/
window.parent.document.tit
<%if varFromScreen = "" then%>
parent.frmMenu.writeit("<%
<%end if%>
/*************************
CODE FOR ITEM DROPDOWN STARTS
**************************
/*
var List1 = new Array()
var List1_FixedLength = 50
var foc1 = 0
var LocalFileFlag1 = true
var LocalFileFlag2 = false
var LocalFileName = "c:\\iii\\" + "<%=sPARTNERID%>" + "\\" + "<%=sLANGID%>" + "_FUI.txt"
var strItemHelpEnterRow = 0
/*************************
Function to know cursor current location for Dropdown
**************************
/*function On_SetFocusValueForItemInM
{
var strItemType = document.frmPurchaseOrder.
if (strItemType == "I")
{
DDQfoc(intRowNumber, chrItemOrPatient, fldItemDescription, fldListBox);
foc2 = intRowNumber;
return;
}
}*/
/*************************
Function to fire when an Item is chosen from the Dropdown list
**************************
/*function On_SelectionOfAnItemInFUID
{
docfrm = document.frmPurchaseOrder
if(intIndexChosen == 1)
{
if(!LocalFileFlag1) return
var fldListBox = docfrm.SearchList // Reference to the Listbox Object showing Dropdown
var fldItemDescription = docfrm.mItemDescription[fo
if (fldListBox.value == "vv")
{
loadListOnEOL(fldItemDescr
fldItemDescription.focus()
return
}
else if(fldListBox.value == "^^")
{
loadListOnBOL(fldItemDescr
fldItemDescription.focus()
return
}
fldItemDescription.value = fldListBox.options[fldList
var strListValue = fldListBox.options[fldList
var arrDropDown = strListValue.split('~')
document.frmPurchaseOrder.
if ( document.frmPurchaseOrder.
GetItemDetailsOnHelpEnter(
fldItemDescription.focus()
}
}*/
/*************************
Loads the Local File on Body Load
**************************
/*function On_LoadFUIFileOnBodyLoad()
{
DDFileload(LocalFileName, "document.frmPurchaseOrder
}*/
/*************************
CODE FOR ITEM DROPDOWN ENDS
**************************
var strColumnPassed = ""
var strFocusIsOn = ""
var intPOStatus = ""
var strFromScreen = "<%=varFromScreen%>"
var langid = "<%=sLANGID%>"
var intCurrentLine = ""
var winReport = ""
/*************************
function to set the focus value to validate on submit
**************************
function On_SetFocusValue(strValue,
{
strFocusIsOn = strValue
intCurrentLine = intRowNumber
}
/*************************
Function to launch CCH For PO Number
**************************
function HelpForPONumber()
{
var strFileName = "help.asp?HELP_ID=59&Filte
launchhelp1(strFileName);
}
/*************************
Function to launch CCH for Supplier
**************************
function HelpForSupplier()
{
var strFileName = "help.asp?From=document.fr
launchhelp1(strFileName);
}
/*************************
Funtion to launch different CCH
**************************
function On_LaunchHelpLocal(strFile
{
var winHelp
winHelp = window.open(strFileName, strWindowName, 'menubar=no,location=no,to
winHelp.focus()
}
/*************************
Funtion to compare two dates
**************************
function On_CompareTwoDateTimeField
{
var arrDate1 = (fldFromDate.value).toStri
var arrDate2 = (fldToDate.value).toString
var arrTime1 = GetTimeValue(fldFromTime).
var arrTime2 = GetTimeValue(fldToTime).to
var dtFirstDate = new Date(arrDate1[2], arrDate1[1]-1, arrDate1[0], arrTime1[0], arrTime1[1])
var dtSecondDate = new Date(arrDate2[2], arrDate2[1]-1, arrDate2[0], arrTime2[0], arrTime2[1])
// Compare Date and Time
if (dtFirstDate.getTime() > dtSecondDate.getTime()) return false
else return true
}
/*************************
Function to provide Help on enter for Item Description
**************************
function On_HelpOnEnterForItems(int
{
var strFieldsList = ""
var strItemHelpQuery = ""
var strLanguageCode = ""
strItemHelpEnterRow = intRowNumber
/** This is not to allow ' qoute in Help enter **/
var strRegExp = /[']/ig;
if (strRegExp.test(strItemEAN
{
IIIalert("<%=errObject.get
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
return false;
}
if (strItemType == "I")
{
//CR006 - 116 -- added by Sriram
var strItemLaunchHelp = "";
var strFields = "";
var strFields_Help = "";
if (strItemEANCode.length <= 7) strItemEANCode = strItemEANCode.replace(/^0
//Get the Column Index of required columns needs to be passed to the Item Search
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strFields_Help += divPurchaseOrder.getColInd
strItemLaunchHelp = "ITEMSEARCH.ASP?From=objPU
On_ChangeItemDescription(i
GetItemDetailsOnHelpEnter(
}
else
{
// Get the language code for the logged in language
if(langid == 'E')
strLanguageCode = "0"
else if(langid == 'F')
strLanguageCode = "2"
else if(langid == 'G')
strLanguageCode = "1"
else if(langid == 'I')
strLanguageCode = "3"
strFieldsList = "sprITEMDESCRIPTION,sprHID
strItemHelpQuery += " SELECT Description, BaslerTaxeKey, 0, 0, 0, 0, DBO.IIIRoundPrice(0.00) "
strItemHelpQuery += " FROM IIIBasler_Taxe (NOLOCK) "
strItemHelpQuery += " WHERE BaslerTaxeKey = '" + strItemEANCode + "'"
strItemHelpQuery += " AND Language_Code = '" + strLanguageCode + "'"
launchhelpEnter("HELPENTER
}
On_BlurCalculateTotals(int
}
/*************************
Function to provide CCH For Galdat Items/Chemicals
**************************
function HelpForItemOrChemical(intR
{
var strFileName = ""
var strFields = ""
var strItemType = divPurchaseOrder.getCellVa
// If the Type selected is Item
if (strItemType == "I")
{
//Get the Column Index of required columns needs to be passed to the Item Search
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFields += divPurchaseOrder.getColInd
strFileName = "ITEMSEARCH.ASP?From=objPU
launchhelp1(strFileName);
}
else if (strItemType == "B")
{
strFileName = "help.asp?HELP_ID=54&Start
launchhelp1(strFileName);
}
}
/*************************
Function to fire on click of Clear Button - Goes to the BE and fetches default values
**************************
function On_Clear()
{
Allowupdate = true;
strACTION = ""
strFocusIsOn = "";
On_CallXMLHTTPAfterValidat
}
/*************************
Function to fire on click of Select/Unselect Controlled checkbox
**************************
function On_CheckUnCheckAllControll
{
var intRowNo = 0;
var nRowLength = 0;
var rstPOMLDetails = null;
var objNodeList = null;
var blnControlled = document.frmPurchaseOrder.
// If the option is unchecked/checked just uncheck all the rows of controlled column
var objPOGrid = eval(divPurchaseOrder.getG
var nColIndex = divPurchaseOrder.getColInd
Set_Value_For_Range(objPOG
if(blnControlled == false)
{
lblCheckUncheckControlled.
return false;
}
else
{
lblCheckUncheckControlled.
}
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprDELETE = '1' or @sprITEMDESCRIPTION = ''";
var objPOMLDOM = divPurchaseOrder.getXMLStr
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
rstPOMLDetails = objPOMLDOM.selectNodes("//
nRowLength = rstPOMLDetails.length
if (nRowLength == 0) return false;
objNodeList = rstPOMLDetails.nextNode;
while(objNodeList != null)
{
// Get the row no from the XML node
intRowNo = objNodeList.getAttribute("
//Check the controlled checkbox
divPurchaseOrder.setCellVa
objNodeList = rstPOMLDetails.nextNode;
}
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
}
/*************************
Function to fire on click of Fetch button
**************************
function On_Fetch()
{
if (document.frmPurchaseOrder
{
IIIalert("<%=errObject.get
document.frmPurchaseOrder.
return false
}
On_CallXMLHTTPAfterValidat
strFocusIsOn = "";
return false;
}
/*************************
Function to call XML HTTP Submit based on the Mode
**************************
function On_CallXMLHTTPAfterValidat
{
//-------- From the required value as XMLDOMObject--------------
var objXMLPOSTED = StoreValuesAsXMLDOMObject(
var strRETURNRESULT = GetOutputXMLUSINGXMLHTTP("
//--------- Load the Result XML into an DOMObject -----------------//
var objRESULTXML = new ActiveXObject("Microsoft.X
objRESULTXML.loadXML(strRE
if (objRESULTXML.selectSingle
{
// strAction/Mode is globally strored once if the screen throws success message
strACTION = strMODE
divPurchaseOrder.ClearAll(
//If the mode is delete and fetchdefault then only the header value is binded
if( (strMODE == 'DELETEPURCHASEORDER') || (strMODE == 'FETCHDEFAULTVALUES') )
{
objHdrXMLDom = divPurchaseOrder.loadXMLSt
fnSetValuesOnSuccess('CLEA
SetDefaults('CLEAR');
}
else
{
objHdrXMLDom = divPurchaseOrder.loadXMLSt
objMLXMLDom = divPurchaseOrder.loadXMLSt
fnSetValuesOnSuccess('SET'
SetDefaults('SET');
}
// Display the success error message
if( (objRESULTXML.selectSingle
alert(objRESULTXML.selectS
}
else
{
strACTION = ""
if(strMODE == 'FETCH')
{
divPurchaseOrder.ClearAll(
//document.frmPurchaseOrde
fnSetValuesOnSuccess('CLEA
SetDefaults('CLEAR');
}
/** PO Containing PDI Item(s) cannot be authorised **/
if (objRESULTXML.selectSingle
{
ItemDescriptionforPDI = GetItemDescriptionforPDI()
IIIalert("<%=errObject.get
}
else
{
// Display the failed error message
alert(objRESULTXML.selectS
}
}
objRESULTXML = null;
objXMLPOSTED = null;
objHdrXMLDom = null;
objMLXMLDom = null;
return false;
}
/*************************
Function to set default on success on success of any Action
**************************
function fnSetValuesOnSuccess(strFl
{
var strCreatedOnDtls = ""
if (objHdrXMLDom == null) return false;
// Set defaults..
if(strFlag == 'SET')
{
var strCreatedBy = objHdrXMLDom.selectSingleN
var strCreatedOn = objHdrXMLDom.selectSingleN
var strModifiedBy = objHdrXMLDom.selectSingleN
var strModifiedOn = objHdrXMLDom.selectSingleN
strCreatedOnDtls = "<%=lblCreatedBy%>" + " <" + strCreatedBy + "> " + "<%=lblOn%>" + " <" + strCreatedOn + ">, " + "<%=lblModifiedBy%>" + " <" + strModifiedBy + "> " + "<%=lblOn%>" + " <" + strModifiedOn + ">"
IDCreatedOn.innerText = strCreatedOnDtls
}
else
{
IDCreatedOn.innerHTML = "<%=varRecordCreationLabel
}
//Clear the Selct all label and uncheck the combo..
document.frmPurchaseOrder.
lblCheckUncheckControlled.
}
/*************************
Function to store PO Header and detail values into a XMLDOM Object and the object is returned fro HTTP postings
**************************
function StoreValuesAsXMLDOMObject(
{
var objDOMCLIENTSIDE = new ActiveXObject("Microsoft.X
var frmPurchaseOrder = document.frmPurchaseOrder
var strCSXML = ""
var strHDRDetails = ""
var strMLDetails = ""
var objHeaderDOM = null;
var objPOMLDOM = null;
//If the mode is just Fetch/Header Uypdate then only the required header info alone is passed to the server..
if( (strMode == 'FETCH') || (strMode == 'TRANSMITPURCHASEORDERFETC
{
objHeaderDOM = divPurchaseOrder.getXMLStr
if (objHeaderDOM != null)
strHDRDetails = objHeaderDOM.xml;
}
else
{
objHeaderDOM = divPurchaseOrder.getXMLStr
if (objHeaderDOM != null)
strHDRDetails = objHeaderDOM.xml;
//--------- ML Detail is taken from the global object which is stored when Create/Modify action validation succeed
if (objPODetailsXMLDOM != null)
{
strMLDetails = objPODetailsXMLDOM.xml
}
else
{
objPOMLDOM = divPurchaseOrder.getXMLStr
if (objPOMLDOM != null)
strMLDetails = objPOMLDOM.xml
}
}
//CLEAR THE OBJECT
objPOMLDOM = null;
objHeaderDOM = null;
objPODetailsXMLDOM = null;
/** Load the PO Header and PO MLData into the XMLDOM **/
strCSXML += "<XMLHTTPPurchaseOrder>"
strCSXML += "<MODE>" + strMode + "</MODE>"
strCSXML += "<NONMOVINGITEMLABEL>" + "<%=lblNonMovingItem%>" + "</NONMOVINGITEMLABEL>"
strCSXML += "<DECIDERFLAG>" + strMode + "</DECIDERFLAG>"
strCSXML += "<HEADERDETAILFETCHFLAG></
strCSXML += "<POHEADER>" + strHDRDetails + "</POHEADER>"
strCSXML += "<POMLDETAILS>" + strMLDetails + "</POMLDETAILS>"
strCSXML += "<ErrorNo></ErrorNo>"
strCSXML += "<ErrorMessage></ErrorMess
strCSXML += "</XMLHTTPPurchaseOrder>"
objDOMCLIENTSIDE.loadXML(s
return objDOMCLIENTSIDE;
}
/*************************
Function for validation of mandatory fields (Header Fields)
**************************
function On_ValidateMandatoryFields
{
if (Trim(eval("document.frmPu
{
IIIalert("<%=errObject.get
eval("document.frmPurchase
return false;
}
return true;
}
/*************************
Function for validation of mandatory fields (PO ML Fields)
**************************
function On_ValidateMandatoryFields
{
var nCol = ""
if (strColValue == "")
{
IIIalert("<%=errObject.get
nCol = divPurchaseOrder.getColInd
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
return false;
}
return true;
}
/*************************
Function for Validation for Valid Characters
**************************
function On_ValidateCharSet(strCont
{
if (!isvalidCharSet(Trim(strC
{
IIIalert("<%=errObject.get
strControlName.focus()
return false
}
return true
}
/*************************
Function to Validate That Number Fields should have greater than Zero Value
**************************
function On_ValidateNumberGreaterTh
{
var nCol = ""
if (parseFloat(Trim(strColVal
{
IIIalert("<%=errObject.get
nCol = divPurchaseOrder.getColInd
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
return false;
}
return true;
}
/*************************
Function to show Modal Windows for Warnings to the User
**************************
function On_ShowModalWindow(arrMsgs
{
var arrLabels = new Array(2);
var strReturnValue = ""
arrLabels[0] = arrMsgs;
arrLabels[1] = arrBtns;
arrLabels[2] = "scrButton"
strReturnValue = window.showModalDialog("II
return strReturnValue;
}
/*************************
General Form Validation Routine
**************************
function Validate()
{
document.frmPurchaseOrder.
document.frmPurchaseOrder.
document.frmPurchaseOrder.
/** Validating Charset **/
if (!On_ValidateCharSet(docum
if (!On_ValidateCharSet(docum
/** Validating Dates and Time Fields **/
if (!validateDate(document.fr
if (Trim(document.frmPurchase
if (!validateDate(document.fr
/** Validating Mandatory Fields **/
if (!On_ValidateMandatoryFiel
if (!On_ValidateMandatoryFiel
if (!On_ValidateMandatoryFiel
if (!On_ValidateMandatoryFiel
/** Validating that Order Date should not be a future Date **/
var arrPODate = (document.frmPurchaseOrder
var arrPOTime = GetTimeValue(document.frmP
var dtCurrentDate = new Date()
var dtPODateTime = new Date(arrPODate[2], arrPODate[1]-1, arrPODate[0])
if (dtPODateTime.getTime() > dtCurrentDate.getTime())
{
IIIalert("<%=errObject.get
return false
}
/** Validating that Remarks should contain only a maximum of 500 chars **/
if (parseFloat(Trim(document.
{
IIIalert("<%=errObject.get
document.frmPurchaseOrder.
return false
}
/** Validation that Order Date is lesser than Transmission Date
and that Transmission Date is lesser than Delivery Date **/
if (document.frmPurchaseOrder
{
if (!On_CompareTwoDateTimeFie
{
alert("<%=errObject.getnth
return false
}
if (!On_CompareTwoDateTimeFie
{
alert("<%=errObject.getnth
return false
}
}
else
{
if (!On_CompareTwoDateTimeFie
{
alert("<%=errObject.getnth
return false
}
}
// ----------------- Multiline Validation starts --------------------------
/** To check that atleast one row exists in Multiline **/
var intRowNo = 0;
var nRowLength = 0;
var rstPOMLDetails = null;
var objNodeList = null;
var objXMLDOC = null;
var strIemDesc, nLineDeleted, strPOCustomerDtls;
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprITEMDESCRIPTION = '' or @sprDELETE = '1'";
var objPOMLDOM = divPurchaseOrder.getXMLStr
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
rstPOMLDetails = objPOMLDOM.selectNodes("//
nRowLength = rstPOMLDetails.length
if (nRowLength == 0)
{
alert("<%=errObject.getnth
return false;
}
objNodeList = rstPOMLDetails.nextNode;
var nOrderQuantity = "", nBonus = "", nRateInCHF = "", nCol = "", dblTotalPOValue = "0";
var nLineTotal = "", strLineType = "", NoOfLinesManual = "0", NoOfLinesAutomatic = "0", NoOfLinesCustomer = "0";
var nReturnedRow = "", nReturnedRow_Temp = "";
var nItemDescColIndex = divPurchaseOrder.getColInd
while(objNodeList != null)
{
// Get all required values from the XML Node
intRowNo = objNodeList.getAttribute("
strIemDesc = Trim(objNodeList.getAttrib
nLineDeleted = objNodeList.getAttribute("
nOrderQuantity = objNodeList.getAttribute("
nBonus = objNodeList.getAttribute("
nRateInCHF = objNodeList.getAttribute("
nLineTotal = objNodeList.getAttribute("
nReturnedRow = 0
nReturnedRow_Temp = intRowNo
//Out of sale Item Check
if ((objNodeList.getAttribute
// ------ To check that Duplicate Items should not exist in Purchase Order Multiline -----------
if ( (nLineDeleted != "1") && (strIemDesc != "") )
{
//Check for the duplicate rows until the searchcol returns "-1"..
while(nReturnedRow != -1)
{
nReturnedRow = objPURCHASEORDER.SearchCol
// Check if the duplicate row found is deleted or not, if yes return
if (nReturnedRow != -1)
{
nLineDeleted_TEMP = divPurchaseOrder.getCellVa
nReturnedRow_Temp = nReturnedRow
}
if (nReturnedRow != -1 && nLineDeleted_TEMP != '1')
{
var arrMessages = new Array()
var arrButtons = new Array()
var arrReturnValue = new Array()
arrMessages[0] = "Triamun " + "<%=lblDuplicateItemsTitle
arrMessages[1] = "<%=lblDuplicateItemsWarni
arrButtons[0] = "<%=lblAddToExistingLine%>
arrButtons[1] = "<%=lblDeleteTheDuplicateL
arrButtons[2] = "<%=lblCancel%>"
arrReturnValue = On_ShowModalWindow(arrMess
/** Add the New Line to Existing Line **/
if (arrReturnValue[1] == 0)
{
/*************************
Add the Order Quantity and Bonus in New Line to Existing Line Order Quantity
and Bonus. Mark the New Line for Delete
**************************
var nQtyInEL = divPurchaseOrder.getCellVa
var nBonusInEL = divPurchaseOrder.getCellVa
var nQtyInNL = divPurchaseOrder.getCellVa
var nBonusInNL = divPurchaseOrder.getCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
On_BlurCalculateTotals(int
}
/** Remove the New Line **/
else if (arrReturnValue[1] == 1)
{
divPurchaseOrder.setCellVa
}
else if (arrReturnValue[1] == 2)
{
return false;
}
}
}
}
// --- Validate mandatory and proper values only if the item desc is not empty and line not marked as delete
if ( (nLineDeleted != "1") && (strIemDesc != "") )
{
/** Validation for Numeric Values **/
if (Trim(nOrderQuantity) != "" && IsQty(nOrderQuantity, "<%=lblOrderQuantity%>") == false) return false
if (Trim(nBonus) != "" && IsQty(nBonus, "<%=lblBonus%>") == false) return false
if (Trim(nRateInCHF) != "" && IsPrice(nRateInCHF, "<%=lblRateInCHF%>") == false) return false
/** Validation for Mandatory Fields **/
if (!On_ValidateMandatoryFiel
if (!On_ValidateNumberGreater
var dblOrderQuantity_Temp = Trim(nOrderQuantity)==""?0
var dblBonus_Temp = Trim(nBonus)==""?0:Trim(nB
var dblRateInCHF_Temp = Trim(nRateInCHF)==""?0:Tri
// Calculating Line Level Totals
var dblTotal = RoundQty(parseFloat(dblOrd
// changed for TRIMAUNIII1.0S_015016
if (dblTotal.toString().lengt
{
alert("<%=errObject.getnth
nCol = divPurchaseOrder.getColInd
divPurchaseOrder.setFocus(
return false;
}
/** Setting Rate and Bonus Values to Zero if they are empty **/
if (Trim(nRateInCHF) == "")
divPurchaseOrder.setCellVa
if (Trim(nBonus) == "")
divPurchaseOrder.setCellVa
/** Calculate Line Totals and Grand Total **/
On_BlurCalculateTotals(int
}
objNodeList = rstPOMLDetails.nextNode;
}
// --------- Store the Customer PO details alone into a seperate element to avoid special character ------- //
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
objXMLDOC = new ActiveXObject("Microsoft.X
// Get all the rows after filter from the ML
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprITEMDESCRIPTION = ''";
var objPOMLDOM = divPurchaseOrder.getXMLStr
rstPOMLDetails = objPOMLDOM.selectNodes("//
objNodeList = rstPOMLDetails.nextNode;
while(objNodeList != null)
{
nLineTotal = objNodeList.getAttribute("
strLineType = objNodeList.getAttribute("
nLineDeleted = objNodeList.getAttribute("
strPOCustomerDtls = objNodeList.getAttributeNo
if(nLineDeleted != '1')
{
//Calculate the Total of All PO Lines
dblTotalPOValue = RoundAmt(parseFloat(dblTot
/** Calculating No. of Rows per Line Type **/
if (strLineType.toUpperCase()
NoOfLinesManual = parseFloat(NoOfLinesManual
else if (strLineType.toUpperCase()
NoOfLinesAutomatic = parseFloat(NoOfLinesAutoma
else if (strLineType.toUpperCase()
NoOfLinesCustomer = parseFloat(NoOfLinesCustom
}
if ( strPOCustomerDtls.value != "" )
{
var newElement = objPOMLDOM.createElement("
objXMLDOC.loadXML(unescape
var ChildNode = objXMLDOC.selectSingleNode
if (ChildNode != null)
{
objNodeList.appendChild(Ch
}
}
objNodeList.removeAttribut
objNodeList = rstPOMLDetails.nextNode;
}
//Total Value of PO and Total lines are calculated and Assigned..
if (dblTotalPOValue.toString(
{
alert("<%=errObject.getnth
return false
}
document.frmPurchaseOrder.
document.frmPurchaseOrder.
document.frmPurchaseOrder.
document.frmPurchaseOrder.
//assign the converted XML DOM object to a global object..
objPODetailsXMLDOM = objPOMLDOM
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
return true;
}
/*************************
Function to calculate PO Total on Change of Lines (Like Delete/Undelete, clearing a Line etc)
**************************
function On_CalculateTotalValue(int
{
On_BlurCalculateTotals(int
var dblTotalPOValue = document.frmPurchaseOrder.
var dblTotalLineValue = divPurchaseOrder.getCellVa
if (isNaN(dblTotalPOValue) || dblTotalPOValue == "") dblTotalPOValue = 0
if (isNaN(dblTotalLineValue) || dblTotalLineValue == "") dblTotalLineValue = 0
if (parseFloat(dblTotalPOValu
{
if (strAddOrSubtractFlag == "PLUS") dblTotalPOValue = parseFloat(dblTotalPOValue
else if (strAddOrSubtractFlag == "MINUS") dblTotalPOValue = parseFloat(dblTotalPOValue
}
document.frmPurchaseOrder.
}
/*************************
Function to Calculate form totals on blur
**************************
function On_BlurCalculateTotals(int
{
var dblTotalPOValue = Trim(document.frmPurchaseO
var dblValueOfLine = divPurchaseOrder.getCellVa
var dblOrderQuantity = divPurchaseOrder.getCellVa
var dblBonus = divPurchaseOrder.getCellVa
var dblRateInCHF = divPurchaseOrder.getCellVa
var strDelFlag = divPurchaseOrder.getCellVa
if (dblValueOfLine == "") dblValueOfLine = 0
if (dblTotalPOValue == "") dblTotalPOValue = 0
if (dblOrderQuantity == "") dblOrderQuantity = 0
if (dblBonus == "") dblBonus = 0
if (dblRateInCHF == "") dblRateInCHF = 0
// If the line is not marked for deletion, then calculate the total..
if (strDelFlag != "1")
{
// Calculating Line Level Totals
var dblTotalQty = RoundQty(parseFloat(dblOrd
var dblTotalAmt = RoundAmt(dblOrderQuantity * dblRateInCHF, "Y")
// Setting the Line Totals in the appropriate columns
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
dblTotalPOValue = RoundAmt(parseFloat(dblTot
if (dblTotalPOValue.toString(
{
alert("<%=errObject.getnth
divPurchaseOrder.setFocus(
return false
}
document.frmPurchaseOrder.
}
}
/*************************
Function to clear fields when Supplier Description is changed
**************************
function On_ClearSupplierCode()
{
document.frmPurchaseOrder.
}
/*************************
Function to clear fields when Item Description is changed
**************************
function On_ChangeItemDescription(i
{
On_CalculateTotalValue(int
//Clear all columns of that line..
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
var nColIndex = divPurchaseOrder.getColInd
Set_Button_Color(objPURCHA
var nItemDescColIndex = divPurchaseOrder.getColInd
var nItemFlagColIndex = divPurchaseOrder.getColInd
ResetItemColour("GRID","ob
}
/*************************
Function to fire on click of Create button
**************************
function On_Create()
{
// If the focus is on PO Number and enter key is fired..
if (strFocusIsOn == "txtPONumber")
{
On_Fetch();
return false
}
else if (strFocusIsOn == "txtSupplierDescription")
{
var strVendor = document.frmPurchaseOrder.
launchhelpEnter("HELPENTER
return false;
}
else if (strFocusIsOn == "txtOrderDate")
{
On_EnterKeyInOrderDate()
return false
}
if (!Validate()) return false
if (Trim(document.frmPurchase
{
IIIalert("<%=errObject.get
document.frmPurchaseOrder.
return false
}
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
/*************************
To Default Delivery Date as per Time Rules defined for Wholesaler
**************************
function On_EnterKeyInOrderDate()
{
if (!validateDate(document.fr
if (Trim(document.frmPurchase
if (Trim(document.frmPurchase
var strSupplier = document.frmPurchaseOrder.
var strOrderDate = document.frmPurchaseOrder.
var arrWeekDays = new Array("SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT")
var dtOrderDate = new Date(strOrderDate.substrin
var strOrderDay = arrWeekDays[dtOrderDate.ge
var strOrderTime = GetTimeValue(document.frmP
var intBitNoInString = 0
var strQuery = ""
var strFieldsList = "txtDeliveryDate,hidDelive
if (dtOrderDate.getDay() == "0") intBitNoInString = 7
else intBitNoInString = dtOrderDate.getDay()
strQuery += " SELECT CONVERT(NVARCHAR(10), DATEADD(DD, CONVERT(INT, SUBSTRING(Delivery_Day_Str
strQuery += " ,Delivery_Time FROM IIITime_Rules_Detail (NOLOCK) "
strQuery += " WHERE Partner_Id = '<%=sPARTNERID%>' "
strQuery += " AND Vendor_Code = (SELECT TOP 1 Vendor_Code FROM IIICustomer_Vendor_Master (NOLOCK) WHERE Partner_Id = '<%=sPARTNERID%>' AND Customer_Vendor_Name ='" + document.frmPurchaseOrder.
strQuery += " AND Order_Option IN('" + strOrderDay + "','WD') "
strQuery += " AND CONVERT(INT, SUBSTRING(Order_Day_String
strQuery += " AND CONVERT(DATETIME, Order_Time, 108) = "
strQuery += " ( SELECT MIN(CONVERT(DATETIME, Order_Time, 108)) "
strQuery += " FROM IIITime_Rules_Detail TRD (NOLOCK) INNER JOIN IIICustomer_Vendor_Master CVM (NOLOCK) "
strQuery += " ON TRD.Partner_Id = CVM.Partner_id AND TRD.Vendor_Code = CVM.Customer_Vendor_Code AND CVM.Customer_Vendor_Name = '" + document.frmPurchaseOrder.
strQuery += " AND CVM.Customer_Vendor_Type <> 'C' AND CONVERT(DATETIME, Order_Time, 108) >= CONVERT(DATETIME, '" + strOrderTime + "', 108))"
launchhelpEnter("HelpEnter
}
/*************************
Function to fire on click of Modify button
**************************
function On_Modify()
{
var strSUBMITMODE = ""
var blnTRANSMISSIONMODEDISABLE
var strTRANSMISSIONMODE = Trim(divPurchaseOrder.getC
intPOStatus = Trim(divPurchaseOrder.getC
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel
/*************************
Allow Modification only
1. If PO Status is OPEN
2. If PO Status is AUTHORISED and Transmission Mode is Manual
3. If PO Status is AUTHORISED and Transmission Mode is Manual
**************************
//if (intPOStatus != "2" && !((intPOStatus == "3" || intPOStatus == "6") && blnTRANSMISSIONMODEDISABLE
//if (intPOStatus != "2" && !((intPOStatus == "3" || intPOStatus == "6") && strTRANSMISSIONMODE == "M"))
if (intPOStatus != "2" && intPOStatus != "3" && intPOStatus != "6")
{
alert("<%=errObject.getnth
return false
}
if (intPOStatus != "2" && ((intPOStatus == "3" || intPOStatus == "6") && Allowupdate == false))
{
alert("<%=errObject.getnth
return false
}
else
{
if (intPOStatus == "2") strSUBMITMODE = "MODIFYPURCHASEORDER"
else strSUBMITMODE = "MODIFYTRANSMISSIONMODE"
/** If PO is Authorised or Failed, allow Update of Transmission Mode only if it is MANUAL **/
if ( (intPOStatus == "3" || intPOStatus == "6") && strTRANSMISSIONMODE != "M" )
{
alert("<%=errObject.getnth
return false
}
else /** Common Validation Procedure if PO Status is Open **/
{
if (!Validate()) return false
}
}
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
/*************************
Function to fire on click of Authorise button
**************************
function On_Authorise()
{
intPOStatus = Trim(divPurchaseOrder.getC
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
// Validate that only open purchase orders can be modified
if (intPOStatus != "2")
{
IIIalert("<%=errObject.get
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel
// Global Variable for Out of sale item is set to to zero before validate method
cntOUTOFSALEITEM = 0;
// General Validation for full form controls
if (!Validate()) return false
// Out of Sale Item check
if (cntOUTOFSALEITEM > 0 )
{
if (!confirm("<%=errObject.ge
}
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
/*************************
Function to fire on click of transmit button
**************************
function On_Transmit()
{
intPOStatus = Trim(divPurchaseOrder.getC
var PONumber = Trim(divPurchaseOrder.getC
var PDIExists = Trim(divPurchaseOrder.getC
var strTRANSMISSIONMODE = Trim(divPurchaseOrder.getC
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
// Validate that only authorised purchase orders can be transmitted
if (intPOStatus != "3" && intPOStatus != "6")
{
IIIalert("<%=errObject.get
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel
// Only PO's where transmission mode is Automatic can be Transmitted. Else it should be printed
if (strTRANSMISSIONMODE != "A")
{
alert("<%=errObject.getnth
return false
}
//Begin : Interface 002:PO Transmission - Venki
if(! validateforV50("<%=Session
{
return false
}
//End : Interface 002:PO Transmission - Venki
/** PO Containing PDI Item cannot be transmitted **/
if (PDIExists == 1)
{
ItemDescriptionforPDI = GetItemDescriptionforPDI()
//IIIalert("<%=errObject.g
IIIalert("<%=errObject.get
return false
}
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
function GetItemDescriptionforPDI()
{
var LineItemDesc = ""
var LineItemCode = ""
var AllItemDesc = '\n' + '\n' + "<%=lblLineNo&" "&lblItemDescription%>" + '\n' + "------ -----------------"
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprITEMDESCRIPTION = '' or @sprDELETE = '1'";
var objPOMLDOM = divPurchaseOrder.getXMLStr
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
rstPOMLDetails = objPOMLDOM.selectNodes("//
nRowLength = rstPOMLDetails.length
if (nRowLength == 0) return false;
objNodeList = rstPOMLDetails.nextNode;
while(objNodeList != null)
{
// Get the Item Code from the XML node
intRowNo = objNodeList.getAttribute("
LineItemDesc = objNodeList.getAttribute("
LineItemCode = objNodeList.getAttribute("
if (LineItemCode.substring(0,
{
AllItemDesc = AllItemDesc +'\n'+ (intRowNo) +" "+ LineItemDesc
}
objNodeList = rstPOMLDetails.nextNode;
}
objPOMLDOM = null
objNodeList = null
rstPOMLDetails = null
AllItemDesc = AllItemDesc + '\n' + '\n'
return AllItemDesc
}
/*************************
Function to fire on click of print button
**************************
function On_Print()
{
intPOStatus = Trim(divPurchaseOrder.getC
var strTRANSMISSIONMODE = Trim(divPurchaseOrder.getC
var strPrintFlag = Trim(divPurchaseOrder.getC
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
// Validate that only authorised purchase orders can be printed
if (intPOStatus == "2")
{
alert("<%=errObject.getnth
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel
/** Purchase Order is already Printed **/
if (strTRANSMISSIONMODE == "M")
{
if (Trim(strPrintFlag) != "Y")
{
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
else
{
On_PrintReports()
return false
}
}
else
{
On_PrintReports()
return false
}
}
/*************************
Function to fire on click of Delete button
**************************
function On_Delete()
{
intPOStatus = Trim(divPurchaseOrder.getC
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
if ( intPOStatus != "1" && intPOStatus != "2" )
{
IIIalert("<%=errObject.get
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel
/** Delete confirmation **/
var msg = "<%=errObject.getnthdescri
if ( !window.confirm(msg) ) return;
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
/*************************
Function to fire on click of Short Close button
**************************
function On_ShortClose()
{
intPOStatus = Trim(divPurchaseOrder.getC
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
else if (intPOStatus == "2")
{
alert("<%=errObject.getnth
return false
}
else if (intPOStatus == "10")
{
alert("<%=errObject.getnth
return false
}
/** PO Number cannot be empty **/
if (!On_ValidateMandatoryFiel
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
/*************************
Function to fire on click of Change Supplier Button
**************************
function On_ChangeSupplier()
{
intPOStatus = Trim(divPurchaseOrder.getC
if ( "<%=GetAccessPermission("O
{
IIIalert("<%=ErrObject.get
return false;
}
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
// PO Number should be entered in order to navigate to Change Supplier Screen
if (!On_ValidateMandatoryFiel
// Validate that only for open PO's supplier can be changed
if (intPOStatus != "2")
{
IIIalert("<%=errObject.get
return false
}
var strFileName = "OrderOverviewItem3.asp?Fr
On_LaunchHelpLocal(strFile
}
/*************************
Function to fire on click of Item Price Button
**************************
function On_ItemPrice()
{
if ( "<%=GetAccessPermission("I
{
IIIalert("<%=ErrObject.get
return false;
}
// Set the defaults value
var rowNode = null
var strItemCode = ""
var intRowsInMultiline = ""
var strItemCode = ""
var strItemType = ""
var blnAtleastOneRowIsChecked = false
var blnChemicalsChecked = false
// Filter selected items having non empty item desc and Item type as item
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprSEL != '1' or @sprITEMTYPE = '' or @sprITEMDESCRIPTION = ''";
var objPOMLDetails = divPurchaseOrder.getXMLStr
// If the ML object returns null then make the row as zero
if ( objPOMLDetails == null )
intRowsInMultiline = 0
else
{
var objMLRows = objPOMLDetails.selectNodes
intRowsInMultiline = objMLRows.length
}
// Loop through the ML and get check for the proper value before calling statistics
rowNode = objMLRows.nextNode;
while(rowNode != null)
{
strItemCode = rowNode.getAttribute("sprH
strItemType = rowNode.getAttribute("sprI
intRowCount = rowNode.getAttribute("ROWU
if(strItemType == "I")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = false
if (strItemCode == "")
{
IIIalert("<%=errObject.get
//The Item in line number % does not have a matching Item Code. Please enter a valid Item or choose from the Help available (91057)
return false;
}
else //Launch the statistics screen
{
var strFileName = "ITEMPRICE.ASP?SCREENLAUNC
On_LaunchHelpLocal(strFile
break;
}
}
else if (strItemType == "B")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = true
}
rowNode = objMLRows.nextNode;
}
/** Select Atleast One Row to launch Item Statistics **/
if (!blnAtleastOneRowIsChecke
{
alert("<%=errObject.getnth
return false
}
/** Chemicals cannot be used for launching Item Statistics Screen **/
if (blnChemicalsChecked)
{
alert("<%=errObject.getnth
return false
}
}
/*************************
Function to fire on click of Partner Defined Data Button
**************************
function On_PartnerDefinedData()
{
if ( "<%=GetAccessPermission("P
{
IIIalert("<%=ErrObject.get
return false;
}
// Set the defaults value
var rowNode = null
var strItemCode = ""
var intRowsInMultiline = ""
var strItemCode = ""
var strItemType = ""
var blnAtleastOneRowIsChecked = false
var blnChemicalsChecked = false
// Filter selected items having non empty item desc and Item type as item
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprSEL != '1' or @sprITEMTYPE = '' or @sprITEMDESCRIPTION = ''";
var objPOMLDetails = divPurchaseOrder.getXMLStr
// If the ML object returns null then make the row as zero
if ( objPOMLDetails == null )
intRowsInMultiline = 0
else
{
var objMLRows = objPOMLDetails.selectNodes
intRowsInMultiline = objMLRows.length
}
// Loop through the ML and get check for the proper value before calling statistics
rowNode = objMLRows.nextNode;
while(rowNode != null)
{
strItemCode = rowNode.getAttribute("sprH
strItemType = rowNode.getAttribute("sprI
intRowCount = rowNode.getAttribute("ROWU
if(strItemType == "I")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = false
if (strItemCode == "")
{
IIIalert("<%=errObject.get
//The Item in line number % does not have a matching Item Code. Please enter a valid Item or choose from the Help available (91057)
return false;
}
else //Launch the statistics screen
{
var strFileName = "PartnerDefinedData3.ASP?F
On_LaunchHelpLocal(strFile
break;
}
}
else if (strItemType == "B")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = true
}
rowNode = objMLRows.nextNode;
}
/** Select Atleast One Row to launch Item Statistics **/
if (!blnAtleastOneRowIsChecke
{
alert("<%=errObject.getnth
return false
}
/** Chemicals cannot be used for launching Item Statistics Screen **/
if (blnChemicalsChecked)
{
alert("<%=errObject.getnth
return false
}
}
/*************************
Function to fire on click of Transmission Log Button
**************************
function On_TransmissionLog()
{
intPOStatus = Trim(divPurchaseOrder.getC
if ( "<%=GetAccessPermission("T
{
IIIalert("<%=ErrObject.get
return false;
}
/** Validate if PO Status is empty **/
if (intPOStatus == "")
{
alert("<%=errObject.getnth
document.frmPurchaseOrder.
return false
}
/** PO Number should be entered in order to navigate to Transmission Log Screen **/
if (!On_ValidateMandatoryFiel
/** Validate that only for Automatic Transmitted PO's Transmission Log can be launched **/
if (intPOStatus != "4")
{
alert("<%=errObject.getnth
return false
}
var strPONumber = document.frmPurchaseOrder.
var strFileName = "TRANSMISSIONLOG3.ASP?FROM
On_LaunchHelpLocal(strFile
}
/*************************
Function to fire on click of Item Statistics Button
**************************
function On_ItemStatistics()
{
if ( "<%=GetAccessPermission("D
{
IIIalert("<%=ErrObject.get
return false;
}
// Set the defaults value
var rowNode = null
var strItemCode = ""
var intRowsInMultiline = ""
var strItemCode = ""
var strItemType = ""
var blnAtleastOneRowIsChecked = false
var blnChemicalsChecked = false
// Filter selected items having non empty item desc and Item type as item
divPurchaseOrder.filters = "";
divPurchaseOrder.filters = "@sprSEL != '1' or @sprITEMTYPE = '' or @sprITEMDESCRIPTION = ''";
var objPOMLDetails = divPurchaseOrder.getXMLStr
// If the ML object returns null then make the row as zero
if ( objPOMLDetails == null )
intRowsInMultiline = 0
else
{
var objMLRows = objPOMLDetails.selectNodes
intRowsInMultiline = objMLRows.length
}
// Loop through the ML and get check for the proper value before calling statistics
rowNode = objMLRows.nextNode;
while(rowNode != null)
{
strItemCode = rowNode.getAttribute("sprH
strItemType = rowNode.getAttribute("sprI
intRowCount = rowNode.getAttribute("ROWU
if(strItemType == "I")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = false
if (strItemCode == "")
{
IIIalert("<%=errObject.get
//The Item in line number % does not have a matching Item Code. Please enter a valid Item or choose from the Help available (91057)
return false;
}
else //Launch the statistics screen
{
var strFileName = "STATISTICS3.ASP?FromScree
On_LaunchHelpLocal(strFile
break;
}
}
else if (strItemType == "B")
{
blnAtleastOneRowIsChecked = true
blnChemicalsChecked = true
}
rowNode = objMLRows.nextNode;
}
/** Select Atleast One Row to launch Item Statistics **/
if (!blnAtleastOneRowIsChecke
{
alert("<%=errObject.getnth
return false
}
/** Chemicals cannot be used for launching Item Statistics Screen **/
if (blnChemicalsChecked)
{
alert("<%=errObject.getnth
return false
}
}
/*************************
Function to read the values from the Sales Order Screen
**************************
function On_FILLVALUESFROMCALLINGSC
{
var intRowCounter = 0
var intRowCtrInCurrentForm = 1
var nRecordCount = 0;
var strMode = "<%=Trim(ACTION)%>"
var objPOGrid = eval(divPurchaseOrder.getG
if(strFlag == 'ONLOAD')
{
// If the mode of action is fetch and the screen is called from some other screen, then fetch is called
if (strMode != "" && strFromScreen != "")
{
On_CallXMLHTTPAfterValidat
strFocusIsOn = "";
return false;
}
// If the mode of action is nothing and the screen is called from TRANSMISSIONLOG screen
if (strMode == "")
{
if (strFromScreen == "TRANSMISSIONLOG3")
{
/** Loop to get the Selected Records from the First Multiline of Transmission Log Screen **/
eval("window.parent.opener
eval("window.parent.opener
rstLocal = eval("window.parent.opener
// Calculate no. of rows and add rows if neccessary..
nRecordCount = rstLocal.length
objPOGrid.MaxRows = parseFloat(nRecordCount)>o
while (!rstLocal.EOF)
{
if (Trim(rstLocal("txtItemCod
{
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
intRowCtrInCurrentForm = parseFloat(intRowCtrInCurr
}
rstLocal.MoveNext()
}
/** Loop to get the Selected Records from the Second Multiline of Transmission Log Screen **/
eval("window.parent.opener
eval("window.parent.opener
rstLocal = eval("window.parent.opener
nRecordCount = 0
// Calculate no. of rows and add rows if neccessary..
nRecordCount = rstLocal.length
objPOGrid.MaxRows = parseFloat(nRecordCount)>o
while (!rstLocal.EOF)
{
if (Trim(rstLocal("txtItemCod
{
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
divPurchaseOrder.setCellVa
intRowCtrInCurrentForm = parseFloat(intRowCtrInCurr
}
rstLocal.MoveNext()
}
}
}
delete rstLocal
}
}
/*************************
Function to calculate the Bonus Quantity on Enter in Bonus Quantity Field
**************************
function On_CalculateBonusQuantity(
{
var strQuery = ""
var strFieldsList = ""
var strItemPharmaCode = ""
var intItemQuantity = 0
var nBonusColIndex = divPurchaseOrder.getColInd
strItemPharmaCode = divPurchaseOrder.getCellVa
intItemQuantity = divPurchaseOrder.getCellVa
divPurchaseOrder.setCellVa
strFieldsList = "sprBONUS,sprBONUS"
if (strItemPharmaCode == "" || intItemQuantity == "" || isNaN(intItemQuantity)) return false
strQuery += " SELECT TOP 1 CONVERT(INT, QtyDelivery_13) - CONVERT(INT, QtyInvoice_14) AS 'Bonus_Quantity', "
strQuery += " CONVERT(INT, QtyDelivery_13) - CONVERT(INT, QtyInvoice_14) AS 'Bonus_Quantity' "
strQuery += " FROM IIIGaldat_Pharmaceutical_W
strQuery += " WHERE Phar_04 = '" + strItemPharmaCode + "' AND CONVERT(INT, QtyInvoice_14) < " + intItemQuantity
strQuery += " GROUP BY Phar_04,QtyDelivery_13,Qty
strQuery += " ORDER BY CONVERT(INT, QtyInvoice_14) DESC, CONVERT(INT, QtyDelivery_13) - CONVERT(INT, QtyInvoice_14) DESC "
launchhelpEnter("HELPENTER
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
}
/** Variables and Operations if Transmission is to be done **/
var TransmissionStarted = false
var TransmissionSuccess = false
var TransmissionMsg = ""
var IDF = ""
var PhoneNumber = ""
//Added by Venki for replacing the Cookies to Session Start
//var ClientParams = "<%=Request.Cookies("Clien
var ClientParams = "<%=Session("ClientParams"
//Added by Venki for replacing the Cookies to Session End
var LangID = "<%=sLANGID%>"
var Item_ResponseCode = ""
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- start
var noOfLinestoLog = 0
var POLineItemstoLog = ""
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- End
/*************************
Function to create the V50 Transmission Input File
**************************
function CreateInputV50File()
{
/* var IDF = Trim(divPurchaseOrder.getC
var PhoneNumber = Trim(divPurchaseOrder.getC
var ClientParams = "<%=Session("ClientParams"
var LangID = "<%=sLANGID%>"
*/
IDF = Trim(divPurchaseOrder.getC
PhoneNumber = Trim(divPurchaseOrder.getC
ClientParams = "<%=Session("ClientParams"
LangID = "<%=sLANGID%>"
/** Transmission with Error Handling **/
try
{
fso = new ActiveXObject("Scripting.F
/** Delete the previous Transmission's Response file **/
var LocalFileName = "c:\\iii\\v50\\ANSWER.DAT"
if (fso.FileExists(LocalFileN
/** Preparing the Local File Path & Name based on the Customer IDF Code, Delete it if it already exists **/
LocalFileName = "c:\\iii\\v50\\" + IDF + ".v50"
if (fso.FileExists(LocalFileN
var its = fso.CreateTextFile(LocalFi
its.WriteLine('C;2;W2250;G
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- start
noOfLinestoLog = 0
POLineItemstoLog = ""
datestr = getCurrentDate()
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- End
divPurchaseOrder.filters = "";
var objPOMLDOM = divPurchaseOrder.getXMLStr
// Return if there is no rows..
if ( objPOMLDOM == null ) return false;
var rstPOMLDetails = objPOMLDOM.selectNodes("//
var nRowLength = rstPOMLDetails.length
var nNoOfLines = 0
for (var cntr = 1; cntr <= nRowLength; cntr ++)
{
var strITEMCODE = divPurchaseOrder.getCellVa
var nQUANTITY = divPurchaseOrder.getCellVa
var str = ""
if (strITEMCODE != "")
{
str += "1;"
str += makelength(strITEMCODE, 7)
str += ";"
str += makelength(nQUANTITY, 4)
str += ";00;" + datestr
its.WriteLine(str)
nNoOfLines++
}
POLineItemstoLog = POLineItemstoLog + "::" + str //Added by VenkiRSL - 06May2003 TRIAMUNIII1.0S_016597
}
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- start
noOfLinestoLog = nNoOfLines
if(nNoOfLines == 0)
{
alert("<%=errObject.getnth
its.Close()
return false
}
//Modified VenkiRSL for PO Problem - 06May2003 TRIAMUNIII1.0S_016597 -- End
NoofLinesforComparition = makelength(nNoOfLines.toSt
lastline = "E;00;" + NoofLinesforComparition
its.WriteLine(lastline)
its.Close()
}
catch(objException)
{
TransmissionMsg = "<%=errObject.getnthdescri
return false
}
return true
}
/*************************
Function to call PO Transmit on Load of PO Detail DIV
**************************
function On_LOADSUBMITFORTRANSMISSI
{
if (strACTION == "TRANSMITPURCHASEORDERFETC
{
// Step 1 : Create the Input file
if(CreateInputV50File())
{
// Step 2: Execute V50 EXE for Transmission
ExecuteV50Command(IDF, PhoneNumber, ClientParams, LangID)
// Step 3: Read the anwer file and store as ItemCode1~ResponseCode1~~I
Item_ResponseCode = ReadV50AnswerFile()
}
LogPODetailsInTextFile() //Added by VenkiRSL - 06May2003 TRIAMUNIII1.0S_016597
document.frmPurchaseOrder.
/** Transmission status is Failure **/
if (!TransmissionSuccess)
{
alert(TransmissionMsg)
document.frmPurchaseOrder.
document.frmPurchaseOrder.
document.frmPurchaseOrder.
//document.frmPurchaseOrde
}
/** Transmission status is Transmitted **/
else
{
document.frmPurchaseOrder.
document.frmPurchaseOrder.
document.frmPurchaseOrder.
//document.frmPurchaseOrde
}
document.frmPurchaseOrder.
On_CallXMLHTTPAfterValidat
return false;
}
}
//Function LogPODetailsInTextFile() added by VenkiRSL for TRIAMUNIII1.0S_016597 - 06May2003
/*************************
Logging the PO Transmission details into flat files before and after PO Transmission
**************************
function LogPODetailsInTextFile()
{
var IDFNo = Trim(divPurchaseOrder.getC
var PONumbertmp = document.frmPurchaseOrder.
var filesys, newfolder, sourceFile, destinationFile
filesys = new ActiveXObject("Scripting.F
if(!filesys.FolderExists("
return
if(!filesys.FolderExists("
return
var HistoryFolder = "c:\\III\\V50\\History"
if(!filesys.FolderExists(H
newfolder = filesys.CreateFolder(Histo
var Curdate = getCurrentDate()
var CurdateArry = Curdate.split(".")
var dt = new Date()
var hours = (dt.getHours().toString().
var minutes = (dt.getMinutes().toString(
var seconds = (dt.getSeconds().toString(
var dateTimetmp = CurdateArry[2]+CurdateArry
var DestinationFolder = HistoryFolder +"\\"+ dateTimetmp+"_"+PONumbertm
if(!filesys.FolderExists(D
newfolder = filesys.CreateFolder(Desti
sourceFile = "c:\\III\\V50\\"+IDFNo+".v
destinationFile = DestinationFolder+"\\"+IDF
if (filesys.FileExists(source
{
filesys.MoveFile(sourceFil
}
sourceFile = "c:\\III\\V50\\Answer.Dat"
destinationFile = DestinationFolder+"\\Answe
if (filesys.FileExists(source
{
filesys.MoveFile(sourceFil
}
if(filesys.FolderExists(De
{
var LogFileName = DestinationFolder+"\\Log.t
its = filesys.CreateTextFile(Log
its.WriteLine("Transmissio
its.WriteLine("Response text : " + Item_ResponseCode)
its.WriteLine("No of lines Read from ML : " + noOfLinestoLog)
its.WriteLine("PO Lines Read from ML : " + POLineItemstoLog)
its.Close()
}
}
/*************************
Event to set the Deilvery Time when defaulting the Time Rules
**************************
function On_ChangeDeliveryTime()
{
var DeliveryTimeTemp = document.frmPurchaseOrder.
if (DeliveryTimeTemp == '')
{
DeliveryTimeTemp = '23:59'
}
SetTimeValue(document.frmP
}
/*************************
Function to Print Delivery Slip when launched from SO
Changed by VenkiRSL:Reports : 20-Jan-2002
**************************
function On_DeliverySlip()
{
var PONumber = document.frmPurchaseOrder.
intPOStatus = Trim(divPurchaseOrder.getC
if(PONumber == "")
{
IIIalert("<%=errObject.get
document.frmPurchaseOrder.
return false
}
var strPrintFlag = Trim(document.frmPurchaseO
// Validate if PO Status is empty
if (intPOStatus == "")
{
alert("<%=errObject.getnth
return false
}
// Validate that only authorised purchase orders can be printed
if (intPOStatus != "3")
{
alert("<%=errObject.getnth
return false
}
var size = "directories=no,location=n
var ProcParams = '<%=Triamun_Session("nPart
winReport = window.open('../Reports/II
winReport.focus();
}
/*************************
Function to print Report on press of Print Button
**************************
function On_PrintReports()
{
var size = "directories=no,location=n
var PONO = Trim(document.frmPurchaseO
if(PONO == "")
{
IIIalert("<%=errObject.get
document.frmPurchaseOrder.
return false
}
else
{
retval = isvalidCharSet(document.fr
if (retval == false)
{
IIIalert("<%=ErrObject.get
document.frmPurchaseOrder.
return false;
}
}
ProcParams = '<%=Triamun_Session("nPart
winReport = window.open('../Reports/Re
winReport.focus();
}
/*************************
Function to fire on fetch of Item Details through Enter
**************************
function On_FetchItemDetails()
{
if (strItemHelpEnterRow == "") strItemHelpEnterRow = 0
var nItemDescColIndex = divPurchaseOrder.getColInd
//Adda new line if the help enter is callled from last row of the GRID..
if(objPURCHASEORDER.Maxrow
{
InsertSingleRow(objPURCHAS
}
/** Defaults the Previous Lines Quantity when scanning is done **/
if ( (parseFloat(strItemHelpEnt
{
var tmpOrderQty = divPurchaseOrder.getCellVa
divPurchaseOrder.setCellVa
}
/** Set Focus in Next Row when some Records have been returned **/
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
}
/*************************
Function for Showing Open Orders for the Item on click of Open Order Quantity
**************************
function On_OPENPOQUANTITY(nCol,nRo
{
var nOPENQUANTITY = strColValue
var strItemCode = divPurchaseOrder.getCellVa
var strItemDescription = divPurchaseOrder.getCellVa
if (nOPENQUANTITY != "" && nOPENQUANTITY > 0)
{
var strFILENAME = "HELP.ASP?HELP_ID=105&Star
launchhelp1(strFILENAME);
}
}
var colNo_sprHIDDENCUSTOMERREF
function getColReference()
{
colNo_sprHIDDENCUSTOMERREF
}
/*************************
Function to fire on Load of the form
**************************
function SetDefaults(strFlag)
{
objPURCHASEORDER = document.all("sprPurchaseO
On_LOADSUBMITFORTRANSMISSI
On_FILLVALUESFROMCALLINGSC
//On_LoadFUIFileOnBodyLoad
/** Freeze first Four Columns till Item Description Help **/
objPURCHASEORDER.ColsFroze
//OnLaunch fo the screen - Defaults value are set for the time ..
/*if (strACTION == "")
{
SetTimeValue(document.frmP
SetTimeValue(document.frmP
SetTimeValue(document.frmP
}*/
/*************************
Disable the Mode of Transmission Combo if the PO Status is not in one of the following Cases
1. Not Empty ( Screen Launch )
2. Not in Open Status
3. Not in Authorised Status with Mode of Transmission as Modem
4. Not in Failed Status with Mode of Transmission as Modem
**************************
var nPOSTATUS = Trim(divPurchaseOrder.getC
var strMODEOFTRANSMISSION = Trim(divPurchaseOrder.getC
if (nPOSTATUS == "" || nPOSTATUS == "2" || (nPOSTATUS == "3" && strMODEOFTRANSMISSION == "A") ||
(nPOSTATUS == "6" && strMODEOFTRANSMISSION == "A"))
{
document.frmPurchaseOrder.
}
else
{
document.frmPurchaseOrder.
Allowupdate = false;
}
/*** set focus on launch on the first field ***/
//document.frmPurchaseOrde
/** Set the Focus to the Print Window if the Print Flag Update is a success **/
if(Trim(divPurchaseOrder.g
{
//set the button text to Reprint..
document.frmPurchaseOrder.
if(strACTION == 'PRINTPURCHASEORDER')
{
On_PrintReports()
if (typeof(eval(winReport)) != "undefined")
winReport.focus();
}
}
else
{
document.frmPurchaseOrder.
}
}
</SCRIPT>
<!------------------------
<!------------------------
<SCRIPT LANGUAGE="JavaScript" FOR="sprPurchaseOrder" EVENT="ScriptKeyDown(KeyCo
if (KeyCode == 40)
{
if(objPURCHASEORDER.Active
{
var nItemDescColIndex = divPurchaseOrder.getColInd
var nQtyColIndex = divPurchaseOrder.getColInd
var nBonusColIndex = divPurchaseOrder.getColInd
var nPriceColIndex = divPurchaseOrder.getColInd
var nSelColIndex = divPurchaseOrder.getColInd
var nControlledColIndex = divPurchaseOrder.getColInd
var nDeleteColIndex = divPurchaseOrder.getColInd
if( (objPURCHASEORDER.ActiveCo
{
//Insert a new Row
InsertSingleRow(objPURCHAS
}
}
}
else if (KeyCode == 37 || KeyCode == 39)
{
SetFocusOnNextOrPreviousCo
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" FOR="sprPurchaseOrder" EVENT="ScriptKeyPress(nKey
if (nKeyAscii == 13)
{
var nItemTypeColIndex = divPurchaseOrder.getColInd
var nItemDescColIndex = divPurchaseOrder.getColInd
var nRowNumber = objPURCHASEORDER.ActiveRow
if(objPURCHASEORDER.Active
{
var strItemType = divPurchaseOrder.getCellVa
var strItemEANCode = Trim(divPurchaseOrder.getC
if(strItemType != "" && strItemEANCode != "")
On_HelpOnEnterForItems(nRo
}
else if(objPURCHASEORDER.Active
{
InsertSingleRow(objPURCHAS
}
else if(objPURCHASEORDER.Active
{
var strItemType = divPurchaseOrder.getCellVa
if (strItemType == "I")
{
On_CalculateBonusQuantity(
return false
}
}
}
</SCRIPT>
<!------------------------
<!------------------------
<SCRIPT>
/* Function Calls Help for Item and basler Taxe, if the ... button is clicked */
function On_GridButtonClick()
{
var nCol = event.nCol;
var nRow = event.nRow;
var strFieldName = event.FieldName;
//----------- Help for Item and Basler Taxe ---------------------//
if (strFieldName == "sprHELPFORITEM")
{
HelpForItemOrChemical(nRow
return false;
}
else if(strFieldName == "sprREFERENCE")
{
/*************************
To Launch the Customer Reference Sub Screen as a Modal Window when the Go Button is clicked
**************************
var arrVALUES = new Array();
// Setting the Values to be passed to the SUB SCREEN
arrVALUES[0] = nRow
arrVALUES[1] = divPurchaseOrder.getCellVa
arrVALUES[2] = divPurchaseOrder.getCellVa
arrVALUES[3] = eval("divPurchaseOrder");
arrVALUES[4] = "PURCHASEORDER";
/** Validate that Item Description should be entered before launching the Customer Details sub screen **/
if (arrVALUES[1] == "")
{
alert("<%=errObject.getnth
return false
}
var arrRETURNVALUE = showModalDialog("POCUSTOME
if (arrRETURNVALUE[0] == "OK")
{
arrRETURNVALUE[1] = escape(arrRETURNVALUE[1]);
divPurchaseOrder.setCellVa
// Button color is changed after setting values..
var objPOGrid = eval(divPurchaseOrder.getG
var nColIndex = divPurchaseOrder.getColInd
if(arrRETURNVALUE[1] != "")
Set_Button_Color(objPOGrid
else
Set_Button_Color(objPOGrid
}
return false;
}
}
/* Function to calculate Total on change of Qty and Total */
function On_CellChange()
{
var nCol = event.nCol;
var nRow = event.nRow;
var strFieldName = event.FieldName;
if ( (strFieldName == "sprORDERQUANTITY") || (strFieldName == "sprBONUS") || (strFieldName == "sprRATEINCHF") )
{
On_BlurCalculateTotals(nRo
}
else if(strFieldName == "sprITEMDESCRIPTION")
{
On_ChangeItemDescription(n
}
}
var Allowupdate = true;
function validateTransmissionMode(o
{
//if ( objTxCboMode.value == "A" ) objTxCboMode.value = "M"
var nPOSTATUS = Trim(divPurchaseOrder.getC
var strMODEOFTRANSMISSION = Trim(divPurchaseOrder.getC
if (( nPOSTATUS == "3" ) || ( nPOSTATUS == "6" ))
{
if (strMODEOFTRANSMISSION == "M")
{
objTxCboMode.value = "M"
objTxCboMode.disabled = true;
Allowupdate = false;
}
else
{
if ( objTxCboMode.value = "M" ) Allowupdate = true;
}
}
return false;
}
function cmdItemAvailability_onClic
{
/** To check that atleast one row exists in Multiline **/
var nOrderQuantity = "";
var nSelectColIndex = divPurchaseOrder.getColInd
var nHidItemTypeColIndex = divPurchaseOrder.getColInd
var nItemTypeColIndex = divPurchaseOrder.getColInd
var nItemDescColIndex = divPurchaseOrder.getColInd
var nItemCodeColIndex = divPurchaseOrder.getColInd
var nQuantityColIndex = divPurchaseOrder.getColInd
var nItemTypeColIndex = nHidItemTypeColIndex + "~" + nItemTypeColIndex
var strError = CallProductAvailability("f
if (strError != true)
{
var strErrorArry = strError.split("~")
var intErrorNum = parseInt(strErrorArry[0])
if (strErrorArry.length == 3)
{
var intCol = parseInt(strErrorArry[1])
var intRow = parseInt(strErrorArry[2])
}
if (intErrorNum == "770")
{
alert("<%=errObject.getnth
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
return false;
}
if (intErrorNum == "1548")
{
alert("<%=errObject.getnth
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
return false;
}
if (intErrorNum == "1549")
{
alert("<%=errObject.getnth
objPURCHASEORDER.focus();
objPURCHASEORDER.SetActive
return false;
}
if (intErrorNum == "436")
{
alert("<%=errObject.getnth
return false;
}
}
var winHelp, strWindowName, strFileName;
strWindowName = "ProductAvailability";
strFileName = "ProductAvailability.asp?F
winHelp = window.open(strFileName, strWindowName, 'menubar=no,location=no,to
winHelp.focus();
}
</SCRIPT>
</HEAD>
<!-- Drawing Screen -->
<BODY ID="PURCHASEORDER3" CLASS="pgbody" ONCLICK="bodyHideAll()" ONLOAD="SetDefaults('ONLOA
<%If varFromScreen = "" Then%>
<!--#include file="../include/galmenu.a
<%End If%>
<FORM METHOD="POST" NAME="frmPurchaseOrder" ONSUBMIT="return On_Create()">
<%If varFromScreen <> "" Then%>
<TABLE STYLE="width:954px">
<TR ALIGN="right">
<TD CLASS="tdScreenTitle" NOWRAP><%=lblScreenTitle%>
</TR>
</TABLE>
<HR>
<%End If%>
<TABLE NAME="POHEADER" ID="POHEADER"> <!-- Table for PO Header and ML -->
<TR>
<TD ALIGN="left" COLSPAN="9">
<!-- Hidden Header Controls Starts -->
<INPUT TYPE="hidden" NAME="mTimeStamp" VALUE="">
<INPUT TYPE="hidden" NAME="mPOType" VALUE="">
<INPUT TYPE="hidden" NAME="mNoOfLinesAutomatic"
<INPUT TYPE="hidden" NAME="mNoOfLinesManual" VALUE="">
<INPUT TYPE="hidden" NAME="mNoOfLinesCustomer" VALUE="">
<INPUT TYPE="hidden" NAME="mSalesOrderNo" VALUE="">
<INPUT TYPE="hidden" NAME="mFromScreen" VALUE="">
<INPUT TYPE="hidden" NAME="hidPrintFlag" VALUE="">
<INPUT TYPE="hidden" NAME="hidStatusOfPOBeforeU
<INPUT TYPE="hidden" NAME="hidOnFetchItemDetail
<INPUT TYPE="hidden" NAME="hidDeliveryTime" ONCHANGE="On_ChangeDeliver
<INPUT TYPE="hidden" NAME="hidPODETAILDATA">
<INPUT TYPE="hidden" NAME="hdnPDIExists" VALUE="">
<!-- Hidden Header Controls Ends -->
<!--Begin :Interface 002:PO Transmission - Venki-->
<INPUT TYPE="hidden" NAME="TransResponse">
<INPUT TYPE="hidden" NAME="hidCustomerIDFCode" VALUE="">
<INPUT TYPE="hidden" NAME="hidPhoneNumber" VALUE="">
<!--End :Interface 002:PO Transmission - Venki-->
<!-- Hidden Control For Item availability Starts -->
<INPUT TYPE="hidden" NAME="hidItemAvailability"
<!-- Hidden Control For Item availability Ends -->
<!-- License File for Time Picker & Grid Download Starts -->
<OBJECT CLASSID="<%=lbltriamunlpk%
<PARAM NAME="LPKPath" VALUE="../Download/Triamun
</OBJECT>
</TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblPurch
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtPONumber" MAXLENGTH="15" CLASs="tdEdit" SIZE="17" ONFOCUS="On_SetFocusValue(
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdCCHForPONO" VALUE="..." ONCLICK="HelpForPONumber()
<TD ALIGN="left" CLASS="tdText"><INPUT TYPE="button" NAME="cmdFetch" CLASS="stdButton" VALUE="<%=lblFetch%>" ONCLICK="On_Fetch()" <%=GetAccessPermission("PU
<TD ALIGN="left" CLASS="tdtext"></TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblStatu
<TD ALIGN="left" CLASS="tdtext">
<!-- <INPUT TYPE="hidden" NAME="hidPOStatus" VALUE=""> -->
<!-- <INPUT TYPE="text" NAME="txtPOStatus" CLASS="ctrlHdrReadOnly" READONLY TABINDEX="-1" VALUE="<%=GetQCDDESCRIPTIO
<SELECT NAME="txtPOStatus" CLASS="ctrlHdrReadOnly" DISABLED>
<OPTION VALUE="" SELECTED></OPTION>
<% For varCtr = 0 To UBound(POStatusQCD) 'PO Status retrieved from QCD %>
<OPTION VALUE="<%=POStatusQCD(varC
<% Next %>
</SELECT>
</TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
<TR><TD ALIGN="left" COLSPAN="9"><HR></TD></TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblSuppl
<TD CLASS="tdtext"><INPUT TYPE="text" NAME="txtSupplierDescripti
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdCCHForSupplier" VALUE="..." ONCLICK="HelpForSupplier()
<TD ALIGN="left" CLASS="tdtext"><%=lblOrder
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" ID="txtOrderDate" NAME="txtOrderDate" MAXLENGTH="10" CLASS="tdEdit" ID="<%=lblOrderDate%>" ONFOCUS="On_SetFocusValue(
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdDatePickForOrderD
<TD ALIGN="left" CLASS="tdtext"><%=lblOrder
<TD ALIGN="left" CLASS="tdtext"><OBJECT NAME="txtOrderTime" ID="txtOrderTime" CLASS="tdEdit" STYLE="left:0px;top:0px;he
<PARAM NAME="_ExtentX" VALUE="1826">
<PARAM NAME="_ExtentY" VALUE="900">
<PARAM NAME="_Version" VALUE="393216">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Enabled" VALUE="1">
<PARAM NAME="OLEDropMode" VALUE="0">
<PARAM NAME="CalendarBackColor" VALUE="-2147483643">
<PARAM NAME="CalendarForeColor" VALUE="-2147483630">
<PARAM NAME="CalendarTitleBackCol
<PARAM NAME="CalendarTitleForeCol
<PARAM NAME="CalendarTrailingFore
<PARAM NAME="CheckBox" VALUE="0">
<PARAM NAME="CustomFormat" VALUE="HH:mm">
<PARAM NAME="DateIsNull" VALUE="0">
<PARAM NAME="Format" VALUE="662831107">
<PARAM NAME="UpDown" VALUE="1">
<PARAM NAME="CurrentDate" VALUE="0.833333333333333">
<PARAM NAME="MaxDate" VALUE="2958465">
<PARAM NAME="MinDate" VALUE="-109205">
</OBJECT></TD>
<TD ALIGN="left" CLASS="tdHelp"><LABEL ID="lblMandatoryRed">*</LA
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblModeO
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtModeOfPO" READONLY TABINDEX="-1" CLASS="ctrlhdrreadonly" VALUE=""></TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTrans
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" ID="<%=lblTransmissionDate
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdDatePickForTransm
<TD ALIGN="left" CLASS="tdtext"><%=lblTrans
<TD ALIGN="left" CLASS="tdtext"><OBJECT NAME="txtTransmissionTime"
<PARAM NAME="_ExtentX" VALUE="1826">
<PARAM NAME="_ExtentY" VALUE="900">
<PARAM NAME="_Version" VALUE="393216">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Enabled" VALUE="1">
<PARAM NAME="OLEDropMode" VALUE="0">
<PARAM NAME="CalendarBackColor" VALUE="-2147483643">
<PARAM NAME="CalendarForeColor" VALUE="-2147483630">
<PARAM NAME="CalendarTitleBackCol
<PARAM NAME="CalendarTitleForeCol
<PARAM NAME="CalendarTrailingFore
<PARAM NAME="CheckBox" VALUE="0">
<PARAM NAME="CustomFormat" VALUE="HH:mm">
<PARAM NAME="DateIsNull" VALUE="0">
<PARAM NAME="Format" VALUE="662831107">
<PARAM NAME="UpDown" VALUE="1">
<PARAM NAME="CurrentDate" VALUE="0.833333333333333">
<PARAM NAME="MaxDate" VALUE="2958465">
<PARAM NAME="MinDate" VALUE="-109205">
</OBJECT></TD>
<TD ALIGN="left" CLASS="tdHelp"><LABEL ID="lblMandatoryBlue">*</L
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblModeO
<TD ALIGN="left" CLASS="tdtext">
<SELECT NAME="cboModeOfTransmissio
<OPTION VALUE=""></OPTION>
<%For cntr = 0 To UBound(POTransmissionMode,
if POTransmissionMode(cntr,0)
<OPTION VALUE="<%=POTransmissionMo
<%Else%>
<OPTION VALUE="<%=POTransmissionMo
<%End If
Next%>
</SELECT><LABEL ID="lblMandatoryRed">*</LA
</TD>
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblDeliv
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" ID="<%=lblDeliveryDate%>" NAME="txtDeliveryDate" CLASS="tdEdit" MAXLENGTH="10" ID="<%=lblDeliveryDate%>" ONBLUR="validateDate(this,
<TD ALIGN="left" CLASS="tdHelp"><INPUT TYPE="button" NAME="cmdDatePickForDelive
<TD ALIGN="left" CLASS="tdtext"><%=lblDeliv
<TD ALIGN="left" CLASS="tdtext"><OBJECT NAME="txtDeliveryTime" ID="txtDeliveryTime" CLASS="tdEdit" STYLE="left:0px;top:0px;he
<PARAM NAME="_ExtentX" VALUE="1826">
<PARAM NAME="_ExtentY" VALUE="900">
<PARAM NAME="_Version" VALUE="393216">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Enabled" VALUE="1">
<PARAM NAME="OLEDropMode" VALUE="0">
<PARAM NAME="CalendarBackColor" VALUE="-2147483643">
<PARAM NAME="CalendarForeColor" VALUE="-2147483630">
<PARAM NAME="CalendarTitleBackCol
<PARAM NAME="CalendarTitleForeCol
<PARAM NAME="CalendarTrailingFore
<PARAM NAME="CheckBox" VALUE="0">
<PARAM NAME="CustomFormat" VALUE="HH:mm">
<PARAM NAME="DateIsNull" VALUE="0">
<PARAM NAME="Format" VALUE="662831107">
<PARAM NAME="UpDown" VALUE="1">
<PARAM NAME="CurrentDate" VALUE="0.833333333333333">
<PARAM NAME="MaxDate" VALUE="2958465">
<PARAM NAME="MinDate" VALUE="-109205">
</OBJECT></TD>
<TD ALIGN="left" CLASS="tdHelp"><LABEL ID="lblMandatoryRed">*</LA
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblSales
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtSalesRep" VALUE="" ID="<%=lblSalesRep%>" MAXLENGTH="40" CLASS="tdEdit" ONBLUR="On_ValidateCharSet
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTotal
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtTotalValue" READONLY TABINDEX="-1" CLASS="ctrlhdrreadonly" STYLE="text-align:right"><
<TD ALIGN="left" CLASS="tdHelp"></TD>
<TD ALIGN="left" CLASS="tdtext"><%=lblTotal
<TD ALIGN="left" CLASS="tdtext"><INPUT TYPE="text" NAME="txtTotalNoOfLineItem
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
<TR>
<TD ALIGN="left" CLASS="tdtext"><%=lblRemar
<TD ALIGN="left" CLASS="tdtext" COLSPAN="7"><TEXTAREA NAME="txtRemarks" ROWS="2" CLASS="tdEditSpan7" ONKEYPRESS="return LimitTextArea(this, 500)"><%=varRemarks%></TEX
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
</TABLE>
<!-- PO Detail Table -->
<TABLE>
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<!-- #include file="DATAMAPPING_PURCHASE
</TD>
</TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<TABLE>
<TR ALIGN="left">
<TD ALIGN="left" STYLE="width:300px" CLASS="hdrText">
<INPUT TYPE="checkbox" NAME="chkSelectAllForContr
<LABEL ID="lblCheckUncheckControl
</TD>
<TD ALIGN="right" STYLE="width:650px" CLASS="hdrText">
<DIV ID="IDCreatedOn"><%=varRec
</TD>
</TR>
</TABLE>
</TD>
</TR>
<!--
<TR>
<TD ALIGN="left" CLASS="tdText"></TD>
<TD ALIGN="right" CLASS="tdEditSpan7"><DIV ID="IDCreatedOn" ><%=varRecordCreationLabel
<TD ALIGN="left" CLASS="tdHelp"></TD>
</TR>
-->
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR><TD ALIGN="left" COLSPAN="9"></TD></TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<INPUT TYPE="submit" CLASS="stdButton" NAME="cmdCreate" ID="functionKeyCreate" VALUE="<%=lblCreate%>" <%=GetAccessPermission("PU
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdModify" ID="functionKeyModify" VALUE="<%=lblModify%>" ONCLICK="return On_Modify()" <%=GetAccessPermission("PU
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdDelete" ID="functionKeyDelete" VALUE="<%=lblDeleteTitle%>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdAuthorise" ID="functionKeyAuthorize" VALUE="<%=lblAuthorise%>" ONCLICK="return On_Authorise()" <%=GetAccessPermission("PU
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdPrint" ID="functionKeyPrint" <%If Trim(varPrintFlag) = "Y" Then%>VALUE="<%=lblRePrint
<!-- <INPUT TYPE="reset" CLASS="stdButton" NAME="cmdReset" VALUE="<%=lblReset%>"> -->
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdClear" ID="functionKeyClear" VALUE="<%=lblClear%>" ONCLICK="On_Clear()">
<%If varFromScreen <> "" Then%>
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdCancel" ID="functionKeyClose" VALUE="<%=lblClose%>" ONCLICK="window.close()">
<%end if%>
&n
<INPUT TYPE="button" CLASS="stdButton" NAME="cmdTransmit" ID="functionKeyTransmit" VALUE="<%=lblTransmit%>" ONCLICK="return On_Transmit()" <%=GetAccessPermission("PU
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdShortClose" VALUE="<%=lblShortClose%>"
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdItemPrice" VALUE="<%=lblItemPrice%>" ONCLICK="On_ItemPrice()">
</TD>
</TR>
<TR>
<TD ALIGN="left" COLSPAN="9">
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdChangeSupplier" VALUE="<%=lblChangeSupplie
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdTransmissionLog" VALUE="<%=lblTransmissionL
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdPartnerDefinedDat
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdItemStatistics" VALUE="<%=lblStatistics%>"
<%'If varFromScreen = "SO" Or Trim(varSalesOrderNo) <> "" Then%>
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdDeliverySlip" VALUE="<%=lblDeliverySlip%
<%'End If%>
<INPUT TYPE="button" CLASS="scrButton" NAME="cmdItemAvailability"
</TD>
</TR>
</TABLE>
</FORM>
<SCRIPT LANGUAGE="VbScript">
' Tool Tip for ML Columns
Sub sprPURCHASEORDER_ScriptTex
' If the column is zero
If Col = 0 Then Exit Sub
' Get the Col Name for the given col index..
If CStr(Col) <> "" Then
strColName = divPurchaseOrder.getColNam
Else
strColName = ""
End If
If (strColName = "sprSEL" AND Row = 0) Then
TipText = "<%=lblSelectTitle%>"
ShowTip = True
End If
If (strColName = "sprITEMTYPE" AND Row = 0) Then
TipText = "<%=lblItemTypeTT%>"
ShowTip = True
End If
If (strColName = "sprSTOCKQUANTITY" AND Row = 0) Then
TipText = "<%=lblStockQuantityTT%>"
ShowTip = True
End If
If (strColName = "sprMINSTOCKQUANTITY" AND Row = 0) Then
TipText = "<%=lblMinStockQuantityTT%
ShowTip = True
End If
If (strColName = "sprMAXSTOCKQUANTITY" AND Row = 0) Then
TipText = "<%=lblMaxStockQuantityTT%
ShowTip = True
End If
If (strColName = "sprOPENORDERQUANTITY" AND Row = 0) Then
TipText = "<%=lblOpenOrderQuantityTT
ShowTip = True
End If
If (strColName = "sprORDERQUANTITY" AND Row = 0) Then
TipText = "<%=lblOrderQuantityTT%>"
ShowTip = True
End If
If (strColName = "sprBONUS" AND Row = 0) Then
TipText = "<%=lblBonusTT%>"
ShowTip = True
End If
If (strColName = "sprTOTALQTY" AND Row = 0) Then
TipText = "<%=lblTotalTT%>"
ShowTip = True
End If
If (strColName = "sprRATEINCHF" AND Row = 0) Then
TipText = "<%=lblRateInCHFTT%>"
ShowTip = True
End If
If (strColName = "sprTOTALAMOUNT" AND Row = 0) Then
TipText = "<%=lblValueOfLineTT%>"
ShowTip = True
End If
If (strColName = "sprREFERENCE" AND Row = 0) Then
TipText = "<%=lblRefTT%>"
ShowTip = True
End If
If (strColName = "sprCONTROLLED" AND Row = 0) Then
TipText = "<%=lblControlledTitle%>"
ShowTip = True
End If
If (strColName = "sprNONMOVINGITEM" AND Row = 0) Then
TipText = "<%=lblNonMovingItemTitle%
ShowTip = True
End If
If (strColName = "sprDELETE" AND Row = 0) Then
TipText = "<%=lblDeleteTitle%>"
ShowTip = True
End If
If (strColName = "sprSOURCE" AND Row = 0) Then
TipText = "<%=lblSourceTT%>"
ShowTip = True
End If
If (strColName = "sprDELQTY" AND Row = 0) Then
TipText = "<%=lblDelQtyTT%>"
ShowTip = True
End If
If (strColName = "sprPENDQTY" AND Row = 0) Then
TipText = "<%=lblPendQtyTT%>"
ShowTip = True
End If
End Sub
</SCRIPT>
</BODY>
</HTML>
===server_purchaseorder3.a
<!-- #include FILE="../include/validateF
<!--#include file="../sessionmanager.in
<% If UCase(Triamun_Session("Lan
<!-- #include file="../include/english/Q
<% ElseIf UCase(Triamun_Session("Lan
<!-- #include file="../include/german/Qc
<% ElseIf UCase(Triamun_Session("Lan
<!-- #include file="../include/french/Qc
<% End If
''''''''''''''''''''''''''
' --------------------------
''''''''''''''''''''''''''
Dim objDOMSERVERSIDE, objPURCHASEORDER, objPODetails, rstPURCHASEORDERHEADER, rstPODISCOUNTMESSAGE
Dim ACTION, varPOStatus, varPONumber, varPODETAIL, nROWCOUNTER, lblNonMovingItem, strRETURNVALUE
Dim errFileName, sPARTNERID, varPartnerName, varUserName, sCON, sLANGID
Dim nERRORNO, strERRORMESSAGE, varDISCOUNTMESSAGE, strERRORMESSAGETEMP, objRETURNVALUE
Dim varStatusOfPOBeforeUpdate,
Dim varSupplierCode, varSupplierDescription, varPOTransmissionMode, varPODeliveryDate, varPODeliveryTime
Dim varPODate, varPOTime, varPOTransmissionTime, varFlagForPrinting, arrParamList
''''''''''''''''''''''''''
' --------------------------
''''''''''''''''''''''''''
SET errObject = Application("ErrObject")
errFileName = Session("FEErrMsgFile")
sPARTNERID = Triamun_Session("nPartnerI
varPartnerName = Triamun_Session("strPartne
varUserName = Triamun_Session("strUserNa
sCON = Application("strODBC")
sLANGID = Triamun_Session("Language"
varDaysForNonMovingItem = Session("PRT010") ' No of Days for an Item to become Non-Moving
If varDaysForNonMovingItem = "" Then varDaysForNonMovingItem = 0
''''''''''''''''''''''''''
' --------------------------
' Query String Variable Name Value Description
' --------------------------
' ACTION FETCH Fetches a purchase order
' INSERTPURCHASEORDER Inserts a New Purchase Order
' MODIFYPURCHASEORDER Modifies an existing Purchase Order
' AUTHORISEPURCHASEORDER Authorises an existing Purchase Order
' TRANSMITPURCHASEORDERFETCH
' TRANSMITPURCHASEORDERUPDAT
' PRINTPURCHASEORDER Prints an Existing Purchase Order
' DELETEPURCHASEORDER Deletes an existing Purchase Order
' SHORTCLOSEPO Short Closes an existing Purchase Order
' FETCHDEFAULTVALUES Fetches deafulte values like supplier, on click of clear button
''''''''''''''''''''''''''
' --------------------------
''''''''''''''''''''''''''
SET objDOMSERVERSIDE = Server.CreateObject("Micro
objDOMSERVERSIDE.load(Requ
''''''''''''''''''''''''''
'-------------------------
''''''''''''''''''''''''''
'Geting Header values from XML object passed from the browser..
ACTION = UCase(objDOMSERVERSIDE.sel
lblNonMovingItem = UCase(objDOMSERVERSIDE.sel
''''''''''''''''''''''''''
'-------------------------
''''''''''''''''''''''''''
If ACTION = "INSERTPURCHASEORDER" Or ACTION = "MODIFYPURCHASEORDER" Or ACTION = "AUTHORISEPURCHASEORDER" Then
Set objPURCHASEORDER = Server.CreateObject("IIIPu
strRETURNVALUE = objPURCHASEORDER.UpdatePur
Set objPURCHASEORDER = NOTHING
If nERRORNO > 0 Then
strERRORMESSAGETEMP = strERRORMESSAGE
ACTION = "FETCH"
End If
ElseIf ACTION = "DELETEPURCHASEORDER" Or ACTION = "PRINTPURCHASEORDER" Or ACTION = "SHORTCLOSEPO" _
Or ACTION = "MODIFYTRANSMISSIONMODE" Then
Set objPURCHASEORDER = Server.CreateObject("IIIPu
strRETURNVALUE = objPURCHASEORDER.UpdatePur
Set objPURCHASEORDER = NOTHING
If nERRORNO > 0 Then
strERRORMESSAGETEMP = strERRORMESSAGE
If ACTION = "PRINTPURCHASEORDER" Then varFlagForPrinting = "Y"
If ACTION = "DELETEPURCHASEORDER" Then
'Clear all header and Detail fields execept and fetch the default values
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
' Fetch default values ..
Call FetchPreferredWholesalerAn
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
Else
ACTION = "FETCH"
End If
End If
ElseIf ACTION = "TRANSMITPURCHASEORDERUPDA
Set objPURCHASEORDER = Server.CreateObject("IIIPu
strRETURNVALUE = objPURCHASEORDER.TransmitP
Set objPURCHASEORDER = NOTHING
If nERRORNO > 0 Then
strERRORMESSAGETEMP = strERRORMESSAGE
ACTION = "FETCH"
End If
End If
'-------------------------
If ACTION = "FETCH" Then
' Clear the ML details before PO fetch, to avoid ML data passed to proc when 100 rows of update is called
objDOMSERVERSIDE.selectSin
' Creating instance of PO Fetch Component
SET objPURCHASEORDER = Server.CreateObject("IIIPu
strRETURNVALUE = objPURCHASEORDER.FetchPurc
SET objPURCHASEORDER = NOTHING
If nERRORNO >= 0 Then
strERRORMESSAGE = strERRORMESSAGETEMP
' If there is discount for some items and the Po status is Open then display the discount message ..
If Trim(varDISCOUNTMESSAGE) <> "" And CStr(varPOStatus) = "2" Then
strERRORMESSAGE = strERRORMESSAGE & "\n" & errObject.GetNthDescriptio
strERRORMESSAGE = Replace(strERRORMESSAGE, "%", "\n" & varDISCOUNTMESSAGE)
End If
Set objPODetails = Server.CreateObject("Micro
objPODetails.loadXML(strRE
Set objDOMSERVERSIDE = objPODetails
End If
SET objPODetails = NOTHING
End If
'-------------------------
'Begin :Interface 002:PO Transmission - Venki
If ACTION = "TRANSMITPURCHASEORDERFETC
' Creating instance of PO Fetch Component
SET objPURCHASEORDER = Server.CreateObject("IIIPu
strRETURNVALUE = objPURCHASEORDER.FetchPurc
SET objPURCHASEORDER = NOTHING
' If Fetch from Header was a Success do Detail Fetch
If nERRORNO >= 0 Then
Set objPODetails = Server.CreateObject("Micro
objPODetails.loadXML(strRE
Set objDOMSERVERSIDE = objPODetails
End If
SET objPODetails = NOTHING
End If
'End :Interface 002:PO Transmission - Venki
'-------------------------
If ACTION = "FETCHDEFAULTVALUES" Then
'Clear all header and Detail fields execept and fetch the default values
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
' Fetch default values ..
Call FetchPreferredWholesalerAn
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
End If
' --------------------------
If Trim(strERRORMESSAGE) = "" Then
strERRORMESSAGE = strERRORMESSAGETEMP
End If
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.selectSin
objDOMSERVERSIDE.save(Resp
Response.End
''''''''''''''''''''''''''
' FUNCTION TO GET STATUS TO BE UPDATED OR TO SET BACK THE PREVIOUS STATUS AFTER AN INSERT/UPDATE FAILS STARTS
''''''''''''''''''''''''''
Function GetOrSetStatusBasedOnMode(
Dim strRETURNVALUE
strRETURNVALUE = ""
If strTYPE = "GETPREVIOUSSTATUS" Then
SELECT CASE strACTION
CASE "INSERTPURCHASEORDER" : strRETURNVALUE = ""
CASE "MODIFYPURCHASEORDER" : strRETURNVALUE = "2"
CASE "DELETEPURCHASEORDER" : strRETURNVALUE = "2"
CASE "AUTHORISEPURCHASEORDER" : strRETURNVALUE = "2"
CASE "PRINTPURCHASEORDER" : strRETURNVALUE = "3"
CASE "SHORTCLOSEPO" : strRETURNVALUE = varStatusOfPOBeforeUpdate
CASE "TRANSMITPURCHASEORDERUPDA
CASE "MODIFYTRANSMISSIONMODE" : strRETURNVALUE = "3"
END SELECT
ElseIf strTYPE = "GETSTATUSFORUPDATE" Then
SELECT CASE strACTION
CASE "INSERTPURCHASEORDER" : strRETURNVALUE = "2"
CASE "MODIFYPURCHASEORDER" : strRETURNVALUE = "2"
CASE "DELETEPURCHASEORDER" : strRETURNVALUE = ""
CASE "AUTHORISEPURCHASEORDER" : strRETURNVALUE = "3"
CASE "PRINTPURCHASEORDER" : strRETURNVALUE = "3"
CASE "SHORTCLOSEPO" : strRETURNVALUE = 10
CASE "TRANSMITPURCHASEORDERUPDA
CASE "MODIFYTRANSMISSIONMODE" : strRETURNVALUE = "3"
END SELECT
End If
GetOrSetStatusBasedOnMode = strRETURNVALUE
End Function
''''''''''''''''''''''''''
' FUNCTION TO GET STATUS TO BE UPDATED OR TO SET BACK THE PREVIOUS STATUS AFTER AN INSERT/UPDATE FAILS ENDS
''''''''''''''''''''''''''
''''''''''''''''''''''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME STARTS
''''''''''''''''''''''''''
Function FetchPreferredWholesalerAn
varSupplierCode = Trim(Session("PRT016"))
If varSupplierCode <> "" Then
Dim arrParamList
Redim arrParamList(3,3)
' Input Parameter Partner_Id
arrParamList(0,0) = "@Partner_Id"
arrParamList(0,1) = "ANY_COUNT"
arrParamList(0,2) = "adParamInput"
arrParamList(0,3) = sPARTNERID
' Input Parameter Customer Vendor Code
arrParamList(1,0) = "@Customer_Vendor_Code"
arrParamList(1,1) = "ANY_NAME"
arrParamList(1,2) = "adParamInput"
arrParamList(1,3) = varSupplierCode
' Input Parameter Language
arrParamList(2,0) = "Lang"
arrParamList(2,1) = "ANY_FLAG"
arrParamList(2,2) = "adParamInput"
arrParamList(2,3) = sLANGID
Set objPURCHASEORDER = Server.CreateObject("IIIGe
Set rstPURCHASEORDERHEADER = Server.CreateObject("ADODB
Set rstPURCHASEORDERHEADER = objPURCHASEORDER.FetchGene
"IIIFetch_Wholesaler_And_D
nERRORNO, strERRORMESSAGE)
strERRORMESSAGE = ""
If CInt(nERRORNO) > 0 Then
varSupplierDescription = rstPURCHASEORDERHEADER.fie
varPOTransmissionMode = rstPURCHASEORDERHEADER.fie
varPODeliveryDate = rstPURCHASEORDERHEADER.fie
varPODeliveryTime = rstPURCHASEORDERHEADER.fie
varPODate = rstPURCHASEORDERHEADER.fie
varPOTime = rstPURCHASEORDERHEADER.fie
varPOTransmissionTime = varPOTime
rstPURCHASEORDERHEADER.Clo
Set rstPURCHASEORDERHEADER = Nothing
End if
Erase arrParamList
Set objPURCHASEORDER = Nothing
End If
End Function
''''''''''''''''''''''''''
' FUNCTION TO GET THE FIRST PREFERRED WHOLESALER AND DEFAULT THE ORDER DATE/TIME & DELIVERY DATE/TIME ENDS
''''''''''''''''''''''''''
%>
===validate.asp===
<!-- Version No : TRIAMUNIII1.0S_019825 -->
<%'@ language="VBScript" %>
<%
Response.Buffer = true
Response.Expires = -1
'Response.CacheControl = "private"
Response.AddHeader "cache-control", "private"
'Response.AddHeader "pragma","no-cache"
Public Const SUCCESS = 99999
Public Const NATIVE_SQL_ERROR = 88888
Public Const IIISQL_VALIDATION_ERROR = 77777
Public Const IIIMTS_VALIDATION_ERROR = 66666
Public Const nDELETED_ITEM_COLOUR = "Red"
Public Const nCHAINED_ITEM_COLOUR = "#013399"
Public Const nOUTOFSALE_ITEM_COLOUR = "Red"
Public Const nDEFAULT_ITEM_COLOUR = "Black"
Public Const nDELETED_ITEM_COLOUR_GRID = 255
Public Const nCHAINED_ITEM_COLOUR_GRID = 10040065
Public Const nOUTOFSALE_ITEM_COLOUR_GRI
Public Const nDEFAULT_ITEM_COLOUR_GRID = 0
Public Const MAXLENGTHFORPATIENTID = 100
Public Const MAXLENGTHFORQUANTITY = 5
Public Const MAXLENGTHVALUEFORQUANTITY = 99999
Public Const MAXLENGTHVALUEFORPRICE = 9999999
Public Const MAXLENGTHVALUEFORAMOUNT = 999989900001
Public Const nINACTIVE_PATIENT_COLOUR = "Red"
Public Const nACTIVE_PATIENT_COLOUR = "Black"
Public Const nINACTIVE_PATIENT_COLOUR_G
Public Const nACTIVE_PATIENT_COLOUR_GRI
Public Const NUMBEROFDECIMALPLACES = 2
Public Const BTNENABLEDCOLOR = "#003399"
Public Const BTNDISABLEDCOLOR = "#666666"
%>
<!-- #include file="qsort.asp" -->
<%
DIm Path, serverProcPath, strSecureStringHTTPS
Path = Request.ServerVariables("s
dim c
c = Instr(2,Path,"/")
Path = Mid(Path,1,c)
'Modified for SSL Implmentation
strSecureStringHTTPS = Request.serverVariables("H
If strSecureStringHTTPS = "" Or UCase(strSecureStringHTTPS
strSecureStringHTTPS = "http://"
Else
strSecureStringHTTPS = "https://"
End If
serverProcPath = strSecureStringHTTPS + Request.ServerVariables("s
'serverProcPath = server.HTMLEncode(serverPr
if Session("Language") = "" then
Session.Abandon
Response.AddHeader "Refresh","0;URL="+Path+"G
Response.End
end if
Function Redirect( NewURL )
If Not IsEmpty( NewURL & "" ) Then
Dim QuestionMark
QuestionMark = Instr( NewURL, "?" )
If QuestionMark = 0 Then
Response.Redirect NewURL & "?" & NoCacheURL()
Response.End
Else
Response.Redirect NEWURL & "&" & NoCacheURL()
Response.End
End If
End If
End Function
Function NoCacheURL()
On Error Resume Next
'Randomize
NoCacheURL = ".rnd=" & Server.URLEncode(now())
End Function
'Added by : Rajesh P.S
'Added on : 18/May/2001
'Purpose : Function to use along with timestamp varaible. Call this function on the timestamp fetched from the
'backend before storing it in the HTML/server side variant.
Function ConvertBinaryToString(bInp
Dim strInput, i
For i = 1 To LenB(bInput)
strInput = strInput & Right("00" & Hex(AscB(MidB(bInput, i, 1))), 2)
Next
ConvertBinaryToString = strInput
End Function
' Added by : Murali P B
' Added on : 13.01.2002
' Purpose : Function to Format Time received using Request.Form from TimePicker ActiveX Control.
' Value Returned will be in HH:MM 24 Hour Format
Function GetTimeInRequiredFormat(st
strTimeValue = Trim(strTimeValue)
Dim varTempPM
If Mid(strTimeValue, 2, 1) = ":" Then strTimeValue = "0" & strTimeValue
If Mid(strTimeValue, 5, 1) = ":" Then strTimeValue = Mid(strTimeValue,1,3) & "0" & Mid(strTimeValue,4,Len(str
If UCase(Mid(strTimeValue, 10, 2)) = "PM" Then
varTempPM = CDbl(Mid(strTimeValue,1,2)
If varTempPM <> 12 Then varTempPM = CDbl(Mid(strTimeValue,1,2)
strTimeValue = CStr(varTempPM) & Mid(strTimeValue,3,3)
End If
strTimeValue = Mid(strTimeValue,1,5)
GetTimeInRequiredFormat = strTimeValue
End Function
'Added by Sandilyan R
'Added on 21 Feb 2002
'Purpose to Sort the given QCD array.
Function getQCDSortOrder(arrQCDSort
Dim rows,cols,i
rows = UBOUND(arrQCDSort,1)
cols = UBOUND(arrQCDSort,2)
Dim arrNewQCDSort,sortString
arrNewQCDSort = arrQCDSort
QSort2 arrNewQCDSort, 1, 0, rows ' sort the entire array based on column 1
sortString = ""
For i = 0 to rows - 1
sortString = sortString & arrNewQCDSort(i,0) & ","
Next
sortString = sortString & arrNewQCDSort(rows,0)
getQCDSortOrder = sortString
End Function
'Added by Sandilyan R
'Added on 14 Mar 02
'Purpose get Permissions for Action buttons
Function GetAccessPermission(strSCR
Dim ScreenAccess,bitFETCH,bitC
Dim flagEnabled,flagDisabled
flagEnabled = "ENABLED"
if FromScreenSO = "SALESORDER" then
flagDisabled = "DISABLED STYLE='BACKGROUND-COLOR: #666666'"
else
flagDisabled = "DISABLED"
end if
bitFETCH = 1
bitCREATE = 2
bitMODIFY = 3
bitAUTHORIZE = 4
bitDELETE = 5
bitSUBMIT = 6
bitREVERSE = 7
bitANY = -1
strACTION = UCASE(strACTION)
ScreenAccess = SESSION(strSCREENCODE)
IF ScreenAccess = "" THEN
GetAccessPermission = flagDisabled
EXIT FUNCTION
END IF
IF ( strACTION <> "ANY" ) THEN
ScreenAccess = SESSION(strSCREENCODE)
IF CINT(MID(ScreenAccess,Eval
GetAccessPermission = flagEnabled
ELSE
GetAccessPermission = flagDisabled
END IF
END IF
IF ( strACTION = "ANY" ) THEN
IF ( MID(ScreenAccess,1,5) AND "11111" ) > 0 THEN
GetAccessPermission = flagEnabled
ELSEIF ( MID(ScreenAccess,6,5) AND "11111" ) > 0 THEN
GetAccessPermission = flagEnabled
ELSEIF ( MID(ScreenAccess,11,5) AND "11111" ) > 0 THEN
GetAccessPermission = flagEnabled
ELSE
GetAccessPermission = flagDisabled
END IF
END IF
End Function
' Added by : Murali P B
' Added on : 21.01.2002
' Purpose : Function to get the Current Date and Time
Public Function GetServerDateAndTime(strDa
If UCase(strDateOrTime) = "DATE" Then
' Get Current Date in 104 format
If Trim(strVariable) = "" Then
strVariable = Day(Now()) & "." & Month(Now()) & "." & Year(Now())
' Setting Date in Right Format
If Mid(strVariable, 2, 1) = "." Then strVariable = "0" & strVariable
If Mid(strVariable, 5, 1) = "." Then strVariable = Mid(strVariable,1,3) & "0" & Mid(strVariable,4,Len(strV
End If
ElseIf UCase(strDateOrTime) = "TIME" Then
' Get Current Date in 108 format
If Trim(strVariable) = "" Then
strVariable = Time()
strVariable = Left(strVariable, 5)
End If
End If
End Function
' Added by : Venkataramanan M
' Added on : 04.04.2002
' Purpose : Function to decode encoded +
Public Function decodePlus(strValue)
decodePlus = replace(strValue,"$*$","+"
End Function
' Added by : Venkataramanan M
' Added on : 13.08.2002
' Purpose : Function to set Item Description colour in Table.js tables
Public function SetItemColour(TypeOfTable,
if ( TypeOfTable = "HEADERCONTROL" or TypeOfTable = "REGULARTABLE" or TypeOfTable = "XMLTABLE" ) then
if ( TypeOfItem = "DELETEDITEM" ) then
nColourToSet = nDELETED_ITEM_COLOUR
elseif ( TypeOfItem = "CHAINEDITEM" ) then
nColourToSet = nCHAINED_ITEM_COLOUR
elseif ( TypeOfItem = "OUTOFSALEITEM" ) then
nColourToSet = nOUTOFSALE_ITEM_COLOUR
else
nColourToSet = nDEFAULT_ITEM_COLOUR
end if
elseif ( TypeOfTable = "GRID" ) then
if ( TypeOfItem = "DELETEDITEM" ) then
nColourToSet = nDELETED_ITEM_COLOUR_GRID
elseif ( TypeOfItem = "CHAINEDITEM" ) then
nColourToSet = nCHAINED_ITEM_COLOUR_GRID
elseif ( TypeOfItem = "OUTOFSALEITEM" ) then
nColourToSet = nOUTOFSALE_ITEM_COLOUR_GRI
else
nColourToSet = nDEFAULT_ITEM_COLOUR_GRID
end if
end if
Response.Write "STYLE='COLOR:" & nColourToSet & "'"
end function
' Added by : Kiran Babu.D
' Added on : 29.08.2003
' Purpose : Function to get Item Description colour
Public Function IIIGetItemDescriptionColou
If (NOT IsNull(Trim(Deleted_Item_F
Item_Flag = "DELETEDITEM"
ElseIf (NOT IsNull(Trim(Chained_Item_F
Item_Flag = "CHAINEDITEM"
ElseIf (NOT IsNull(Trim(OutOfSale_Item
Item_Flag = "OUTOFSALEITEM"
Else
Item_Flag = ""
End If
IIIGetItemDescriptionColou
End Function
' Added by : Chandrasekar S
' Added on : 01.07.2003
' Purpose : Function to Round a value to it uppervalue (e.g 1.125 to 1.13). This behaviour is same as javascript round
Public Function IIIRoundUp(dInputValue)
Dim arrValue
Dim dAfterDecimalValue
' 3.6 + 23.65 + .55 + 0.1-27.9 - In VB this calc. gives an exponential no.
' Exponentials were not handled in this function
If InStr(CStr(dInputValue), "E") >= 1 Then
dInputValue = Round(dInputValue, 2)
End If
If InStr(dInputValue, ".") = 0 Then
IIIRoundUp = dInputValue
Exit Function
End If
arrValue = Split(dInputValue, ".")
If CStr(arrValue(1)) = "" And Len(CStr(arrValue(1))) = 2 Then
IIIRoundUp = Round(CDbl(dInputValue), 2)
Exit Function
End If
If Len(CStr(arrValue(1))) >= 3 Then
dAfterDecimalValue = Mid(CStr(arrValue(1)), 1, 3)
If InStrRev(dAfterDecimalValu
dAfterDecimalValue = CStr(dAfterDecimalValue) + CStr(5)
dInputValue = CStr(arrValue(0)) + "." + CStr(dAfterDecimalValue)
End If
End If
IIIRoundUp = Round(CDbl(dInputValue), 2)
End Function
%>
<SCRIPT language="JavaScript" >
var encryptionsysparam = '<%=Session("ASP017")%>';
var Encryptionpassword = '<%=Session("Encryptionpas
var commonjsUserID = '<%=Session("UserID")%>';
function InvokeServerProc(strMethod
{
//This is to trigger server side method without reloading the page.
if ( typeof(strParameters) == "undefined" )
var strParameters = "";
var QueryString = "";
QueryString = QueryString + "<QUERYSTRING>";
QueryString = QueryString + "<METHODNAME></METHODNAME>
QueryString = QueryString + "<PARAMETERS></PARAMETERS>
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
QueryString = QueryString + "<STOREDPROCEDURE></STORED
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
QueryString = QueryString + "</QUERYSTRING>";
var objXMLDoc = new ActiveXObject("Microsoft.X
var node=null;
objXMLDoc.loadXML(QueryStr
node = objXMLDoc.selectSingleNode
node.text = strMethodName;
node = objXMLDoc.selectSingleNode
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
if ( typeof(strParameters) == 'object' )
node.text = strParameters.xml;
else
node.text = strParameters;
var strSP ='';
if ( typeof(strStoredProcedures
strSP = '';
else
strSP = strStoredProcedures;
node = objXMLDoc.selectSingleNode
node.text = strSP;
//Changes Added By Enian For CR BUG ID TRIAMUNIII1.0S_014098
if (strMethodName == "")
{
alert("Please provide MethodName");
return null;
}
var xmlhttp = new ActiveXObject("Microsoft.X
var serverPath = "<%=serverProcPath%>"
xmlhttp.Open("POST",server
xmlhttp.Send(objXMLDoc);
if ( xmlhttp.statusText == "OK" )
{
objResultXML = xmlhttp.responseXML;
if (objResultXML.xml == "" )
{
return null;
}
else
{
if ( typeof(strStoredProcedures
return objResultXML;
else
return objResultXML.xml;
}
}
else
{
alert(xmlhttp.statusText);
return null;
}
}
//To trap F5 function and mouse down key - sans 02.Mar.02
document.attachEvent("onke
function fun_keytrap()
{
var windowname;
if (window.event.keyCode == 116)
{
event.keyCode = ""
window.event.returnValue=f
}
// To trap Esc Key FIx for TRIAMUNIII1.0S_010817
else if(window.event.keyCode == 27)
{
window.event.returnValue=f
}
if (window.event.keyCode == 87) //Ctrl + W (Logoff)
{
if (window.event.ctrlKey)
{
windowname = parent.window.name;
if( windowname.toUpperCase() == "FRMPAGE")
{
if(window.confirm(getError
{
window.event.returnValue = true;
parent.window.parent.windo
}
else
{
window.event.keyCode = "";
window.event.returnValue = false;
}
return;
}
if( windowname.toUpperCase() == "LOGIN")
{
if(window.confirm(getError
{
window.event.returnValue = true;
parent.window.close();
}
else
{
window.event.keyCode = "";
window.event.returnValue = false;
}
return;
}
}
}
}
//function to get the patient hdr
//added by sans on 12/june/2002
function getPatientHdr(strParameter
{
var Parameter = strParameters.split("@@")
var intPatientId = Parameter[0]
// Mandatory check for the Patient Header
if (Trim(intPatientId) == '') return false;
if (parseFloat(intPatientId.l
{
alert(getErrorMessage('16'
return false;
}
var regExpr;
regExpr = /[\\?"<>|`~!@#$&]/ig;
if (regExpr.test(intPatientId
{
alert(getErrorMessage('263
return false;
}
var ArgumentCount = intPatientId.split(",")
var strInput = intPatientId + "@@" + ArgumentCount.length
var resultString = InvokeServerProc("FetchPat
var objXMLDoc = new ActiveXObject("Microsoft.X
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt
nodes = objXMLDoc.selectNodes("//O
var len = nodes.length;
var errno = nodes[len - 2].text;
var errmsg = nodes[len - 1].text;
if ( len > 2 )
{
var PasswordReturn;
//For patient pwd check
if ( (parseInt(errno) > 0 ) && (nodes[4].text == "N" ) )
{
var strPatientId = intPatientId
var varParameters = new Array()
varParameters[0] = nodes[2].text
varParameters[1] = nodes[3].text
varParameters[2] = true
varParameters[4] = nodes[5].text
PasswordReturn = window.showModalDialog("Pa
if (!PasswordReturn)
{
//clear fields
nodes[0].text = ""
nodes[2].text = ""
nodes[3].text = ""
nodes[1].text = ""
nodes[4].text = ""
}
}
}
else if ((len = 2) && (parseInt(errno) == -100))
{
if(typeof(windowSizeProper
{
var windowSizeProperties = 'menubar=no,location=no,to
window.open(Parameter[1],"
}
else
launchhelp1(Parameter[1]);
return false
}
return nodes;
}
//function to get the error msg from file
//added by sans on 12/june/2002
//Added for the defect TRIAMUNIII1.0S_010692 -- Sathish
function getErrorMessage(strParamet
{
var resultString = InvokeServerProc("GetError
var objXMLDoc = new ActiveXObject("Microsoft.X
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt
nodes = objXMLDoc.selectSingleNode
return nodes.text
}
//function to get the PO Number for the Given sales order
//added by sankar on 10/july/2002
//Added for the defect TRIAMUNIII1.0S_009559
function getPONumber(strSONumber)
{
var resultString = InvokeServerProc("GetPONum
var PONum
var objXMLDoc = new ActiveXObject("Microsoft.X
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt
nodes = objXMLDoc.selectNodes("//O
var len = nodes.length;
var errno = nodes[len - 2].text;
var errmsg = nodes[len - 1].text;
if (parseInt(errno) > 0)
PONum=nodes[0].text
else
PONum=""
return PONum
}
function getStandardPosology(strPos
{
var resultString = InvokeServerProc("GetStand
var PosologyText
var objXMLDoc = new ActiveXObject("Microsoft.X
var nodes =null;
//parse the string to get the data
objXMLDoc.loadXML(resultSt
nodes = objXMLDoc.selectNodes("//O
var len = nodes.length;
var errno = nodes[len - 2].text;
var errmsg = nodes[len - 1].text;
if (parseInt(errno) > 0)
PosologyText=nodes[0].text
else
PosologyText=""
return PosologyText
}
function getItemDetails(strItemInpu
{
var resultString = InvokeServerProc("GetItemD
var objXMLDoc = new ActiveXObject("Microsoft.X
var nodes =null;
objXMLDoc.loadXML(resultSt
nodes = objXMLDoc.selectNodes("//O
return nodes
}
function checkMarquee()
{
var objMarqueeList = null;
if ( event.type == "unload" )
{
//code Change for TRIAMUNIII1.0S_012467
try
{
if ( typeof(window.opener) == "object" )
objMarqueeList = window.opener.document.get
}
catch(objException)
{
}
//End of Code Change for TRIAMUNIII1.0S_012467
}
else
{
//code Change for TRIAMUNIII1.0S_012467
try
{
if ( typeof(window.opener) == "object" )
{
var objMarqueeList = window.opener.document.get
var cntt = 0
for (cntt = 0; cntt <= objMarqueeList.length - 1; cntt++)
{
eval(objMarqueeList.item(c
}
if (objMarqueeList.length > 0 )
window.attachEvent("onunlo
}
objMarqueeList = window.document.getElement
}
catch(objException)
{
}
//End of code Change for TRIAMUNIII1.0S_012467
}
if (objMarqueeList == null) return;
for (cntt = 0; cntt <= objMarqueeList.length - 1; cntt++)
{
eval(objMarqueeList.item(c
}
}
window.attachEvent("onload
var timeinterval = "";
function starttimer()
{
Cookdel(0)
timeinterval = window.setInterval("startt
}
</SCRIPT>
===session_manager.asp===
<%
dim strSMGRProcedureName, arrSMGRParamList, Triamun_Session_Filled, SMGRSessionId, nSMGRERRORNO, strSMGRERRORMESSAGE
dim objSMGRDICTIONARY,rstSMGRS
Triamun_Session_Filled = 0
Function ReadSessionKey()
ReadSessionKey = Request.Cookies("triamunCo
End Function
'Sub WriteSessionKey(sSessionKe
' Response.Cookies("triamunC
' Response.Cookies("triamunC
'End Sub
'IIICreateSession()
public Function Triamun_Session(SessionPar
' If the session value requested has already been fetched in this page then give it else fetch all the values
' and cache. return the requested value
'response.write Triamun_Session_Filled
'response.end
If Triamun_Session_Filled <> 0 then
Triamun_Session = objSMGRDICTIONARY.Item(Ses
Exit Function
End If
Set objSMGRDICTIONARY = Server.CreateObject("Scrip
Set ObjSMGRFetchGeneric = Server.CreateObject("IIIGe
Set rstSMGRSESSION = Server.CreateObject("ADODB
varSPName = "IIIFetch_user_Session"
ReDim varSMGRPARAMINPUT(0, 3)
SMGRSessionId = ReadSessionKey()
If Trim(SMGRSessionId) = "" Then
Triamun_Session = ""
Exit Function
End If
varSMGRPARAMINPUT(0, 0) = "@Session_Id"
varSMGRPARAMINPUT(0, 1) = "ANY_ERRMSG"
varSMGRPARAMINPUT(0, 2) = "adParamInput"
varSMGRPARAMINPUT(0, 3) = SMGRSessionId
' sASPCONNECTION = ""
nSMGRERRORNO = 0
strSMGRERRORMESSAGE = ""
Set rstSMGRSESSION = ObjSMGRFetchGeneric.FetchG
If nSMGRERRORNO > 0 Then
rstSMGRSESSION.MoveFirst
While Not rstSMGRSESSION.EOF
'varSMGRSessionId = rstSMGRSESSION("Session_Id
'varPARTNERID = rstSMGRSESSION("Partner_Id
'varPARTNERNAME = rstSMGRSESSION("Partner_Na
'varPARTNERADMINNAME = rstSMGRSESSION("Partner_Ad
'varPARTNERTYPE = rstSMGRSESSION("Partner_Ty
'varPARTNERLICENCE = rstSMGRSESSION("Partner_Li
'varPARTNERKANTON = rstSMGRSESSION("Partner_Ka
'varSOFTWARELICENCE = rstSMGRSESSION("Software_L
'varSHOWGALDATALERT = rstSMGRSESSION("Show_Galda
'varLOGINLANGUAGE = rstSMGRSESSION("Login_Lang
'varPARTNERDATABASE = rstSMGRSESSION("Partner_Da
Call objSMGRDICTIONARY.Add("nPa
Call objSMGRDICTIONARY.Add("str
Call objSMGRDICTIONARY.Add("str
Call objSMGRDICTIONARY.Add("str
Call objSMGRDICTIONARY.Add("Lic
Call objSMGRDICTIONARY.Add("str
Call objSMGRDICTIONARY.Add("str
'Call objSMGRDICTIONARY.Add("nPa
Call objSMGRDICTIONARY.Add("Lan
Call objSMGRDICTIONARY.Add("Tra
Call objSMGRDICTIONARY.Add("Enc
Call objSMGRDICTIONARY.Add("Use
Call objSMGRDICTIONARY.Add("str
rstSMGRSESSION.MoveNext
Wend
End if
Set ObjSMGRFetchGeneric = Nothing
Set rstSMGRSESSION = Nothing
'If objSMGRDICTIONARY.Item("La
' Call objSMGRDICTIONARY.Add("FEE
'ElseIf objSMGRDICTIONARY.Item("La
' Call objSMGRDICTIONARY.Add("FEE
'ElseIf objSMGRDICTIONARY.Item("La
' Call objSMGRDICTIONARY.Add("FEE
'End If
Triamun_Session_Filled = "1"
If objSMGRDICTIONARY.Exists(S
Triamun_Session = objSMGRDICTIONARY.Item(Ses
Else
Triamun_Session = ""
End If
Triamun_Session = objSMGRDICTIONARY.Item(Ses
End Function
%>
Kindly explain me in detail as I am new to asp...
Regards
and Thanks for help in anticipation
Uma
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.