On Fri, Mar 04, 2011 at 10:00:02PM +0100, Repke de Vries wrote: > Apologies Dan for the long gap discussing this - and thanks for your fix > (part of the 2.0.2 release) that makes the Global Flag "Cat: Use internal ID > for TCN value" when set to TRUE, have the same effect for command line > importing bib records as it already had for importing through the GUI. > > However: also the other Global Flag "Maintain 001-003-035 according MARC" > when set to TRUE, behaves differently when importing bib records from the > command line then through the GUI: > > - through the GUI the Control Number in the imported bib record's 001 field > gets pushed to the 035 as expected and the 001 receives the Evergreen > Internal Record ID etc.; and because of the Global Flag "Cat: Use Internal ID > for TCN Value" the TCN follows this Internal Record ID > - importing from the command line the Global Flag setting is ignored however > and the Control Number in the imported bib record's 001 field becomes the new > Evergreen Record ID; the TCN also ignores it's Global Flag Setting - this > latter behaviour has been fixed now (as I understand it)
I think there's a misunderstanding here. The --idfield parameter says "Set the internal record ID to the value of (whatever field --idfield points to)" - which describes the behaviour you're seeing, I think. If you want to disregard the existing 001 value in the records that you're importing, and just use whatever Evergreen gives you, you can import your records as follows: marc2bre.pl input.mrc | pg_loader.pl -or bre -a bre If you're importing from MARC21XML, you'll need to add the "--marctype XML" flag to marc2bre.pl, but you have that part sorted out already. Just drop the --idfield (and --idsubfield) flags entirely if you don't care about them. The part to focus on is the "-a bre" flag from pg_loader.pl; it says "let the database assign a value for this object". So pg_loader.pl doesn't assign any value to the "id" column of biblio.record_entry, in this case; the column isn't specified in the COPY command and the database automatically assigns the next value in its sequence for the biblio.record_entry.id column. And that, in turn, will ensure that the 001 gets populated with that record ID and the old 001 gets pushed to the 035, etc. I think that's what you're looking for?
