RE: (forte-users) Posted Event Not Seen by EventLoop
Hi,
Event registration occurs when an event loop is activated. If your event
loop is activated before your SO is ready and registered (Init must be
finished) the event loop will be not registered for the event on your SO.
This is a typical example of race condition. A race condition may occur when
two or more processes execute simultaneously and the final result depends on
which process finishes first. Please redesign your project.
Regards,
Zenon Adamek
Purolator
-----Original Message-----
From: Denver Jobs [SMTP:fortejobsindenveryahoo.com]
Sent: Wednesday, June 14, 2000 2:48 PM
To: kamranaminyahoo.com
Subject: (forte-users) Posted Event Not Seen by Event Loop
I have two classes & an SO in a given project.
ManagerClass : object
InterfaceClass : object
ManagerSO : ManagerClass
ManagerClass has the attribute
theInterfaceClass : InterfaceClass
InterfaceClass has the attribute
theManagerClass : Manager Class
The ManagerClass Init method performs a new on
theInterfaceClass and then does a start task on a
method within theInterfaceClass which starts an
external connection listening on a port.
The method also sets theInterfaceClass.theManagerClass
to ManagerSO.
A method gets called in the ManagerClass which writes
to the external connection port within the
theInterfaceClass and then starts an event loop in the
ManagerClass to wait for notification.
When the started task for listening on the external
connection receives data, it calls a method within the
ClassManager - theClassManager.CallMethod(returndata);
The CallMethod actually posts an event within the
ClassManager which the event loop started earlier is
waiting on.
The event does get posted, however, the event loop
that was started never receives the event?!?!?
There are no lower level event loops that
should trap this event prior to this point.
The call to perform the "write" on the external
connection is done as a postregister in the event
loop, so that the event is registered before a post
for the event occurs.
Am I missing something here?
Thanks in advance for any light you might shed.
Yahoo! Photos -- now, 100 FREE prints!
http://photos.yahoo.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
Check if ManagerSO = ManagerSO.theInterfaceClass.theManagerClass
Why does InterfaceClass call a methon the the SO? Why doesn't it simply post
its own event, that the SO is registered for?
-----Original Message-----
From: Denver Jobs [SMTP:fortejobsindenveryahoo.com]
Sent: Wednesday, June 14, 2000 8:48 PM
To: kamranaminyahoo.com
Subject: (forte-users) Posted Event Not Seen by Event Loop
I have two classes & an SO in a given project.
ManagerClass : object
InterfaceClass : object
ManagerSO : ManagerClass
ManagerClass has the attribute
theInterfaceClass : InterfaceClass
InterfaceClass has the attribute
theManagerClass : Manager Class
The ManagerClass Init method performs a new on
theInterfaceClass and then does a start task on a
method within theInterfaceClass which starts an
external connection listening on a port.
The method also sets theInterfaceClass.theManagerClass
to ManagerSO.
A method gets called in the ManagerClass which writes
to the external connection port within the
theInterfaceClass and then starts an event loop in the
ManagerClass to wait for notification.
When the started task for listening on the external
connection receives data, it calls a method within the
ClassManager - theClassManager.CallMethod(returndata);
The CallMethod actually posts an event within the
ClassManager which the event loop started earlier is
waiting on.
The event does get posted, however, the event loop
that was started never receives the event?!?!?
There are no lower level event loops that
should trap this event prior to this point.
The call to perform the "write" on the external
connection is done as a postregister in the event
loop, so that the event is registered before a post
for the event occurs.
Am I missing something here?
Thanks in advance for any light you might shed.
Yahoo! Photos -- now, 100 FREE prints!
http://photos.yahoo.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
Similar Messages
-
Activex events not seen in Labview
I have PC application which has a COM server interface included.
I am able to connect to this successfully with labview for everything apart from events. When I try and connect to events it always comes back with error 95, event unknown. I have also tried the "list events descriptions" and that comes back empty.
The COM server works fine when used with VB and C++ applications so I am guessing Labview is the problem.
I am using a Automation Refnum control to access the COM server and this is working fine.
Any suggestions why I can not see any events in Labview?
(I am running Labview 6.0.2)Thanks for the reply. I just tried an evaluation copy of Labview 7.0 and managed to get it working with the new feature "Register Event Callback".
I would still like to use Labview 6.0.2 if possible as I don't believe I will use most of the new features in Labview 7.0 and 7.1. Also we have alot of version 6 licenses that will cost alot of money to upgrade!
Any suggestions how I can get 6.0 working with events?
Thanks,
Matthew -
User decision option not seen to approver
We have a user decision in our workflow template. We have decision option Select approver ,Sent back to AP ,Cancel . When some users execute the this task they were shown as decision decision and cancel. decision option text is not shown to them. This is happenng for few users only. not for all users. Please suggest what can be done to solve this issue
Yaa Martin is right please check the Translations has been maintained for the Logon language in which the user is logging in. You can check the table entries of SWDSTEXT.
Thanks
Arghadip -
The bug was just reported yesterday so they might not have it available to
the public for a while. I am guessing this bug has been around since 3.M.?
and its very easy to verify it if its happening in your environment. Also I
have been talking to other user that are not using Oracle (Sybase instead)
who are also seen the same problem. I think this is a problem across all
database because there is some fundamental event or process that is not
taking place to close database connections. But just to be safe verify it
in your test environment before moving to 3.5. To verify if its happening
in your Forte version just create a small application that connects to the
database and run it in debug mode. Log into the database and then stop the
debug session. The connection will still be open. This will also occur
when you use the running man or in a deployed application.
ka
-----Original Message-----
From: Labeaux Schiek [mailto:DHSV017dhs.state.il.us]
Sent: Thursday, March 01, 2001 7:21 AM
To: kamran.aminlendware.com; Forte-userslists.xpedior.com
Subject: RE: (forte-users) Forte not letting go of Oracle connections +
RE: (forte-users) SQL Server Maximum DB Processes already allocated.
Hi Kamran,
I just looked up bug # 54610 in Cyber Support and it is not there yet, so a
question.
In your opinion, does this effect all databases? We are using DB2 and
considering going to 3.5 . Are we going to see the same problems you have
had with Oracle?
-thanks
-labeaux
"Amin, Kamran" <kamran.aminlendware.com> 02/28/01 05:28PM >>>Update on my problem. Well now its everybody's problem. Forte has
conformed the bug. Bug number 54610 for your reference.
thanks to everybody for the help..
ka
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comThe bug was just reported yesterday so they might not have it available to
the public for a while. I am guessing this bug has been around since 3.M.?
and its very easy to verify it if its happening in your environment. Also I
have been talking to other user that are not using Oracle (Sybase instead)
who are also seen the same problem. I think this is a problem across all
database because there is some fundamental event or process that is not
taking place to close database connections. But just to be safe verify it
in your test environment before moving to 3.5. To verify if its happening
in your Forte version just create a small application that connects to the
database and run it in debug mode. Log into the database and then stop the
debug session. The connection will still be open. This will also occur
when you use the running man or in a deployed application.
ka
-----Original Message-----
From: Labeaux Schiek [mailto:DHSV017dhs.state.il.us]
Sent: Thursday, March 01, 2001 7:21 AM
To: kamran.aminlendware.com; Forte-userslists.xpedior.com
Subject: RE: (forte-users) Forte not letting go of Oracle connections +
RE: (forte-users) SQL Server Maximum DB Processes already allocated.
Hi Kamran,
I just looked up bug # 54610 in Cyber Support and it is not there yet, so a
question.
In your opinion, does this effect all databases? We are using DB2 and
considering going to 3.5 . Are we going to see the same problems you have
had with Oracle?
-thanks
-labeaux
"Amin, Kamran" <kamran.aminlendware.com> 02/28/01 05:28PM >>>Update on my problem. Well now its everybody's problem. Forte has
conformed the bug. Bug number 54610 for your reference.
thanks to everybody for the help..
ka
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) Confusion with return event
Samer,
The return event is delivered to the calling task, which is the window in
your first test. It is not deliverd to the event loop of the service object
unless the call to the processor originated in the event loop, which is the
case in your second test. The output you get from the server is exactly as I
would expect.
You need the following code in you client:
event loop
postregister
SomeService1.StartImmediate();
when SomeService1.Proc.ProcessEvent_return do
task.Part.Logmgr.Putline('ProcessEvents_return');
when SomeService1.Proc.ProcessEvent_exception do
task.Part.Logmgr.Putline('ProcessEvents_exception');
end event;
Note that this logoutput will not be written to a logfile, but will appear
in the logwindow which is opened when you start a client application.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Samer Kanjo [mailto:skanjoyahoo.com]
Sent: Thursday, January 18, 2001 1:54 AM
To: ForteUsers
Subject: (forte-users) Confusion with return event
I have observed some odd behavior when attempting to
catch a return event for a method invoked using start
task. I provided the primary classes I used during my
test and some output produced by those classes at the
bottom of this message.
The SomeService1 class is used to create an
environment visible service object and the Processor
class is one of its members. The Processor class
starts processing when one of two things happens: the
SomeService1 timer ticks off 10 seconds or when
SomeService1.StartImmediate is called directly by
another entity. Either way StartImmediate is called to
start processing.
The provided output is the result of starting a test
application and invoking StartImmediate from another
object (I used a window) and then observing what
happens when the timer ticks. As you can see the
invocation from the window did not result in the
return event being received. However, the return event
was received when the timer ticked.
According to the Forte documentation a return event
will only be posted to the parent task's event queue.
Since I am making a cross partition call, the window
and service object are not really in the same task
(Unless my assumption is wrong). That would explain
why the window did not cause a return event to be
generated but was an event generated but not caught
and if so where did the event go?
In SomeService2 class I added an event StartProcessing
and moved the code from StartImmediate to the
StartProcessing event case in the event loop and
simply posted the StartProcessing event in
StartImmediate. I performed the same test I used when
testing SomeService1. The Traceback output is
identical for the window invocation but the return
event is received this time! Why?
It seems that to guarantee the receipt of a return
event an asynchronous task must be initiated from
within an event loop. Is this correct?
I do not understand this behavior does someone have
any thoughts on this? How can you guarantee the
receipt of a return event?
Samer Kanjo
OUTPUT FROM SOMESERVICE1
StartTaskTest_cl0: processing loop listening
StartTaskTest_cl0:
Traceback:
SomeService.StartImmediate at line 1
TestWin.Display at line 4
C++ Method(s)
UserApp.Run at offset 105
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0:
Traceback:
SomeService.StartImmediate at line 1
SomeService.ProcessingLoop at line 9
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0: ProcessEvents_return
OUTPUT FROM SOMESERVICE2
StartTaskTest_cl0: processing loop listening
StartTaskTest_cl0:
Traceback:
SomeService2.StartImmediate at line 1
TestWin.Display at line 4
C++ Method(s)
UserApp.Run at offset 105
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0: ProcessEvents_return
StartTaskTest_cl0:
Traceback:
SomeService2.StartImmediate at line 1
SomeService2.ProcessingLoop at line 9
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0: ProcessEvents_return
SOMESERVICE1 CLASS
begin CLASS;
class SomeService1 inherits from Framework.Object
has public attribute proc: StartTaskTest.Processor;
has public attribute processing: Framework.boolean;
has public method Init;
has public method ProcessingLoop;
has public method StartImmediate;
has property
shared=(allow=off, override=on);
transactional=(allow=off, override=on);
monitored=(allow=off, override=on);
distributed=(allow=on, override=on, default=off);
end class;
method SomeService1.Init
begin
super.Init();
processing = FALSE;
proc = new;
start task ProcessingLoop();
end method;
method SomeService1.ProcessingLoop
begin
timer : Timer = new;
timer.tickInterval = 10000;
event loop
task.part.logmgr.putline('processing loop
listening');
timer.isActive = TRUE;
when timer.tick do
StartImmediate();
when proc.ProcessEvents_return do
task.part.logmgr.putline('ProcessEvents_return');
processing = FALSE;
when proc.ProcessEvents_exception do
task.part.logmgr.putline('ProcessEvents_exception');
processing = FALSE;
when task.shutdown do
exit;
end event;
end method;
method SomeService1.StartImmediate
begin
task.part.logmgr.putline(task.traceBack());
processing = TRUE;
start task proc.ProcessEvents() where completion =
event;
end method;
end CLASS;
SOMESERVICE2 CLASS
begin CLASS;
class SomeService2 inherits from Framework.Object
has public attribute proc: StartTaskTest.Processor;
has public attribute processing: Framework.boolean;
has public event StartProcessing;
has public method Init;
has public method ProcessingLoop;
has public method StartImmediate;
has property
shared=(allow=off, override=on);
transactional=(allow=off, override=on);
monitored=(allow=off, override=on);
distributed=(allow=on, override=on, default=off);
end class;
method SomeService2.Init
begin
super.Init();
processing = FALSE;
proc = new;
start task ProcessingLoop();
end method;
method SomeService2.ProcessingLoop
begin
timer : Timer = new;
timer.tickInterval = 10000;
event loop
task.part.logmgr.putline('processing loop
listening');
timer.isActive = TRUE;
when timer.tick do
StartImmediate();
when self.StartProcessing do
processing = TRUE;
start task proc.ProcessEvents() where completion =
event;
when proc.ProcessEvents_return do
task.part.logmgr.putline('ProcessEvents_return');
processing = FALSE;
when proc.ProcessEvents_exception do
task.part.logmgr.putline('ProcessEvents_exception');
processing = FALSE;
when task.shutdown do
exit;
end event;
end method;
method SomeService2.StartImmediate
begin
task.part.logmgr.putline(task.traceBack());
post StartProcessing;
end method;
end CLASS;
PROCESSOR CLASS
begin CLASS;
class Processor inherits from Framework.Object
has public method Init;
has public method ProcessEvents where completion =
(return = ProcessEvents_return, exception =
ProcessEvents_exception);
has property
shared=(allow=off, override=on);
transactional=(allow=off, override=on);
monitored=(allow=off, override=on);
distributed=(allow=off, override=on);
end class;
method Processor.Init
begin
super.Init();
end method;
method Processor.ProcessEvents
begin
task.part.logmgr.putline('Start processing...');
task.Delay(msecs = 1500);
task.part.logmgr.putline('Processing complete.');
end method;
end CLASS;
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comYes, you're right. The return event is queued until the moment that you
actually enter an eventloop. I stand corrected.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Thursday, January 18, 2001 6:13 PM
To: Rottier, Pascal
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users) Confusion with return event
I think it is always safe to use start task with where complition = event
clause before event loop. The reason is described in Forte Help in the
Complition Clause index:
"Requesting the return and exception events automatically registers the
events for the calling task. When the asynchronous method completes or
terminates, Forté adds the appropriate event to the calling task's event
queue.
This registration is unlike the event registration for the event statement.
In the event statement, the event is registered just before the event
statement is ready to process the event. In the start task statement, the
return and exception events are registered when the task is started, even
though it can be much later on that your application is prepared to wait for
those events. Therefore, only the "parent" task that executes the start task
statement is registered for the completion event of the started task."
and some comments from "Forte Performance and Patterns" page 18:
"When you use the where completion = event clause in the start task
statement, Forte automatically buffer the return event until you register
for it. Therefore, you do not need to worry about the child task completing
before you register for its return event".
Regards,
Zenon
-----Original Message-----
From: Rottier, Pascal [SMTP:Rottier.Pascalpmintl.ch]
Sent: Thursday, January 18, 2001 11:16 AM
To: 'Samer Kanjo'; ForteUsers
Subject: RE: (forte-users) Confusion with return event
Yes, if you want the eventloop of the service object to be informed when
the
method on the processor class is invoked, regardless of who invoked it,
then
you should simply post an event as the last statement inside the method on
the processor class.
The return events are only used to inform a partent task that a child-task
has completed. So, only the calling task receives the event, only if the
calling task is inside an event-loop at the moment the child-task
terminates
and only if there really is a child task (method started using "start task
Note, that the calling task doesn't have to be inside an event loop when
the
asynchronous call is made. It has to be inside an eventloop when the
asynchronous task terminates. The following piece of code works just as
well:
SomeService1.StartImmediate();
self.DoSomeOtherStuff();
event loop
when SomeService1.Proc.ProcessEvent_return do
task.Part.Logmgr.Putline('ProcessEvents_return');
when SomeService1.Proc.ProcessEvent_exception do
task.Part.Logmgr.Putline('ProcessEvents_exception');
end event;
However, if the asynchronous task started from within "StartImmediate"
finishes before the client gets a chance to enter its event loop, then
you're too late to catch the event. That's why it's safer to use the
"postregister" function, which makes sure a certain action is not started
untill all events from the event loop have been registered.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Samer Kanjo [mailto:skanjoyahoo.com]
Sent: Thursday, January 18, 2001 5:04 PM
To: ForteUsers
Subject: RE: (forte-users) Confusion with return event
Pascal,
So you are confirming that a return event can only be
received in an event loop if a task is started from
within that event loop.
After making your proposed changes I was able to
receive the return event in the window.
I originally wanted the SomeService event loop to
always receive the return event regardless of whether
or not StartImmediate is called by some other entity
or called when the timer ticks. It seems that the only
way to do this is with events. Is that correct?
Thank you for insight,
Samer Kanjo
--- "Rottier, Pascal" <Rottier.Pascalpmintl.ch>
wrote:
Samer,
The return event is delivered to the calling task,
which is the window in
your first test. It is not deliverd to the event
loop of the service object
unless the call to the processor originated in the
event loop, which is the
case in your second test. The output you get from
the server is exactly as I
would expect.
You need the following code in you client:
event loop
postregister
SomeService1.StartImmediate();
when SomeService1.Proc.ProcessEvent_return do
task.Part.Logmgr.Putline('ProcessEvents_return');
when SomeService1.Proc.ProcessEvent_exception do
task.Part.Logmgr.Putline('ProcessEvents_exception');
end event;
Note that this logoutput will not be written to a
logfile, but will appear
in the logwindow which is opened when you start a
client application.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) Events in Interface
I know, I've implemented similar structures in other locations as well,
always without problems. I've even recreated the whole interface, building
it completely from dragging and dropping methods and events from the class
to the interface. Then I did a force compile of the whole workspace. It
still doesn't solve the problem. There must be some combination of things
that were different in the other circumstances, but I don't seem to be able
to find it. It's definately not an error in the code. There something wrong
in Forte internally, but I don't know which combination of factors causes
it.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Moris_Mihaildis/AUST/CSCcsc.com
[mailto:Moris_Mihaildis/AUST/CSCcsc.com]
Sent: Tuesday, April 03, 2001 5:00 AM
To: Rottier, Pascal
Cc: forte-userslists.xpedior.com
Subject: Re: (forte-users) Events in Interface
FYI. We are using Forte 3.0.J.4 and NT4.0 SP6, and have had no problems
implementing your pattern.
There should be no need for a fix (cast). There is something wrong with
your interface.
Regards,
Moris Mihailidis
Consulting
CSC
Level 4, 570 St. Kilda Road, Melbourne VIC 3004
Ph: 61-3-95364675 Fax: 61-3-95364633 Email: mmihailicsc.com.au
"Rottier, Pascal" <Rottier.Pascalpmintl.ch> on 04/02/2001 09:52:46 PM
To: "'Forte Users'" <forte-userslists.xpedior.com>
cc:
Subject: (forte-users) Events in Interface
We have the following scenario:
There is a Service Object that acts as a Facade (Facade pattern) for 3
manager classes that implement some business functions. Each of these three
managers are stored as private attributes on this Service Object.
For the sake of flexibility, these three private attributes are defined by
their Interface, not their class. When the Service Object opens an Event
Loop and registers for the events of one of these interfaces, the whole
partition crashes. Even when using the running man in the development
workshop, the whole partition crashes. The only way to fix that is to cast
the Interface to a class that implements the interface before registering
for the event.
I know it's possible to register for events using an Interface that
contains
these events, rather then a class that implements the events. Of course, at
runtime you do need a real instance of a class that implements the
interface, otherwise you get a NIL-exception.
Does anyone have any experience registering for events from Interfaces? Are
there unexpected circumstances where it should work semantically, but still
causes Forte to crash. We're using Forte 3.j.1 on NT 4.0 SP 6.
Any help is appreciated.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comI know, I've implemented similar structures in other locations as well,
always without problems. I've even recreated the whole interface, building
it completely from dragging and dropping methods and events from the class
to the interface. Then I did a force compile of the whole workspace. It
still doesn't solve the problem. There must be some combination of things
that were different in the other circumstances, but I don't seem to be able
to find it. It's definately not an error in the code. There something wrong
in Forte internally, but I don't know which combination of factors causes
it.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Moris_Mihaildis/AUST/CSCcsc.com
[mailto:Moris_Mihaildis/AUST/CSCcsc.com]
Sent: Tuesday, April 03, 2001 5:00 AM
To: Rottier, Pascal
Cc: forte-userslists.xpedior.com
Subject: Re: (forte-users) Events in Interface
FYI. We are using Forte 3.0.J.4 and NT4.0 SP6, and have had no problems
implementing your pattern.
There should be no need for a fix (cast). There is something wrong with
your interface.
Regards,
Moris Mihailidis
Consulting
CSC
Level 4, 570 St. Kilda Road, Melbourne VIC 3004
Ph: 61-3-95364675 Fax: 61-3-95364633 Email: mmihailicsc.com.au
"Rottier, Pascal" <Rottier.Pascalpmintl.ch> on 04/02/2001 09:52:46 PM
To: "'Forte Users'" <forte-userslists.xpedior.com>
cc:
Subject: (forte-users) Events in Interface
We have the following scenario:
There is a Service Object that acts as a Facade (Facade pattern) for 3
manager classes that implement some business functions. Each of these three
managers are stored as private attributes on this Service Object.
For the sake of flexibility, these three private attributes are defined by
their Interface, not their class. When the Service Object opens an Event
Loop and registers for the events of one of these interfaces, the whole
partition crashes. Even when using the running man in the development
workshop, the whole partition crashes. The only way to fix that is to cast
the Interface to a class that implements the interface before registering
for the event.
I know it's possible to register for events using an Interface that
contains
these events, rather then a class that implements the events. Of course, at
runtime you do need a real instance of a class that implements the
interface, otherwise you get a NIL-exception.
Does anyone have any experience registering for events from Interfaces? Are
there unexpected circumstances where it should work semantically, but still
causes Forte to crash. We're using Forte 3.j.1 on NT 4.0 SP 6.
Any help is appreciated.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: (forte-users) (UPDATE) Forte not letting go of Oracleconnections
All,
I have been communicating with Forte regarding this
issue. I was informed that a fix for this bug will be
released in SP2 tentatively due at the end of May.
Forte also confirmed that the bug was introduced in
3.5 and exists in 3.5.1.
Samer Kanjo
--- Joseph Mirwald <jomirweb.de> wrote:
Hello all,
some time ago we talked about the problem, that some
DBSession-connects hang
if the partition where the DBSessionSO is used goes
down.
Ok, there may be some problems with forte or the
Database (TWO_TASK, and so
on).
Does anybody implement a DBSession.Disconnect() when
partition goes down?
I mean the partition exits by a kill or by escript
or econsole, not by a
Forte-Method call
of somewhere else.
I thought the solution must be a loop which
registers for the
task.Shutdown-event, but at
the init-method I couldn't stay in a loop and wait,
because i has to call
the service-objects
methods. Another solution may be a 'start task
LoopMethod()' which are
registers the
event, but i don't try it now, because i don't know
the side-effects
because the thread calls
a method of the 'mother-process' which goes down
also.
What is your solution or idea?
Joseph Mirwald
GERMANY
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.comAll,
I have been communicating with Forte regarding this
issue. I was informed that a fix for this bug will be
released in SP2 tentatively due at the end of May.
Forte also confirmed that the bug was introduced in
3.5 and exists in 3.5.1.
Samer Kanjo
--- Joseph Mirwald <jomirweb.de> wrote:
Hello all,
some time ago we talked about the problem, that some
DBSession-connects hang
if the partition where the DBSessionSO is used goes
down.
Ok, there may be some problems with forte or the
Database (TWO_TASK, and so
on).
Does anybody implement a DBSession.Disconnect() when
partition goes down?
I mean the partition exits by a kill or by escript
or econsole, not by a
Forte-Method call
of somewhere else.
I thought the solution must be a loop which
registers for the
task.Shutdown-event, but at
the init-method I couldn't stay in a loop and wait,
because i has to call
the service-objects
methods. Another solution may be a 'start task
LoopMethod()' which are
registers the
event, but i don't try it now, because i don't know
the side-effects
because the thread calls
a method of the 'mother-process' which goes down
also.
What is your solution or idea?
Joseph Mirwald
GERMANY
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com -
RE: (forte-users) Forte not letting go of Oracleconnections
Hello Amin, Samer and David,
thank you for your fast reply.
The technical support in Germany give at least a good idea to prevent the
problem in future:
Available at Forte 3.5 and above
ER #35575 : user wants TOOL code to detect partition
shutdown and time to do something
Add a new interface, AtExitHandler, to Framework, with just one
method: RunAtExit();
Add a new method to Partition:
AtExit(AtExitHandler);
At shutdown time, managed partitions will call RunAtExit on all
registered AtExitHandlers in the same sequence that they called
AtExit on the partition.
This activity takes place synchronously before we start tearing the
partition apart, with the partition explicitly set by the active part
agent to the one we are supposed to be shutting down, so it should be
pretty safe for the user to run any code he likes.
We will catch and display any exceptions produced by the callbacks,
so that errors don't keep shutdown from proceeding (it is still possible
for the user to write code that hangs and blocks shutdown that way,
but I don't know what we could do about that besides getting into
timeouts etc.).
I think it is always a good idea to disconnect the DB-Session because you
do it with
most other tools from Database automatically, so why don't do it generally
by use of
a programming-language?!?
I try this feature in any case.
Thanks for all who answered to this message
Joseph Mirwald
GERMANY
At 17:13 13.03.01 -0500, Amin, Kamran wrote:
That was the initial problem. Forte as logged a bug on this issue and
hopefully fix it soon.
Look for bug# 54610.
-----Original Message-----
From: Joseph Mirwald [mailto:jomirweb.de]
Sent: Tuesday, March 13, 2001 4:12 PM
To: Forte Users
Subject: (forte-users) Forte not letting go of Oracle connections
Hello all,
some time ago we talked about the problem, that some DBSession-connects hang
if the partition where the DBSessionSO is used goes down.
Ok, there may be some problems with forte or the Database (TWO_TASK, and so
on).
Does anybody implement a DBSession.Disconnect() when partition goes down?
I mean the partition exits by a kill or by escript or econsole, not by a
Forte-Method call
of somewhere else.
I thought the solution must be a loop which registers for the
task.Shutdown-event, but at
the init-method I couldn't stay in a loop and wait, because i has to call
the service-objects
methods. Another solution may be a 'start task LoopMethod()' which are
registers the
event, but i don't try it now, because i don't know the side-effects
because the thread calls
a method of the 'mother-process' which goes down also.
What is your solution or idea?
Joseph Mirwald
GERMANY
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHello Amin, Samer and David,
thank you for your fast reply.
The technical support in Germany give at least a good idea to prevent the
problem in future:
Available at Forte 3.5 and above
ER #35575 : user wants TOOL code to detect partition
shutdown and time to do something
Add a new interface, AtExitHandler, to Framework, with just one
method: RunAtExit();
Add a new method to Partition:
AtExit(AtExitHandler);
At shutdown time, managed partitions will call RunAtExit on all
registered AtExitHandlers in the same sequence that they called
AtExit on the partition.
This activity takes place synchronously before we start tearing the
partition apart, with the partition explicitly set by the active part
agent to the one we are supposed to be shutting down, so it should be
pretty safe for the user to run any code he likes.
We will catch and display any exceptions produced by the callbacks,
so that errors don't keep shutdown from proceeding (it is still possible
for the user to write code that hangs and blocks shutdown that way,
but I don't know what we could do about that besides getting into
timeouts etc.).
I think it is always a good idea to disconnect the DB-Session because you
do it with
most other tools from Database automatically, so why don't do it generally
by use of
a programming-language?!?
I try this feature in any case.
Thanks for all who answered to this message
Joseph Mirwald
GERMANY
At 17:13 13.03.01 -0500, Amin, Kamran wrote:
That was the initial problem. Forte as logged a bug on this issue and
hopefully fix it soon.
Look for bug# 54610.
-----Original Message-----
From: Joseph Mirwald [mailto:jomirweb.de]
Sent: Tuesday, March 13, 2001 4:12 PM
To: Forte Users
Subject: (forte-users) Forte not letting go of Oracle connections
Hello all,
some time ago we talked about the problem, that some DBSession-connects hang
if the partition where the DBSessionSO is used goes down.
Ok, there may be some problems with forte or the Database (TWO_TASK, and so
on).
Does anybody implement a DBSession.Disconnect() when partition goes down?
I mean the partition exits by a kill or by escript or econsole, not by a
Forte-Method call
of somewhere else.
I thought the solution must be a loop which registers for the
task.Shutdown-event, but at
the init-method I couldn't stay in a loop and wait, because i has to call
the service-objects
methods. Another solution may be a 'start task LoopMethod()' which are
registers the
event, but i don't try it now, because i don't know the side-effects
because the thread calls
a method of the 'mother-process' which goes down also.
What is your solution or idea?
Joseph Mirwald
GERMANY
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
All day calendar events not being displayed in the notification centre for iphone 5 post ios 7 upgrade. Please help. Is it a bug?
With iOS 6, the all day events showed up in the notification centre but it lacks in the upgrade iOS 7.Same problem here. Some people pointed out that all-day events do show up in their notification center, but that seems only to be the case for birthdays (and only as text like the weather). I've tried it myself on my iPhone and iPad and it did work for birthdays but not for any other all-day events. I already sent this to Apple as a product feedback as well, as should everyone of you. The more people mention it, the faster Apple's going to fix this issue. In its current state, notification center is not a very helpful feature in my opinion. There's absolutely no point in not showing all-day events in the 'today' calendar overview.
Here's a link to the product feedback page: http://www.apple.com/feedback/
I posted my message in the iPhone section since I couldn't find a page specifically dedicated to iOS 7.
I really love the look & feel of iOS 7 but it's kinda sad to see notification center not tapping its full potential.
Cheers! -
For eg :
I had a user called domain1\user1 whose mysite was created as http://my/personal/user1.
Now this user moves to another domain say domain2\user1.Since mysite is already present no new mysite will be created.
Move-SPUser –Identity "domain1\user1" –NewAlias "domain2\user1"After executing the above query,user is migrated and is able to login to the mysite.But the newsfeed data is not seen.I can see it in the microfeed list but not in the newsfeed page.All other data like documents ,tags,people etc is present
harsh damaniait should move all the profile data alonwith, i would check the ULS logs for any clue.
also make sure following timer jobs ran successfully
User Profile service application name - User Profile to SharePoint Quick Synchronization
User Profile service application name - Feed Cache Repopulation
User Profile service application name - Activity Feed Job
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog -
Events in USER objects type not getting triggered in PFCG
Hi,
We need to send some notifications to the concern person at the time of assiging roles to the user . There is an object type USER and has events like created,cloned, deleted, roles_changed. But these events not getting triggered.
I need to trigger the workflow. How do we activate the events as the entry doesnot exits in SWE2 tooo . Is ther any other way?HI munish
If the entry is not in swe2 Put the entry for the business object USER and use the receiver type as your workflow number.
Regards
vijay -
I'm having problems with iPhoto and the facebook set-up. Every time I attempt to do so it says an error has occured and try again later. I have not seen a solution posted. Therefore, how does one contact Apple to solve the problem? I'm new to the world of iMac but I find it a bit frustrating trying to solve basic issues/problems:(
For what it's worth, you posted this in 2011, and here in 2014 I am still having this same issue. Over the last two days, I have had to unlock my apple account 8 times. I didn't get any new devices. I haven't initiated a password reset. I didn't forget my password. I set up two factor authentication and have been able to do the unlocking with the key and using a code sent to one of my devices.
That all works.
It's this having to unlock my account every time I go to use any of my devices. And I have many: iMac, iPad, iPad2, iPad mini, iPhone 5s, iPod touch (daughter), and my old iPhone 4 being used as an ipod touch now. They are all synced, and all was working just fine.
I have initiated an incident with Apple (again) but I know they are just going to suggest I change my Apple ID. It's a simple one, and one that I am sure others think is theirs. I don't want to change it. I shouldn't have to. Apple should be able to tell me who is trying to use it, or at least from where.
Thanks for listening,
Melissa -
RE: (forte-users) Call to the load-balanced SO not throughrouter
We never call an SO from within an SO. Instead we do the following :
MySO is mapped to MySOclass.
MySOclass is a facade which has an attribute for every Policy Manager
related to this SO.
Each Policy manager is instanciated in MySOclass.
Each Policy manager has an attribute called Parent.
Parent is defined by MySOclass to be self.
If two Policy managers need to work together we invoke methods via the
parent attribute :
Example
I have a partition for Enrolments.
It has three Policy Managers within it
a Students Policy Manager (with a Add, Delete, Get methods)
a Courses Policy Manager (with a Add, Delete, Get methods).
an Enrolments Policy Manager (with a Add, Delete, Get methods).
To enable this partition we have defined :
EnrolmentsSO (environment visible, message duration) with the EnrolmentsMgr
class as its related class.
The EnrolmentsMgr class has the following methods and attributes :
Methods :
AddStudent
AddCourse
AddEnrolment
GetStudent
GetCourse
GetEnrolment
DeleteStudent
DeleteCourse
DeleteEnrolment
All of these methods do a one line return statement, simply passing the
method invocation to
the appropriate Policy Manager. For example AddStudent would say
Return theStudentPM.AddStudent(pInStudentParams : pInStudentParams)
: pOutStudentParams
In the Init method for the EnrolmentsMgr we instanciate the following
attributes :
theStudentPM (which is typed to the StudentPM class)
theCoursePM (which is typed to the CoursePM class)
theEnrolmentsPM (which is typed to the EnrolmentsPM class)
Also in the Init method we set an attribute (called parent) on each
PM to the value of Self.
Then when one PM needs to invoke a method on another PM we simply do :
For example in the theEnrolmentPM.GetEnrolment method we need to get
Students and Courses
thus we code :
Parent.GetStudent(pInStudentParams = pInStudentParams) : pOutStudentParams
Parent.GetCourse((pInCourseParams = pOutStudentParams.CourseStuff) :
pOutCourseParams
Build Enrol details based on student / course stuff.
Return EnrolmentParams.
Hope this makes sense.
Regards,
Chris Will, Dept. of Educ. Training, ITB, Sydney, Australia
-----Original Message-----
From: Peter Sham [mailto:[email protected]]
Sent: Friday, 8 October 1999 9:35
To: [email protected]; [email protected]
Subject: Re: (forte-users) Replicating the PersistenceMgrSO
Hi,
Whenever you make a call to your load-balanced SO, it
would go through the router. That is what I
understand. No matter you make the call from inside
or outside the SO.
Secondly, you can turn on the "fail-over" option of a
router but not load-balanced it. On these routers,
you can check their instruments to see which one is
really running.
Hope this help.
Regards,
Peter Sham.We never call an SO from within an SO. Instead we do the following :
MySO is mapped to MySOclass.
MySOclass is a facade which has an attribute for every Policy Manager
related to this SO.
Each Policy manager is instanciated in MySOclass.
Each Policy manager has an attribute called Parent.
Parent is defined by MySOclass to be self.
If two Policy managers need to work together we invoke methods via the
parent attribute :
Example
I have a partition for Enrolments.
It has three Policy Managers within it
a Students Policy Manager (with a Add, Delete, Get methods)
a Courses Policy Manager (with a Add, Delete, Get methods).
an Enrolments Policy Manager (with a Add, Delete, Get methods).
To enable this partition we have defined :
EnrolmentsSO (environment visible, message duration) with the EnrolmentsMgr
class as its related class.
The EnrolmentsMgr class has the following methods and attributes :
Methods :
AddStudent
AddCourse
AddEnrolment
GetStudent
GetCourse
GetEnrolment
DeleteStudent
DeleteCourse
DeleteEnrolment
All of these methods do a one line return statement, simply passing the
method invocation to
the appropriate Policy Manager. For example AddStudent would say
Return theStudentPM.AddStudent(pInStudentParams : pInStudentParams)
: pOutStudentParams
In the Init method for the EnrolmentsMgr we instanciate the following
attributes :
theStudentPM (which is typed to the StudentPM class)
theCoursePM (which is typed to the CoursePM class)
theEnrolmentsPM (which is typed to the EnrolmentsPM class)
Also in the Init method we set an attribute (called parent) on each
PM to the value of Self.
Then when one PM needs to invoke a method on another PM we simply do :
For example in the theEnrolmentPM.GetEnrolment method we need to get
Students and Courses
thus we code :
Parent.GetStudent(pInStudentParams = pInStudentParams) : pOutStudentParams
Parent.GetCourse((pInCourseParams = pOutStudentParams.CourseStuff) :
pOutCourseParams
Build Enrol details based on student / course stuff.
Return EnrolmentParams.
Hope this makes sense.
Regards,
Chris Will, Dept. of Educ. Training, ITB, Sydney, Australia
-----Original Message-----
From: Peter Sham [mailto:[email protected]]
Sent: Friday, 8 October 1999 9:35
To: [email protected]; [email protected]
Subject: Re: (forte-users) Replicating the PersistenceMgrSO
Hi,
Whenever you make a call to your load-balanced SO, it
would go through the router. That is what I
understand. No matter you make the call from inside
or outside the SO.
Secondly, you can turn on the "fail-over" option of a
router but not load-balanced it. On these routers,
you can check their instruments to see which one is
really running.
Hope this help.
Regards,
Peter Sham. -
Event not getting triggered for a few users in production
Hi Experts!!
We have a workflow that gets triggered on the event REQUESTCREATED of BUS2089. In production, we see that for a few users the event is getting triggered and even the workflow is. But for a few users, the workflow is not getting triggered. However, we didn't check SWEQADM yet and are waiting to get auth to check the same. But before that, I need your valuable suggestions on this.
When I check SWEL, I cannot see any entries at all. Not even for the successfully processed ones.
Auth objects cannot be a reason, as all the users have same auth. Please suggest me on what else can be the reasons.
Your help is highly appreciable.Hello Srinivas !
Check in SWEQADM to know whether the event is on queue.If so, redeliver it.
If there is no event on queue, check the RFC queue( transaction SWU2 ) and ST22 for possible ABAP dumps.
Call work item list report (transaction SWI1) and check event linkages (transaction SWETYPV )of the users for whom the event is not triggered.Are you using BAdI or user- exit to trigger the workflow ? If so, check whether those are in active state.
Refresh the workflow buffers(transaction SWU_OBUF).Check either of the workflow versions are in active state.
Regards,
S.Suresh -
Workitem not seen in inbox but event is triggered in transaction SWEL.
Hi,
I have created a workflow to create and display a material master using transaction MM01.
My event (created) is getting triggerd when I am creating a material but the same is not seen in my business Workplace.
In display event trace i am able to trace my event and the corresponding workflow.
My business object is BUS1001006.
I am creating a material from MM01 and the workitem is not seen in the inbox.
Can you provide solution for this?
NityaHi,
In workflow log you have option to see the agent list for the workitem.
1.check possible agent for task of that workitem.
2.check the resposble agent for the task of that workitem.
Check the agent list for the workitem in workflow log, if you do not find a agent list ,check whether agents has authorization for transaction code mm01 or not.
if its useful reward points.
Thanks,
D.prabhu
Maybe you are looking for
-
AddEventListener afterOpen to Document
The CS3 scripting guide specifically mentions that you can use the "afterOpen" event on either an Application or Document object. I seem unable to bind to the afterOpen event on a document, however. What I am trying to do is detect certain files bein
-
Just a heads up, I was using ADDT to build some update and insert forms, I changed the standard submit buttons to images and found that the triggers will not work in IE 6 and 7, worked fine in Firefox, Safari and Opera, but in both versions of IE it
-
How do I uninstall iPhoto following a rubbish update.
My wife and I recently accepted the latest download for iPhoto, no choice! Following that, iPhoto does not work on either our MacBook Pro or our iMac. Apple, forever helful told me to eith pay £200 for support or get it off the internet. Basically I
-
I have Photoshop CS5 Extended and it says updates available but when i download the updates it says updates failed please try again later, i have tried a few times and get the same message any help would be great i am running 64bit on windows 8.
-
How to delete downloaded themes
Help!!! How do I delete themes for my Nokia N95 that I have dowloaded from Zedge? I follow the instructions it says on screen and nothing happens. Can anyone help please?? Solved! Go to Solution.