Schnittstellenbeschreibung für einen Funktionsbaustein, der für die generische Datenextraktion verwendet wird:
I_DSOURCE type SRSC_S_IF_SIMPLE-DSOURCE DataSource
I_INITFLAG type SRSC_S_IF_SIMPLE-INITFLAG Initialisierungsaufruf
I_MAXSIZE type SRSC_S_IF_SIMPLE-MAXSIZE Paketgröße
I_REQUNR type SRSC_S_IF_SIMPLE-REQUNR Requestnummer
I_T_SELECT type SRSC_S_IF_SIMPLE-T_SELECT
I_T_FIELDS type SRSC_S_IF_SIMPLE-T_SELECT
E_T_DATA
NO_MORE_DATA
ERROR_PASSED_TO_MESS_HANDLER
· I_INITFLAG
Dieser Parameter wird beim erstmaligen Aufruf des Funktionsbausteins auf 'X' gesetzt, danach auf ' '.
· I_MAXSIZE
Der Parameter enthält die erwartete Zeilenanzahl, die bei einem Leseaufruf erwartet wird.
...
Der Funktionsbaustein wird während eines Extraktionsprozesses mehrmals hintereinander aufgerufen:
1. Initialisierungsaufruf:
Hier werden ausschließlich die Anforderungsparameter an den Baustein übergeben. Der Baustein kann noch keine Daten übergeben.
2. Erster Leseaufruf:
Der Extraktor liefert in einer Schnittstellentabelle die mit der Extraktstruktur typisierten Daten. Die Anzahl der erwarteten Zeilen ist in einem Anforderungsparameter (I_MAXSIZE) spezifiziert.
3. Zweiter Leseaufruf:
Der Extraktor liefert die an das 1. Datenpaket anschließenden Daten, wiederum in einem Paket mit I_MAXSIZE Zeilen.
4. Der Funktionsbaustein wird nun so lange aufgerufen, bis er die Ausnahme NO_MORE_DATA auswirft. Im Aufruf, in dem die Ausnahme geworfen wird, dürfen keine Daten mehr übergeben werden.
Ein Beispiel für einen Funktionsbaustein, der diesen Anforderungen entspricht, ist RSAX_BIW_GET_DATA_SIMPLE. Ein einfaches Vorgehen zum Anlegen eines syntaktisch korrekten Bausteins ist, diesen in eine eigeneFunktionsgruppe zu kopieren und die Zeilen des Top-Includes der Funktionsgruppe RSAX (LRSAXTOP) in das Top-Include der eigenen Funktonsgruppe zu kopieren. Danach muss der kopierte Funktionsbaustein an die eigenen Anforderungen angepasst werden.