ob Du den Key über
key$ = frontenddoc.e4fldDokArt(0) oder
fieldgettext aus der UI Klasse Dir holst, spielt in Deinem Ansatz so wie das sehe keine Rolle.
"Regel": solange man nicht als User am PC etwas anzustoßen hat, benötigt man eigentlich keine Frontendklassen.
Interessant finde ich die Schleife
Set item = doc.GetFirstItem("e4fldDokArt")
Nachdem Du Dir also außerhalb der Schleife den Searchkey gebildet hast, läßt Du Dir noch vor Eintritt der Schleife die entspr. Docs holen, nur um in der Schleife das Item mit ebendiesem Wert zu besetzen. Etwas ... selbstbeschäftigend, oder?
Irgendwo muß da noch ein Haken sein, worauf Du hinauswillst.