I have an external data file that I am using as a lookup table based upon the customer's ID (shows all the transactions for a customer). The lookup table has 90,000+ entries and is sorted by the CustID. When composing it seems to take a while to loop through the lookup
table to return all records associated with each customer.

Since the lookup table is sorted by CustID, is there a way to stop the loop once the ID is switches from the current ID to something different? That way it doesn't continue looping through when it doesn't need to.

Note: The most trantsactions per customer is 298.

Here are my current rules:
+++++++++++++++++++++++++++++++++++++++++++++
Javascript Globals:
+++++++++++++++++++++++++++++++++++++++++++++
function OpenXDF(FileName, Delim)
{
ExternalDataFile = new ExternalDataFileEx(FileName, Delim);

if (!ExternalDataFile.valid)
{
    var Message = "External file not found: " + FileName;
    Print(Message);
}
   return ExternalDataFile;
}

if(FusionPro.isMac){
        textpath = "mktsan:Production:CustomerName:Text Resources:";
        var AlreadyReadExternalFile = false;
}
else
{
textpath="\\\\mktsan.rastar.com\\mktsan\\Production\\CustomerName\ \Text Resources\\";
}
+++++++++++++++++++++++++++++++++++++++++++++
OnRecordStart:
+++++++++++++++++++++++++++++++++++++++++++++
RewardsList_XDF = OpenXDF(textpath + "Rewards.txt", "\t");

if (AlreadyReadExternalFile)
    return;

AlreadyReadExternalFile = true;

+++++++++++++++++++++++++++++++++++++++++++++
RewardsListRule:
+++++++++++++++++++++++++++++++++++++++++++++
if (FusionPro.inValidation)
  Rule("OnRecordStart");

var RecNum = RewardsList_XDF.FindRecord("MemberID", Field ("intMemberID"));

RewardList = "";

for (c = 0; c < 300; c++){

if(currentNumber=RewardsList_XDF.GetFieldValue(RecNum, "MemberID")==(Field("intMemberID"))){

RewardList += '<row><cell rulings=Right:thin,Black">' + '<para quad="R"><f name="DIN-Regular"><z newsize="8.0">' + RewardsList_XDF.GetFieldValue(RecNum++, "Date") + '<cell rulings=Right:thin,Black">' + '<para quad="C">' + NormalizeEntities (RewardsList_XDF .GetFieldValue(RecNum, "Merchant")) + '<cell rulings=Right:thin,Black">' + '<para quad="C">' + RewardsList_XDF .GetFieldValue(RecNum, "Address") + '<cell>' + '<para quad="R">' + RewardsList_XDF .GetFieldValue(RecNum, "Reward");
        }
}

return '<table columns=4><column width=06350/><column width=19660/ ><column width=22440/><column width=05220/><row><cell rulings=Right:thin,Black;Bottom:thin,Black">' + '<para quad="C"><f name="DIN-Black"><z newsize="9.0">' + "DATE" + '<cell rulings=Right:thin,Black;Bottom:thin,Black">' + '<para quad="C">' + "MERCHANT NAME" + '<cell rulings=Right:thin,Black;Bottom:thin,Black">' + '<para quad="C">' + "ADDRESS" + '<cell rulings=Bottom:thin,Black">' + '<para quad="C">' + "REWARD" + RewardList + '</table>' ;
+++++++++++++++++++++++++++++++++++++++++++++


Larry Whiting
Rastar Digital Marketing
[EMAIL PROTECTED]
T801-990-6421
C801-558-5316




+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Calling all FP Web Users!

Do you have a question or lots of knowledge to share about FusionPro Web?

If so, join our Printable Web to Print Users' Forum today!

Send email to [EMAIL PROTECTED] to find out how!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-


--
Users of FusionPro Desktop have unlimited free email support. Contact Printable 
Support at [EMAIL PROTECTED]
--
View FusionPro Knowledge Base, FusionPro Samples at
www.printable.com/vdp/desktop.htm

--
You are currently subscribed to fusionpro as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
--


--
Note:  All e-mail sent to or from this address will be received or otherwise 
recorded by the e-mail recipients of this forum. It is subject to archival, 
monitoring or review by, and/or disclosure to someone other than the recipient. 
Our privacy policy is posted on www.printplanet.com
--

Reply via email to