|
From: Buck
The purchasing agent calls you up and places an order. Salt, pepper,
cups, ketchup packets and pencils. Your order entry catches the cups,
ketchup and pencils and your order desk tells the agent that you need a
new order for that stuff.
The purchasing agent does her magic to generate a new, proper PO and you
cause the salt and pepper order to update/process. The purchasing agent
then gives you the new order of ketchup, cups and pencils. Your order
entry validates that all those items are non-condiments. While doing
that, the head office calls in and adds ketchup packets to the list of
condiments. They're talking to a different person, in another office,
completely unaware that one of the purchasing agents is giving you an
order at this moment.
So. Between validation (which passed) and update, the underlying RI
situation has changed. If your order entry program simply updates the
order without checking again, the customer will get an improper order,
delivery and invoice. Bad mojo, so you of course have validation in the
update cycle too. But there is still a window between CHAIN, validate
and UPDATE where the underlying RI situation can change as part of a
proper, normal process.
Most RPG programmers get away with not worrying about that window
because it's pretty small, and their transaction rate isn't high enough
to statistically expect an RI change occurring within that window. But
once you've had a multi-million-dollar customer chew you out for not
keeping orders/deliveries/invoices straight, you have a tendency to
avoid future problems of that sort.
No, I suppose commitment control isn't for every situation, but this was
a real situation. It was pure RPG (no SQL) and it was way simpler to
implement than any home-grown alternative.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.