<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Rick,<BR>
&nbsp;<BR>
We've had problems with this kind of thing before as well. Sometimes it seems that&nbsp;Workflow is just too quick for the database changes to actually take hold&nbsp;with&nbsp;the implicit COMMIT WORK statement issued inside the standard&nbsp;code.<BR>
&nbsp;<BR>
In the end we resorted to explicit&nbsp;COMMIT WORK AND WAIT statements inside our Methods&nbsp;where we wanted to be absolutely sure the changes have happened before we proceed any further. This seems to have done the trick although it's a bit clunky and really not that elegant at all.&nbsp; <BR>
&nbsp;<BR>
Occasionally we&nbsp;also ask the BOR Object to refresh itself&nbsp;at the end of these Methods&nbsp;to keep the OBJECT-_* structures up to date when we think something important may have changed.<BR>
&nbsp;<BR>
Using a Virtual attribute rather than a Database attribute would enforce a certain 'delay' in retrieving the database value again because you have to execute&nbsp;a discrete SELECT. This&nbsp;might be enough time for the V2 updates to happen in the back-end in the meantime.&nbsp;But then again it might not be enough of a delay&nbsp;if the system is under stress and lots of updates are happening at the same time.<BR>
&nbsp;<BR>
I guess it all depends on how soon after a database change are you trying to fetch the new value?<BR>
&nbsp;<BR>
Regards,<BR>
&nbsp;<BR>
Mike GT<BR><BR>&gt; Subject: RE: Release Strategy issues in 4.6c<BR>&gt; Date: Wed, 2 Jul 2008 09:59:57 -0500<BR>&gt; From: Rick.Sample@graybar.com<BR>&gt; To: sap-wug@mit.edu<BR>&gt; <BR>&gt; Hi Florin,<BR>&gt; <BR>&gt; Sounds plausible and I planned to extend the object after I figured out<BR>&gt; the buffering issue(s). <BR>&gt; To recap:<BR>&gt; 1. The standard BOR bus2012 swc_get_property self 'RELEASESTATUS'<BR>&gt; l_status gets buffered data. Not the current data I need when I need it.<BR>&gt; 2. I run the SELECT... right after the swc_get_property as a test,<BR>&gt; without a few seconds wait and still not the current data I need.<BR>&gt; 3. If I do #2 with WAIT UP TO 3 SECONDS, I do get the most recent data.<BR>&gt; <BR>&gt; Now, what you are saying is if I extend the attribute, make virtual, and<BR>&gt; use SELECT ..., I can bypass the WAIT?<BR>&gt; What is the difference between getting from BOR DATABASE attribute vs. a<BR>&gt; SELECT in the method? The BOR bypassing the buffers?<BR>&gt; <BR>&gt; Rick<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; -----Original Message-----<BR>&gt; From: sap-wug-bounces@mit.edu [mailto:sap-wug-bounces@mit.edu] On Behalf<BR>&gt; Of Florin Wach<BR>&gt; Sent: Wednesday, July 02, 2008 8:46 AM<BR>&gt; To: SAP Workflow Users' Group<BR>&gt; Subject: Re: Release Strategy issues in 4.6c<BR>&gt; <BR>&gt; Hi,<BR>&gt; <BR>&gt; oh, I see. There's no problem with that on purchase requisitions<BR>&gt; BUS2105, as that table attribute is reading by itself using a SELECT ...<BR>&gt; FROM EBAN, but the same form within BUS2012 uses the function module for<BR>&gt; a buffered read.<BR>&gt; <BR>&gt; To work around that, create a subtype w/delegation.<BR>&gt; Redefine the attribute ReleaseStatus<BR>&gt; Change the Source from "Database field" to "Virutal"<BR>&gt; Create a coding with SELECT SINGLE FRGST FROM EKKO INTO<BR>&gt; object-releaseStatus WHERE ebeln = object-key.<BR>&gt; <BR>&gt; Best wishes,<BR>&gt; Florin<BR>&gt; <BR>&gt; -------- Original-Nachricht --------<BR>&gt; &gt; Datum: Wed, 2 Jul 2008 08:37:34 -0500<BR>&gt; &gt; Von: "Sample, Rick" &lt;Rick.Sample@graybar.com&gt;<BR>&gt; &gt; An: "SAP Workflow Users\' Group" &lt;sap-wug@mit.edu&gt;<BR>&gt; &gt; Betreff: Release Strategy issues in 4.6c<BR>&gt; <BR>&gt; &gt; Hi WF's,<BR>&gt; &gt; <BR>&gt; &gt; I have an issue with performance. I think! <BR>&gt; &gt; I have a Purchase Release Strategy WF I am working on. <BR>&gt; &gt; User approves his step, Wf catches the Release event and <BR>&gt; &gt; evaluates for next approver. Standard approval stuff. <BR>&gt; &gt; <BR>&gt; &gt; The issue:<BR>&gt; &gt; When user approves his task, wf event triggers, then I immediately go<BR>&gt; &gt; and evaluate the Rel Strategy.<BR>&gt; &gt; The standard BOR swc_get_property self 'RELEASESTATUS' l_status is<BR>&gt; &gt; obviously getting the BUFFERED data. <BR>&gt; &gt; If I put in a WAIT UP TO 3 SECONDS then to a SELECT with BYPASSING<BR>&gt; &gt; BUFFER I get the correct value <BR>&gt; &gt; from the SELECT, and I can verify that the BOR get property is the<BR>&gt; &gt; buffered data. <BR>&gt; &gt; <BR>&gt; &gt; In all my time doing WF, I have never had to work around such a timing<BR>&gt; &gt; issues. <BR>&gt; &gt; This solution 'appears' to work and is in a background task, so I<BR>&gt; don't<BR>&gt; &gt; think it will be an problem. <BR>&gt; &gt; <BR>&gt; &gt; Also, I tried using the FMs in ME01 to refresh EKKO buffers, read the<BR>&gt; &gt; EKKO buffered data, etc. with no success.<BR>&gt; &gt; Anyone have a more elegant solution or comments with my above<BR>&gt; solution?<BR>&gt; &gt; <BR>&gt; &gt; Thanks much,<BR>&gt; &gt; <BR>&gt; &gt; <BR>&gt; &gt; <BR>&gt; &gt; _______________________________________________<BR>&gt; &gt; SAP-WUG mailing list<BR>&gt; &gt; SAP-WUG@mit.edu<BR>&gt; &gt; http://mailman.mit.edu/mailman/listinfo/sap-wug<BR>&gt; _______________________________________________<BR>&gt; SAP-WUG mailing list<BR>&gt; SAP-WUG@mit.edu<BR>&gt; http://mailman.mit.edu/mailman/listinfo/sap-wug<BR>&gt; <BR>&gt; _______________________________________________<BR>&gt; SAP-WUG mailing list<BR>&gt; SAP-WUG@mit.edu<BR>&gt; http://mailman.mit.edu/mailman/listinfo/sap-wug<BR><BR><br /><hr />Play Live Search Charades and win £5000 <a href='http://www.searchcharades.com' target='_new'>Think you know your TV, music and film?</a></body>
</html>