Just one comment -- Don't forget to DBUNLOCK *after* your call to either DBXEND or DBXUNDO Brian. On Wed, 1 Jun 2005 17:02:10 -0400, Olav Kappert <[log in to unmask]> wrote: >Image question using Cobol. > >~~~~~ >i have 2 dbs (A & B). >each db has 10 sets (1 master & 9 details). > >Open both db in mode 1 with concurrent read/modify (modes 1, 5) > >Using dbA master, retrieve chained entries in the other 9 details (not >all DS have a related detail). > >Add master entry to dbB and add entries to respective ds in dbB. > >Delete details and master form dbA. > >All the above must be executed with dynamic rollback (DBXUNDO). >~~~~~ > >My thoughts...... > >Make a call to DBLOCK (entry lock) for each detail ds of dbA followed by >DBLOCK (ds lock) for the master of dbA. > >Next DBLOCK (ds lock) for dbB and DBLOCK (entry lock) for each of the >details of dbB. > >DBXBEGIN >perform add master to dbB >perform add details to dbB >perform delete details from dbA >perform delete master from dbA >DBXEND > >if there are any errors perform DBXUNDO and go onto the next record. >~~~~~ > >ANY COMMENTS. > >Olav. > >* To join/leave the list, search archives, change list settings, * >* etc., please visit http://raven.utc.edu/archives/hp3000-l.html * * To join/leave the list, search archives, change list settings, * * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *