Chris,
Er, ok, to correct myself, I meant to say that there's an infinite loop possibly caused by cyclic
dependencies in the SECAs. So suppose we have these events:
A. Postman rings my doorbell
B. I answer the front door
C. My dog growls
D. Postman leaves my front door
E. I close front door and get back to my chores
F. My dog goes back to his toys
Then consider these SECAs:
1. A triggers B and C
2. C triggers D
3. D triggers E and F
4. E and F triggers A
You don't encounter this infinite... erm... execution of this set of services? This... "loop"
thing? I pretty sure cancellation of order items in an SO doesn't complete execution.
Jonathon
Chris Howe wrote:
Regarding your "infinite loop", there is no loop.
Each of those services are being called because the
service changeOrderItemStatus ran (and certain
conditions for each of the SECAs were met)
--- Jonathon -- Improov <[EMAIL PROTECTED]> wrote:
I have a few small questions related to the bigger
question in email subject. I hope someone can
answer those offhand. I hit a problem while testing
(infinite loop), so I can't explore this
aspect of OFBiz beyond the show-stopper.
How does ofbiz handle revisions to SOs and POs? Any
change histories kept?
I see that shipping information can be changed.
Again, any change histories kept? Is the
"splitting preference" change reversible? I changed
an SO to allow for split but couldn't reverse
that decision.
Any change histories for "Contact Information"?
Ok, I'm done with my questions. And now, to share
what I found about the infinite loop.
Before I investigate further and post to JIRA, I'm
wondering if someone can tell me quickly
whether cancellation of order items for SO is
supposed to work?
To reproduce infinite loop, try ordering a PC001,
then go to Order module and bring up SO, then
try canceling an order item.
Here's what I see as the contents of the loop
(though I could be wrong and those calls could be
correctly repeated SO MANY TIMES, unlikely?):
SECA: cancelOrderInventoryReservation, triggered by
rule on Service: changeOrderItemStatus
SECA: recalcShippingTotal, triggered by rule on
Service: changeOrderItemStatus
SECA: recalcTaxTotal, triggered by rule on Service:
changeOrderItemStatus
SECA: resetGrandTotal, triggered by rule on Service:
changeOrderItemStatus
SECA: checkOrderItemStatus, triggered by rule on
Service: changeOrderItemStatus
SECA: sendOrderChangeNotification, triggered by rule
on Service: changeOrderItemStatus
SECA: recreateOrderAdjustments, triggered by rule on
Service: cancelOrderItem
Jonathon