Da Prozeduren überladen werden können, d.h. die gleiche Prozedur (bzw. gleicher Prozedur-Name) jedoch mit einer unterschiedlichen Anzahl von Parametern kann in der gleichen Bibliothek mehrfach vorhanden sein. Um an dieser Stelle auch die richtige Prozedur aufzurufen verwendet man den spezifischen (eindeutigen) Namen der Prozedur, alternativ kann man and dieser Stelle aber auch die Parameter-Definition angeben.
Wenn es nur eine einzige Stored Procedure (mit dem gleichen Namen) gibt, kannst Du an dieser Stelle auch den Namen der Stored Procedure angeben.

SQL-Code -501 bedeutet, dass der Cursor nicht geöffnet ist.

Wenn Du die Stored Procedure aus ACS (Access Client Solutions) - Run SQL Skript (oder auch mit Client Access) mit dem SQL-Befehl CALL aufrufst, bekommst Du dann eine Ergebnis-Tabelle angezeigt oder erhältst Du eine Fehlermeldung?

Wo genau (nach welchem Statement) erhälst Du den SQLCODE -501?

Um ein Result-Set auszugeben, muss der entsprechende Cursor in der Stored Procedure geöffnet werden und darf vor Ende der Prozedur nicht mehr geschlossen werden. (Das machst Du nämlich dann in Deinem Verarbeitungs-Programm).
Ich vermute der Programmierer hat entweder nur den Cursor definiert (darauf können wir nicht zugreifen) und nicht geöffnet (dann können wir das Result-Set verarbeiten).
Oder er hat den Cursor geöffnet, aber sicherheitshalber vor dem Ende der Prozedur wieder geschlossen.

Im übrigen solltest Du mit ACS (Access Client Solutions) Datenbank - Schemas und/oder Run SQL Script arbeiten. Mit ACS Schemas kannst Du Dir alle Datenbanken-Objekte anschauen, hier siehst Du auch die langen System und kurzen SQL-Namen.
Mit Run-SQL Script (ich hab' nur die Englische Version) führst Du SQL-Statements aus. Bei der aktuellen Version gibt es keine Ausrede mehr, warum STRSQL (das bereits seit Release V4R5 stabilisiert ist) verwendet werden sollte.

Birgitta