Mit diesem CL-Befehl kannst du Auswahl 25 aus einem Programm aufrufen:
FNDSTRPDM STRING(&SUCHBEGR) FILE(&LIB/&FILE) MBR(&MBR) +
OPTION(&AKTION) CASE(&CASE) +
PRTMBRLIST(&PRTMBRLIST)
&SUCHBEGR - ist klar
&LIB/&FILE - auch!
&MBR - *ALL durchsucht alle Sourcen
&AKTION - es sind alle mit F16 im PDM hinterlegten benutzerdefinierten Auswahlen erlaubt. Keine Auswahl ist *NONE, anzeigen *DSP, editieren *EDT (warum hier die Auswahlen nicht gehen bleibt IBMs Geheimnis?)
&CASE - *IGNORE nicht Case-sensitive suchen, *MATCH Case-sensitive
&PRTMBRLIST - *YES Druckausgabe, *NO keine Druckausgabe

Ansonsten kann man aber auch mit SQL auf die Sourcen zugreifen, man muss vor dem Select einen Alias auf die entsprechende Teildatei setzen.
cmd = 'create alias qtemp/sourcembr for ' + %trim(P#SrcLib)
+ '/' + %trim(P#SrcFile) + ' (' + %trim(P#SrcMbr) + ')';
exec sql prepare crtcmd from :cmd;
Und nach dem Select wieder entfernen:
exec sql drop alias qtemp/sourcembr;

Dein Problem könntest du vielleicht mit einem SQLRPGLE-Programm lösen, dass du aus PDM über eine benutzerdefinierte Auswahl aufrufst. Dieses Programm durchsucht einen Member und schreibt die Treffer in deine Zieldatei. Und für alle zu durchsuchenden Quelldateien rufst du den oben beschriebenen FNDSTRPDM auf, als Aktion deine Auswahl.

Gruß
Thomas