Die Definition der Art Zugriffes wird zur Compilezeit (egal welche Sprache) entschieden.
Hier wird das sog. "Naming" verwendet:
*SYS = Suche über Bibliotheksliste, Qualifiziert in der Form "Schema/Name"
*SQL = Suche über Standardschema, Qualifiziert in der Form "Schema.Name"
Schema = Bibliothek
Beim Verbindungsaufbau zur DB wird automatisch, falls vorhanden, eine Lib mit dem Namen des Users gesucht und als Default eingetragen. Per Set Schema kann das zur Laufzeit angepasst werden.
Nun unterstützt SQL leider nur ein Default-Schema, so dass ohne weitere Qualifizierung beim Naming = *SQL sowohl Prozeduren und Funktionen als auch Tabelle und Views in derselben Lib gesucht werden.

Nun muss man also für die Anwendung generell entscheiden:
Packt man alles in genau 1 Lib?
Trennt man ggf. Programme, Prozeduren, Funktionen von den Daten in 2 oder gar mehr Libs?

Dies bleibt letztlich jedem selbst überlassen.

Meine persönlichen Erfahrungen sind da besser mit dem Typ *SYS, da ich durch entsprechende Reihenfolge der Libs die Zugriffe steuern und auch besser Test- und Echtsysteme trennen kann.

Es gibt aber auch andere Erfahrungen, die besser mit dem Typ *SQL fahren.