Var vRSHandle1 as Int Var vRSHandle3 as Int Var vRST as Int Var vRSC as Int Var vRSC1 as Int Var vRSCode as String Var vRSCCHK as String Var vStock as String Var vLoop1 as Int Var vLoop as Int Var vProd as Array[1000,9] of String Var vProdlist as String Var vCB as Int Var vML as Int Var vSR as Int Var vSM as Int Var vAN as Int Var vNG as Int Var vTTL as Double Var vCBp as Double Var vMLp as Double Var vCBf as Double Var vMLf as Double vEnd = vTest2+"ZZZ" //CODE = C1 IF @MODE() = 0 OR @MODE() = 2 THEN vTest59 = @Calendar("Click on Start Date",@date-1) // IF vTest59 = "" Then {vTest51 = @PromptForUserInput("Type Brand","") // vTest52 = @PromptForUserInput("Type Model","") // vTest57 = @PromptForUserInput("Type Description","")} //vTest51 = "SERVICE;COMERCO" //vTest54 = "!Brand=" + "/" + vTest51 //vTest55 = "!Model=" + ".." + vTest52 + ".." //vTest58 = "!Description=" + ".." + vTest57 + ".." //vTest59 = @date -8 vTest510 = "!TRANSDATE0="+">="+vTest59 //WriteLn("START DATE FOR STOCK BALANCE CHECKER :" + vTest59) //WriteLn("- - - - - - - - - - - -") vRSHandle = @XResultSetSearch("DATA\INVENT.DB", "INVENT!ACTIVITY", SEARCH_MODE_AND, SEARCH_SYNTAX_QA, vTest510) vRST = @XResultSetTotal(vRSHandle) XResultSetSort(vRSHandle,"ITEMCODE0:-1") For vRSC = 1 to vRST //vRSC = vRSC + 1 vRSC1 = vRSC -1 XResultSetCurrentPosition(vRSHandle, vRSC) vRSCode = @XResultSetValue(vRSHandle, "ITEMCODE0") XResultSetCurrentPosition(vRSHandle, vRSC1) //vRSCCHK = @XResultSetValue(vRSHandle, "ITEMCODE0") //If vRSCode = vRSCCHK Then {XResultSetRemoveRecord(vRSC) // vLoop1 = vLoop1 - 1} vLoop1 = vLoop1 + 1 vProd[vLoop1,1] = vRSCode //WriteLN(vProd[vLoop1,1]) Next For vLoop = 1 to vLoop1 vStock = "!ITEMCODE="+ vProd[vLoop,1] vRSHandle1 = @XResultSetSearch("DATA\INVENT.DB", "INVENT", SEARCH_MODE_AND, SEARCH_SYNTAX_QA, vStock) vProd[vLoop1,2] = @XResultSetValue(vRSHandle1, "MODEL") vProd[vLoop1,3] = @XResultSetValue(vRSHandle1, "DESCRIPTION") vProd[vLoop1,4] = @INT(@XResultSetValue(vRSHandle1, "SR")) vProd[vLoop1,5] = @INT(@XResultSetValue(vRSHandle1, "SM")) vProd[vLoop1,6] = @INT(@XResultSetValue(vRSHandle1, "AN")) vProd[vLoop1,7] = @INT(@XResultSetValue(vRSHandle1, "NG")) vProd[vLoop1,8] = @INT(vProd[vLoop1,4]) + @INT(vProd[vLoop1,5]) + @INT(vProd[vLoop1,6]) + @INT(vProd[vLoop1,7]) vProd[vLoop1,9] = @XResultSetValue(vRSHandle1, "BRAND") vSR = vProd[vLoop1,4] vSM = vProd[vLoop1,5] vAN = vProd[vLoop1,6] vNG = vProd[vLoop1,7] vTTL = vSR + vSM + vAN + vNG vCB = vSR + vSM vML = vAN + vNG IF vTTL > 0 Then {vCBp = vCB / vTTL vCBf = (.5 - vCBp) *vTTL} If vTTL > 0 Then {vMLp = vML / vTTL vMLf = (.5 - vMLp) * vTTL} IF vCBp <.3 and vTTL >4 and vCBf >= 1 Then {vProdlist = vProdlist + vProd[vLoop,1] + ";" //WriteLn("B: "+vProd[vLoop1,9] + " "+vProd[vLoop,1] + " M: " + vProd[vLoop1,2] + " D: " +vProd[vLoop1,3] +" [ " + vProd[vLoop1,4] + " | " + vProd[vLoop1,5] + " | " + vProd[vLoop1,6] + " | " + vProd[vLoop1,7] + " ]" + "TTL:" + vProd[vLoop1,8]) ////WriteLn("TRANSFER STOCK TO CAPE BRETON, IF AVAILABLE. MINIMUM RECOMMENDED: " + @INT(vCBf)) //WriteLn("- - - - - - - -") } IF vMLp <.3 and vTTL >4 and vMLf >=1 Then {vProdlist = vProdlist + vProd[vLoop,1] + ";" //WriteLn("B: " +vProd[vLoop1,9] + " "+vProd[vLoop,1] + " M: " + vProd[vLoop1,2] + " D: " + vProd[vLoop1,3] + " [ " + vProd[vLoop1,4] + " | " + vProd[vLoop1,5] + " | " + vProd[vLoop1,6] + " | " + vProd[vLoop1,7] + " ]" + "TTL:" + vProd[vLoop1,8]) //WriteLn("TRANSFER STOCK TO MAINLAND, IF AVAILABLE. MINIMUM RECOMMEDED: " + @INT(vMLf)) //WriteLn("- - - - - - - -") } If vSR <0 and vTTL = 0 Then {vProdlist = vProdlist + vProd[vLoop,1] + ";" //WriteLn("B: " +vProd[vLoop1,9] + " "+vProd[vLoop,1] + " M: " + vProd[vLoop1,2] + " D: " + vProd[vLoop1,3] + " [ " + vProd[vLoop1,4] + " | " + vProd[vLoop1,5] + " | " + vProd[vLoop1,6] + " | " + vProd[vLoop1,7] + " ]" + "TTL:" + vProd[vLoop1,8]) //WriteLn("***** TRANSFER THIS ITEM TO SYDNEY RIVER ******") //WriteLn("- - - - - - - -") } If vSM <0 and vTTL = 0 Then {vProdlist = vProdlist + vProd[vLoop,1] + ";" //WriteLn("B: " +vProd[vLoop1,9] + " "+vProd[vLoop,1] + " M: " + vProd[vLoop1,2] + " D: " + vProd[vLoop1,3] + " [ " + vProd[vLoop1,4] + " | " + vProd[vLoop1,5] + " | " + vProd[vLoop1,6] + " | " + vProd[vLoop1,7] + " ]" + "TTL:" + vProd[vLoop1,8]) //WriteLn("***** TRANSFER THIS ITEM TO SYDNEY MINES ******") //WriteLn("- - - - - - - -") } If vAN <0 and vTTL = 0 Then {vProdlist = vProdlist + vProd[vLoop,1] + ";" //WriteLn("B: " +vProd[vLoop1,9] + " "+vProd[vLoop,1] + " M: " + vProd[vLoop1,2] + " D: " + vProd[vLoop1,3] + " [ " + vProd[vLoop1,4] + " | " + vProd[vLoop1,5] + " | " + vProd[vLoop1,6] + " | " + vProd[vLoop1,7] + " ]" + "TTL:" + vProd[vLoop1,8]) //WriteLn("***** TRANSFER THIS ITEM TO ANTIGONISH ******") //WriteLn("- - - - - - - -") } If vNG <0 and vTTL = 0 Then {vProdlist = vProdlist + vProd[vLoop,1] + ";" //WriteLn("B: " +vProd[vLoop1,9] + " "+vProd[vLoop,1] + " M: " + vProd[vLoop1,2] + " D: " + vProd[vLoop1,3] + " [ " + vProd[vLoop1,4] + " | " + vProd[vLoop1,5] + " | " + vProd[vLoop1,6] + " | " + vProd[vLoop1,7] + " ]" + "TTL:" + vProd[vLoop1,8]) //WriteLn("***** TRANSFER THIS ITEM TO NEW GLASGOW ******") //WriteLn("- - - - - - - -") } If vTTL < 0 Then vProdlist = vProdlist + vProd[vLoop,1] + ";" XResultSetClose(vRSHandle1) Next vProdlist = "!ITEMCODE="+ vProdlist vRSHandle3 = @XResultSetSearch("DATA\INVENT.DB", "INVENT", SEARCH_MODE_AND, SEARCH_SYNTAX_QA, vProdlist) //WriteLn(vProdlist) vReport=@xresultsetprintreport("PRODCHECK",vRSHandle3,1) XResultSetClose(vRSHandle3) XResultSetClose(vRSHandle)