Code:sequential Update()
// I: input, C: correct, D: delete
getNextTrans();
getNextMaster();
while (masterKey ≠ EOF and transKey ≠ EOF) do {
if(masterKey < transKey) then {
output master record to new master;
getNextMaster();
} else { // if masterKey >= transKey
if ( masterKey = transKey) then {
case {
code = 'I':
print "error: duplicate record key";
getNextTrans();
code = 'C':
make change in master record;
output master record to new master;
getNextTrans();
getNextMaster();
code = 'D':
getNextMaster();
getNextTrans();
else:
print 'error: invalid update code';
getNextTrans();
} // end case
} else { // if masterKey > transKey
noMatch();
}
}
end // sequentialUpdate()
getNextTrans()
if (trans is end of file)
then transKey <- EOF
else input transaction record;
end //getNextTrans()
getNextMaster()
if (master is end of file)
then masterKey <- EOF
else input master record;
end //getNextMaster()
noMatch()
//if masterKey > transKey
case {
code = 'I':
build new record from trans record;
output new record to new master;
getNextTrans();
code = 'C':
print 'error: no matching master record for trans key;
getNextTrans();
code = 'D':
print 'error: invalid update code';
getNextTrans();
else:
print 'error: invalid update code';
getNextTrans();
}
} //end case
end //noMatch
can anyone describe it to me pls.