Olá Pratap
No contexto do ABAP, as interfaces são apenas de dois tipos.
1) Interfaces de ENTRADA
2) Interfaces de SAÍDA.
ENTRADA: (do sistema externo, os dados são obtidos na forma de arquivos planos que são movidos para as tabelas do banco de dados do SAP).
Neste processo, obtemos dados na forma de arquivos planos (.txt ou .xlx). Leemos esses dados dos arquivos utilizando funções como UPLOAD/WS_UPLOAD/GUI_UPLOAD em tabelas internas. E utilizando métodos BDC ou a ferramenta LSMW, atualizaremos as tabelas do banco de dados com esses dados.
SAÍDA: (Os dados do banco de dados do SAP são recuperados e armazenados como arquivos planos no servidor de apresentação ou no servidor de aplicativos)
Neste processo, recuperamos dados utilizando declarações SELECT das tabelas do banco de dados e populamos as tabelas internas. Conforme necessário, utilizamos funções como DOWNLOAD/WS_DOWNLOAD/GUI_DOWNLOAD para escrever dados das tabelas internas para arquivos planos no servidor de apresentação.
*As funções mencionadas anteriormente funcionarão para arquivos no servidor de apresentação (sistema de arquivos local). Se desejar lidar com arquivos no servidor de aplicativos, utilize DATASET.
Outras tecnologias que você mencionou como RFC, BAPI, EDI, ALE, IDOCS, etc. podem ser utilizadas como parte do código da interface.
Saudações
Sreeni