Comment 3 for bug 1272566

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

I was just looking at this behavior.. and I noticed this error message in the logs.

2022-02-16 15:11:47 virt-egapp2 open-ils.acq: [ERR :17550:Order.pm:4263:1645045643191706] ACQ lineitem update failed to produce a matching marc att
ribute for upc => 4422333332

So the step to create the line item marc with the new UPC info fails...

I wonder if it has anything to do with the acq.lineitem_marc_attr_definition for UPC that says that the indicater 1 needs to be 1.

INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath, remove ) VALUES ('upc', 'UPC', '//*[@tag="024" and @ind1="1"]/*[@code="a"]', $r$(?:-|\s.+$)$r$);

But the code to add in the UPC field doesn't set that?

https://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm;hb=3db8047844d9cb5cb8d78fbac47d72a84808bfda#l4245

4238 my %tags = (
4239 isbn => '020',
4240 issn => '022',
4241 upc => '024'
4242 );
4243
4244 my $marc_field = MARC::Field->new(
4245 $tags{$attr_name}, '', '','a' => $attr_value);

So the newly added UPC never gets found in the lineitem marc, and the change is rolled back?