Remember ... Push actions happen in Phase 2 of Filters
Change the name of your filter to "LDS:MIRS:Create/Update Child Incident Relationship`!" Fred From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Lyle Taylor Sent: Wednesday, July 08, 2009 3:55 PM To: [email protected] Subject: Push Fields Filter in Table Loop ** Hi All, ARS 7.1 P6 So, here's another things that is leaving me completely befuddled. I have a filter guide that loops over a table and that only has a single filter in it. The filter simply pushes the values from the columns in the table to another form. Sounds simple, except that it's not working as expected. It properly loops over each of the records (or at least, the filter gets called the same number of times that there are records in the table), however it only pushes the values for the last row in the table and does it for each row in the table. Here's an extract from the filter log: /* Wed Jul 08 2009 14:43:50.2360 */ Call Guide "LDS:MIRS:Create/Update Child Incident Relationships" (return) /* Wed Jul 08 2009 14:43:50.2360 */ End of filter processing (phase 1) -- Operation - SET on LDS:MIRS:MIRS Record - MIRS00000000034 /* Wed Jul 08 2009 14:43:50.2360 */ Restart of filter processing (phase 2) -- Operation - SET on LDS:MIRS:MIRS Record - MIRS00000000034 /* Wed Jul 08 2009 14:43:50.2360 */ Checking "LDS:MIRS:Create/Update Child Incident Relationship" 0: Push Fields -> "LDS:MIRS:Associations" <deferred from filter LDS:MIRS:Create/Update Child Incident Relationship> Form Name01 (1000000101) = HPD:Help Desk Request Type01 (1000000211) = 9000 Start Date 01 (1000005080) = 11/10/2008 8:31:32 AM Form Name02 (1000000203) = LDS:MIRS:Console Association Type01 (1000000208) = 35000 ConsolidatedStatus (301569500) = 8000 Request ID02 (1000000205) = MIRS00000000034 End Date 01 (1000005084) = Request Description01 (1000000206) = INC000000473327: this is a test of LDS_HPD:SetContactTabRed Parent Request ID02 (1000002706) = INC000000473690 Request ID01 (1000000204) = INC000000473327 /* Wed Jul 08 2009 14:43:50.2360 */ Start filter processing (phase 1) -- Operation - SET on LDS:MIRS:Associations - 000000000000025 /* Wed Jul 08 2009 14:43:50.2360 */ End of filter processing (phase 1) -- Operation - SET on LDS:MIRS:Associations - 000000000000025 /* Wed Jul 08 2009 14:43:50.2360 */ Checking "LDS:MIRS:Create/Update Child Incident Relationship" 0: Push Fields -> "LDS:MIRS:Associations" <deferred from filter LDS:MIRS:Create/Update Child Incident Relationship> Form Name01 (1000000101) = HPD:Help Desk Request Type01 (1000000211) = 9000 Start Date 01 (1000005080) = 11/10/2008 8:31:32 AM Form Name02 (1000000203) = LDS:MIRS:Console Association Type01 (1000000208) = 35000 ConsolidatedStatus (301569500) = 8000 Request ID02 (1000000205) = MIRS00000000034 End Date 01 (1000005084) = Request Description01 (1000000206) = INC000000473327: this is a test of LDS_HPD:SetContactTabRed Parent Request ID02 (1000002706) = INC000000473690 Request ID01 (1000000204) = INC000000473327 So, the filter guide correctly looped twice, because there are two records in the table. However, it pushed the exact same information twice rather than pushing the values for each record. To add to the issue, I added the ability to loop over the table but only process a specific record based on the value of another field on the form. So the Run If qualification for the filter looks like this: ('Child Incident Number' = $NULL$) OR ('Child Incident Number' = 'Request ID01 Column') So, if I put a value in the Child Incident Number field, it only processes the record that matches that value, but processes everything if I leave it blank. So, if I put the Incident Number (INC000000473328) of the other Incident in the table (the one not being pushed here) and run it again, I get this: /* Wed Jul 08 2009 14:49:51.0170 */ Call Guide "LDS:MIRS:Create/Update Child Incident Relationships" (return) /* Wed Jul 08 2009 14:49:51.0170 */ End of filter processing (phase 1) -- Operation - SET on LDS:MIRS:MIRS Record - MIRS00000000034 /* Wed Jul 08 2009 14:49:51.0170 */ Restart of filter processing (phase 2) -- Operation - SET on LDS:MIRS:MIRS Record - MIRS00000000034 /* Wed Jul 08 2009 14:49:51.0170 */ Checking "LDS:MIRS:Create/Update Child Incident Relationship" 0: Push Fields -> "LDS:MIRS:Associations" <deferred from filter LDS:MIRS:Create/Update Child Incident Relationship> Form Name01 (1000000101) = HPD:Help Desk Request Type01 (1000000211) = 9000 Start Date 01 (1000005080) = 11/10/2008 8:31:32 AM Form Name02 (1000000203) = LDS:MIRS:Console Association Type01 (1000000208) = 35000 ConsolidatedStatus (301569500) = 8000 Request ID02 (1000000205) = MIRS00000000034 End Date 01 (1000005084) = Request Description01 (1000000206) = INC000000473327: this is a test of LDS_HPD:SetContactTabRed Parent Request ID02 (1000002706) = INC000000473690 Request ID01 (1000000204) = INC000000473327 So, in this case, only one push fields action gets run (because only one record in the table matched the qualification), but it's not the record that gets pushed! It's still the other record - the same one that gets pushed twice when I process every record. Anyone have any idea what may be going on here? Let me know if I can provide more information to help. Thanks, Lyle Taylor NOTICE: This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. _Platinum Sponsor: [email protected] ARSlist: "Where the Answers Are"_ _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum Sponsor:[email protected] ARSlist: "Where the Answers Are"

