Also: der SQL-CALL ist eine SQL-Anweisung wie SELECT mit dem Unterschied, dass eben eine Prozedur (ein externes Programm) auf dem Zielrechner aufgerufen wird.
Der CALL gehört zum Funktionsumfang von SQL, bedarf keines speziellen Treibers und wird auch via ODBC/OLEDB aufgerufen.
Der Vorteil liegt einfach darin, dass ich ein Programm aufrufe, dass einfach mehr kann als ein direkter SQL-Befehl.

Auf der AS/400 gibt es keine spezifischen COBOL-Indexdateien, sondern ganz normale PF's und LF's, die auch per SQL angesprochen werden können.
Es stellt also kein Problem dar, die Datei-Zugriffe als embedded SQL-Zugriffe umzustellen. Performance-Einbussen gibt es nur über das Netz.
Das größere Problem ist wohl eher die 5250 in eine GUI zu übersetzen. Sicherlich gibt es da genug Tools, aber "schön" ist das eher nicht. Also erfordert das hier ggf. ein Redesign.

Die Batchprogramme stellen nun mal überhaupt kein Problem dar.

Die "vernünftige" Alternatve zu SQL ?
Die muss wohl erst noch erfunden werden.

Warum gibt es dann soviele Datenbanken, insbesonders bei PC-Anwendungen wie MS-SQL-Server, MySQL, Firebird, MS-Access und und und... ?

Weil SQL eine genormte Schnittstelle zu Dateisystemen bietet und sehr einfach zu handhaben ist.

Also nochmal:
Warum etwas neues erfinden, wenn SQL alles bietet was man braucht ?