
01-20-2010, 09:31
|
|
Junior Member
|
|
Join Date: Mar 2006
Posts: 21
Thanks: 3
Thanked 0 Times in 0 Posts
|
|
store runtime variable
Hi I am new to Webmethods ..is it possible to store certain parameters within the flow when the flow is invoked that can be reused when the flow is re-invoked.
Problem is the same file gets sent and processed one after the other.I want to avoid it by checking in the flow if the file got just processed thru the flow.
|

01-20-2010, 10:22
|
|
Member
|
|
Join Date: May 2006
Posts: 54
Thanks: 5
Thanked 4 Times in 4 Posts
|
|
Hi,
Re-invoked in the same transaction or at a later time, after a day or week?
You can add a flag or a temp variable and set it to 'Y' after processing for the first time, and look for this flag before processing the second time.
HTH.
S
S
|
|
The Following User Says Thank You to smathangi For This Useful Post:
|
|

01-20-2010, 11:06
|
|
Junior Member
|
|
Join Date: Mar 2006
Posts: 21
Thanks: 3
Thanked 0 Times in 0 Posts
|
|
thanks smathangi for your reply.
How and where do I store this flag and how do I retrieve back..I guess once the flow service finishes execution, all the variables are dropped(Garbage collected).
I figured I could use clearPipeline with preserve list to store my variables..but don't know somehow using this way when I re-invoke the same flow, variables in the preserve lists are found to be not stored.
any more ideas..or steps that I need to follow..
|

01-20-2010, 11:40
|
|
Senior Member
|
|
Join Date: Jun 2008
Posts: 293
Thanks: 9
Thanked 27 Times in 27 Posts
|
|
Hi,
What's ur exact requirement .. what kind of file you are trying to process.. does this flow have any trading network link.. i.e. duplicate detection can be used??
please elaborate then we can suggest some solution. Unfortunately i havn't understood much out of the problem description.
-nD
|
|
The Following User Says Thank You to devexpert For This Useful Post:
|
|

01-20-2010, 11:42
|
 |
Premium Member
|
|
Join Date: Apr 2003
Posts: 4,789
Thanks: 61
Thanked 177 Times in 140 Posts
|
|
Quote:
Originally Posted by smathangi
Hi,
Re-invoked in the same transaction or at a later time, after a day or week?
You can add a flag or a temp variable and set it to 'Y' after processing for the first time, and look for this flag before processing the second time.
|
Unless you're storing that variable somewhere persistent (disk, static memory var, pub.storage store, etc.) then this will not work. Simply setting a pipeline var will not be carried over to subsequent runs of a service.
|

01-20-2010, 11:45
|
 |
Premium Member
|
|
Join Date: Apr 2003
Posts: 4,789
Thanks: 61
Thanked 177 Times in 140 Posts
|
|
If you need to track files to know if you've already processed them, then you'll need to store that info somewhere. Preferrably a DB table.
Can you describe your process? Are you picking up files from a directory? If so, what do you do with them after you've processed them? The easiest thing may be to simply move or delete the file so that it doesn't get picked up in the next run.
|

01-20-2010, 11:49
|
|
Junior Member
|
|
Join Date: Mar 2006
Posts: 21
Thanks: 3
Thanked 0 Times in 0 Posts
|
|
Thanks for the reply.
no this is not coming from TN, this is A2A..sending system can not prevent from sending duplicate or repeat(something that will take longer than expected time to fix) meanwhile we are trying to detect this duplicate file or second run of the same file in the flow service.
I think I can not preserve pipeline beyond the current session so I am looking for the alternate options.
|

01-20-2010, 11:54
|
|
Junior Member
|
|
Join Date: Mar 2006
Posts: 21
Thanks: 3
Thanked 0 Times in 0 Posts
|
|
Files are received from one system(picked up from a directory) , processed in Webmethods and delivered to SAP as an IDOC..Repeat IDOC with the same PONumber creates an Incident in Production ladscape, unneccesarily increasing number of incidents..
|

01-20-2010, 12:09
|
 |
Premium Member
|
|
Join Date: Apr 2003
Posts: 4,789
Thanks: 61
Thanked 177 Times in 140 Posts
|
|
IS provides facilities for detecting duplicates. You might need to modify your integration a bit to let it do so. Refer to the docs for details.
Probably the easiest approach is to simply record the PO numbers that you process into a DB table. At the start, read for the PO number. If present, stop. If not, proceed and then record the PO number in the table.
Depending upon volume and how long this solution stays in place, you may need a scheme for purging old/expired PO numbers from the table to reclaim space.
|
|
The Following User Says Thank You to reamon For This Useful Post:
|
|

01-20-2010, 13:00
|
|
Junior Member
|
|
Join Date: Mar 2006
Posts: 21
Thanks: 3
Thanked 0 Times in 0 Posts
|
|
instead of sotring in DB..thinking of some temp storage using utility services like PSutilities service storeDatatoMemory whenevr file is processed and getDatafromMemory to verify if the file is processed previously and removedatafromMemory(need to think when?)
what say?.
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -6. The time now is 00:31.
| |
|
Page generated in 0.09635 seconds with 16 queries |