Hi Sascha,
OpenACS is written in TCL, as you knew already. The database layer uses of course SQL and either PL/SQL or PL/pgSQL ("procedural" SQL) depending on the underlying database (Oracle/PostgreSQL).
OpenACS *is* the framework. It translates the request (see https://openacs.org/doc/openacs-5-1/request-processor.html) to a pair of tcl/adp files (see https://openacs.org/doc/openacs-5-1/templates.html). The TCL file contains the application logic for that page and the ADP file is the presentation template. The returned HTML file is the result of processing these files.