Ansicht
Dokumentation
CL_RSDRV_EXTERNAL_IPROV_SRV - Service Klasse für lokale externe (virtuelle) infoprovider
BAL Application Log Documentation PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Diese Klasse hilft bei der Implementierung eines lokalen virtuellen Infoproviders, (nach BW -Terminologie inzwischen ebenfalls ein REMOTE Infoprovider) der auf einer beliebigen Datenbanktabelle oder View basiert. Dabei müssen nicht alle in der Datenbanktabelle enthaltenen Felder auch Infoobjekte zugeordnet werden, es müssen auch nicht alle Infoobjekte des Providers eine Entsprechung in der Tabelle enthalten.
Verwendung:
Im Konstruktor wird eine Abbildung der Merkmale und Kennzahlen des Providers zu den Feldnamen der Datenbanktabelle sowie der Name der Tabelle mitgegeben. Nur die in der Mapping-Tabelle enthaltenen Infoobjekte werden auch beim Bau des SQL-Statements berücksichtigt.
Die Lebensdauer des Objekts ist auf einen Zugriff beschränkt. Das bedeutet, immer wenn ein neuer Zugriff erfolgt, muß das Objekt neu instantiiert werden.
Wenn das SQL-Statement nicht mehr selbst modifiziert werden muß, kann die Methode open_cursor verwendet werden, die das SQL Statement aufbaut.
Danach werden mit der Methode fetch_data die Daten paketweise abgeholt und über die Schnittstelle des Providers zurückgegeben. Die Paketgröße wird dem Funktionsbaustein des Infoproviders mitgegeben. Die Methode fetch_datadarf pro Aufruf des Infoproviders nur einmal aufgerufen werden, denn sonst wird der aktuelle Inhalt der Rückgabetabelle e_t_data von den gelesenen Daten überschrieben.
Alternativ dazu können die Bausteine des SQL-Statements über die Methoden build_select_list und build_where_conditions zusammengebaut werden. Diese Bausteine können dann noch verändert werden, um etwa zusätzliche Bedingungen einzufügen, die nicht vom OLAP-Prozessor stammen.
In diesem Fall muß das Lesen der Daten mittels Open-SQL selbst implementiert werden, die Implementierung der Methoden open_cursor und fetch_data kann dann als Vorbild dienen.
In jedem Fall können die Daten vor der Rückgabe natürlich noch beliebig modifiziert werden, falls die Implementierung des Infoproviders dies erfordert.
Beziehungen
Die Klasse CL_RSDRV_REMOTE_IPROV_SRV enthält Services für remote Infoprovider (BAPI-Schnittstelle).
Beispiel
Hinweise
Auf Public - Typen einer Klasse kann von außerhalb der Klasse über Klassenname=>Typname zugegriffen werden. Die Mapping-Tabelle als Parameter des Konstrukturs wird in den lokalen Daten des Infoprovider-Funktionsbausteins mit der Anweisung
DATA:
l_s_iobj_sid_mapping TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_S_IOBJ_SID_MAPPING,
l_th_iobj_sid_mapping TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_TH_IOBJ_SID_MAPPING.
deklariert.
Weiterführende Informationen
General Material Data BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 3546 Date: 20240425 Time: 043309 sap01-206 ( 67 ms )