<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hello,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Please find in the attachment an updates fix for your case. I don't know the PICA format so you need to edit the Fix a bit to place the output of the 700 field in the correct PICA field.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">The trick is that for MARC we have a special
 `</span><span style="font-family: Menlo; font-size: 14px; color: rgb(0, 0, 0);">do marc_each()</span><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">` binding,
 that loops over every field in the MARC record and execute all the fixes in the `do` block.</span></p>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></p>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">With `marc_has` you can select to execute
 only the fixes if a marc field matches some tag. The rest is a bit copied from your code and making sure with force_new of pica_add that for every 700 field a new pica field gets created.</span></p>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></p>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">BR</span></p>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Patrick</span></p>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> librecat-dev-bounces@lists.uni-bielefeld.de <librecat-dev-bounces@lists.uni-bielefeld.de> on behalf of Siebert, Dr. Martina <Martina.Siebert@sbb.spk-berlin.de><br>
<b>Sent:</b> 05 December 2023 18:46<br>
<b>To:</b> librecat-dev@lists.uni-bielefeld.de <librecat-dev@lists.uni-bielefeld.de><br>
<b>Subject:</b> [librecat-dev] Processing multiple 700 (author) fields to PICA</font>
<div> </div>
</div>
<style>
<!--
@font-face
        {font-family:Wingdings}
@font-face
        {font-family:"Cambria Math"}
@font-face
        {font-family:DengXian}
@font-face
        {font-family:Calibri}
@font-face
        {}
@font-face
        {font-family:Consolas}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
a:link, span.x_MsoHyperlink
        {color:#0563C1;
        text-decoration:underline}
a:visited, span.x_MsoHyperlinkFollowed
        {color:#954F72;
        text-decoration:underline}
span.x_E-MailFormatvorlage17
        {font-family:"Calibri",sans-serif;
        color:windowtext}
.x_MsoChpDefault
        {font-family:"Calibri",sans-serif}
@page WordSection1
        {margin:70.85pt 70.85pt 2.0cm 70.85pt}
div.x_WordSection1
        {}
-->
</style>
<div lang="DE" link="#0563C1" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal">Hello,</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal"><span lang="EN-US">I have done “do list(path:…, var:…)” processing of multiple authors to PICA+ in the past. That time from XML and JSON sources. Now I got completely stuck when trying to do this from MARC 700 when keeping the family,
 personal name info </span><span lang="EN-US" style="font-family:Wingdings">L</span><span lang="EN-US"></span></p>
<p class="x_MsoNormal"><span lang="EN-US">I attach an example record with a first (100) and two second authors/contributors (700).</span></p>
<p class="x_MsoNormal"><span lang="EN-US"> </span></p>
<p class="x_MsoNormal"><span lang="EN-US">For the first 100 author I did this (maybe more complicated than necessary ;)</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black">set_array(pica)</span></p>
<p class="x_MsoNormal"><span lang="EN-US"> </span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black">## get authors etc.</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black"># author</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black">marc_map(100a,author1)</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black">split_field(author1,', ')</span></p>
<p class="x_MsoNormal"><span lang="EN-US"> </span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black"># put authors etc.</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black">pica_add(author1.1,028A$d,record:'pica')</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black">pica_add(author1.0,028A$a,record:'pica')</span></p>
<p class="x_MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas; color:black"> </span></p>
<p class="x_MsoNormal"><span lang="EN-US" style="font-family:Consolas; color:black">move_field(pica,record)</span></p>
<p class="x_MsoNormal"><span lang="EN-US" style="font-family:Consolas; color:black"> </span></p>
<p class="x_MsoNormal"><span lang="EN-US">I have tried the same with 700 guys but got lost in do list() loops and how to get the data in the correct order (first $d personal name then $a family name) into PICA+ 028C.</span></p>
<p class="x_MsoNormal"><span lang="EN-US"> </span></p>
<p class="x_MsoNormal"><span lang="EN-US">Can anyone help?</span></p>
<p class="x_MsoNormal"><span lang="EN-US">Best,</span></p>
<p class="x_MsoNormal"><span lang="EN-US">Martina</span></p>
<p class="x_MsoNormal"><span lang="EN-US"> </span></p>
<p class="x_MsoNormal"><span style="font-size:8.0pt; font-family:"Arial",sans-serif">______________________________________________</span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt">Dr. Martina Siebert                                                                               
</span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt">Ostasienabteilung </span><span style="font-size:9.0pt">| CrossAsia</span><span style="font-size:9.0pt"></span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt">Staatsbibliothek zu Berlin – Preußischer Kulturbesitz</span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt"><a href="mailto:martina.siebert@sbb.spk-berlin.de"><span style="color:#0563C1">martina.siebert@sbb.spk-berlin.de</span></a></span><u><span style="color:#0563C1"></span></u></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt"><a href="http://www.staatsbibliothek-berlin.de/" originalsrc="http://www.staatsbibliothek-berlin.de/" shash="M5U40gQyn3yxK9sVzha0ZlTwSo2d/R79ssuNOgXXP0hFCzG+66RVQoD1CB90TvcnlVA59lAyjb0M3/tBl1MI9op4k/UcAFfJ8fdCpy5k4OkhxGaS9X5sIQ6k/m6qpbEjQnLowBAbKNoqRFKZgGuctvBQwb8E4XtcXAVh9ESEzjg="><span style="color:#0563C1">www.staatsbibliothek-berlin.de</span></a></span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:9.0pt">Im Rahmen der E-Mail-Kommunikation werden gegebenenfalls personenbezogene Daten verarbeitet.
<br>
Unsere Hinweise zum Datenschutz finden Sie hier: <a href="http://sbb.berlin/datenschutz" originalsrc="http://sbb.berlin/datenschutz" shash="HwJDo+tElGvZSc0tW3D/p+maEoaJKGf/CvnEemoRe8HwOeica1dxpFeGqoFlC/RAn9Atuvve5TdRPl6nU9DLBvgdWBHFEznnSa09vf6G6eGoVYPCSBxQmsOxgpSpqFk6Qmmt8BWDpRnbnWVReWQoMUWga8nB60i2vf4/o88D8Cc=" target="_short" title="Kurz-URL">
<span style="color:#0563C1">http://sbb.berlin/datenschutz</span></a></span></p>
<p class="x_MsoNormal"> </p>
</div>
</div>
</body>
</html>