Hello, I've just noticed that our parts labels are somewhat messed up because 
different locations have been using different formats for entering month 
abbreviations.  So for one record we have "AUG", "AUG ", "Aug","August","aug."  
all being used.  This makes the process of placing a request for a specific 
part much more exciting for users since instead of 12 options they have <num 
variants>x12 to choose from in the dropdown.

Has anyone gone through a cleanup of their part labels before?  Would you have 
any scripts that I can take a look at?

I've been trying to figure out if this can be done purely in sql or if a script 
is needed.  I'm guessing that a script will be needed since in some cases the 
correct label entry will exist, so the asset.copy_part_map will need to be 
modified to point to the correct label, and in other cases the 
biblio.monographic_part entry can just be updated.  Along with specifying the 
mapping patterns.

Although maybe just handling the two cases separately would work fine.  
Something like.
"-update labels where there is no correct entry.
UPDATE
biblio.monograph_part AS bmp SET
label='JAN'
FROM
(
SELECT DISTINCT ON (bmp.record)
bmp.id, bmp.record
FROM
biblio.monograph_part AS bmp
WHERE
bmp.label IN ('jan.','JAN ','jan','JANUARY','Jan')
AND NOT EXISTS (
SELECT id
FROM biblio.monograph_part
WHERE label='JAN' AND record=bmp.record)
ORDER BY bmp.record
) AS sub
WHERE
bmp.id=sub.id
;

Then figure out how to do the same for the case where the correct label already 
exists.  Update asset.copy_part_map to point to the correct entry.  Then look 
for holds that were referencing the non-standard part labels and update them.  
And finally delete all the biblio.monograph_part entries that are not 
referenced in asset.copy_part_map for cleanup.

If anyone has any suggestions I would appreciate it.
Thanks
Josh

Reply via email to