[ic] Begin,Commit,Rollback the tables when processing a order
cui yuming
cui_yuming at hotmail.com
Mon Nov 10 11:08:45 EST 2003
Hi,all
when processing an order,many rows will be inserted to multiple tables.
but when a row of them can't be inserted,i hope ic can rollback the rows
which have been inserted.
I have try to set the Route's attribute rollback and rollback_tables,but it
does not worked as i want.
(description:what i do is enter a order in UI, i add two rows into
catalog.cfg as below:
Route entry rollback 1
Route entry rollback_tables '__TRANSACTION_TABLES__'
)
So below is full configuration about order route in my catalog.cfg:
## This route places the order entry in the database. If you don't
## have an inventory table (or a userdb table for that matter) make
## sure you remove it from the list of "transactions" tables.
Route log <<EOF
empty 0
encrypt 0
increment 0
report etc/log_transaction
supplant 0
track logs/log
EOF
## This route places the order entry in the database when you are
## entering an order from the admin. See above.
Route log_entry <<EOF
empty 1
encrypt 0
report etc/log_entry
supplant 0
track logs/log
EOF
## This route copies the user if they requested that. We don't
## care (much) if it fails, so error_ok is set and failure will
## not cause the order to fail
Route copy_user <<EOF
empty 1
error_ok 1
encrypt 0
increment 0
report etc/mail_receipt
supplant 0
track logs/log
EOF
ParseVariables Yes
## This route emails the order to you unless email is set to "",
## and failsafe-logs the order report a couple of places
Route main <<EOF
attach 0
credit_card 1
default 1
email '__ORDERS_TO__'
encrypt 0
errors_to '__ORDERS_TO__'
pgp_cc_key "__PGP_KEY__"
pgp_key "__PGP_KEY__"
receipt etc/receipt.html
report etc/report
supplant 1
individual_track orders
track logs/tracking.asc
EOF
## This route emails the order to you unless email is set to "",
## and failsafe-logs the order report a couple of places
Route main_entry <<EOF
attach 0
credit_card 1
email '__ORDERS_TO__'
encrypt 0
errors_to '__ORDERS_TO__'
pgp_cc_key "__PGP_KEY__"
pgp_key "__PGP_KEY__"
report etc/report
supplant 1
individual_track orders
track logs/tracking.asc
EOF
# Order routes can be maintained in a database
# CHANGES TO THIS WILL OVERRIDE THE ROUTES ABOVE.
RouteDatabase route
# Order desk route run if entered from admin
# always
Route entry master 1
Route entry cascade "log main_entry self_define copy_user"
Route entry empty 1
Route entry supplant 1
Route entry no_receipt 1
Route entry write_tables "inventory userdb transactions orderline"
Route entry transactions '__TRANSACTION_TABLES__'
Route entry email '__ORDERS_TO__'
Route entry rollback 1
Route entry rollback_tables '__TRANSACTION_TABLES__'
# Default route is run if no routes set, this should be last Route
# always
Route default master 1
Route default cascade "log main copy_user"
Route default empty 1
Route default supplant 1
Route default write_tables "inventory userdb transactions orderline"
Route default transactions '__TRANSACTION_TABLES__'
Route default email '__ORDERS_TO__'
## Uncomment this if you want Routes read dynamically from DB
#Route default dynamic_routes 1
## Uncomment this if you want ITL allowed in routes
#Route default expandable 1
Thanks in advance!!!
Cui
_________________________________________________________________
Ãâ·ÑÏÂÔØ MSN Explorer: http://explorer.msn.com/lccn/
More information about the interchange-users
mailing list