Das was du da an Code geschrieben hast und das was du als Frage formuliert hast hat nichts aber auch absolut gar nichts miteinander zu tun.
Gefragt hast du nach einer Methode mit der du aufgrund von Schlüsselfeldern Dokumente finden und die gefundenen Dokumente dann ausdrucken kannst.
Dein Code geht erst auf die unprocessed Documents Eigenschaft der Datenbank los, die für sich schon abhängig vom Kontext sehr variabel ist, um dann in einer Ansicht ein Getnextdocument bezogen auf das erste unprocessed document zu machen, welches ein Xdoc Objekt erzeugt, das hinterher das Doc aus den Unprocessed Dokuments überschreibt. Dann vergleichst du das gefundene Doc mit dem Uidoc aus dem du das Ganze wohl irgendwie aufrufst, was wiederum mit deiner Beschreibung eines "Agents" kollidiert, denn da hat man (sollte man haben) in der Regel kein Uidoc, und um die Verwirrung komplett zu machen speicherst und druckst du dann das Uidoc aus in dem du deine Werte eingetragen hast und nicht das Dokument das du gefunden hast.
Aus der Beschreibung heraus merkst du jetzt vielleicht wie Wirr dein Konstrukt als Ganzes ist.
Also bitte ich dich für das folgende schon mal im Voraus um Entschuldigung denn du wirst das nicht gerne hören wollen
.
Bitte lern doch erst einmal strukturiert zu denken, bevor du Codeschnipsel von anderen die du nicht verstanden hast abänderst.