Jose, You might try it in stages;
1. An active link pushes the new Invoice value to all the detail entries 2. A filter recalculates each detail’s value(s) 3. A second active link (higher exec order) recalculates (or triggers filters to recalc) Invoice values from the detail entries. HTH, Joel Joel Sender jdsen...@earthlink.net 310.829.5552 From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of Jose Huerta Sent: Monday, June 11, 2012 5:27 AM To: arslist@ARSLIST.ORG Subject: Development question ** Hi listers, I have a question for developers. I've got a solution, but I want to know if there is a better option, since it doesn't satisfy me 100%. Here's the case (It's not really my case, but a simplified version of it): I have one form: AAA:Invoices. This form has a table field that shows related requests on AAA:DetailLines. So each invoice in AAA:Invoices is related to several Detail Lines in AAA:DetailLines. I have a field in AAA:Invoices that is a parameter used to compute the value of the detail lines. I call it: InvoiceParameter. I have a filter that when InvoiceParameter is changed, it propagates it to all related detail lines. When those lines are modified, they automatically (with filters) recalculate their value. I also have a total value field at AAA:Invoices that it is the sum of the detail lines. I want to keep it updated, so I thinked some options, but concurrency makes the result going wrong. Summarizing the case: The objective is that when modifying the field InvoiceParameter at an Invoice, it propagates to the detail lines, recalculating its value, and returns to the invoice with the total as the sum of all detail lines. If I do it with a filter, the contents of the table at AAA:Invoice is not updated until the end of the transaction. So I can't see the new values. And If I use parameter sending, only one of the detail lines, do actually change the value, the rest are lost, (beacuse concurrency). Using the override phase at PUSH actions, it overrides the ARS action, but not the SQL sending, that is sent at the end. My solution is to have a filter at AAA:Invoice that propagates the InvoiceParameter to the detail lines. Then the detail lines compute the result and make a PUSH to the Invoice marking a flag field (so no concurrency error is possible). Then an escalation executes at every minute on marked invoices, that computes the total. I hate using escalations for complex computations. Do you know any other way to achieve my objective without escalations? Jose M. Huerta Project Manager Movil: 661 665 088 Telf.: 971 75 03 24 Fax: 971 75 07 94 <http://www.sm2baleares.es/> SM2 Baleares S.A. C/Rita Levi Edificio SM2 Parc Bit 07121 Palma de Mallorca <http://es-es.facebook.com/pages/SM2-Baleares/158608627954> <http://twitter.com/#!/SM2Baleares> <http://www.linkedin.com/company/sm2-baleares> La información contenida en este mensaje de correo electrónico es confidencial. La misma, es enviada con la intención de que únicamente sea leída por la persona(s) a la(s) que va dirigida. El acceso a este mensaje por otras personas no está autorizado, por lo que en tal caso, le rogamos que nos lo comunique por la misma vía, se abstenga de realizar copias del mensaje o remitirlo o entregarlo a otra persona y proceda a borrarlo de inmediato. P Por favor, no imprima este mensaje ni sus documentos adjuntos si no es necesario. _attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_ _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"
<<image001.jpg>>
<<image002.jpg>>
<<image003.jpg>>
<<image004.jpg>>