Ansicht
Dokumentation
CL_CLU_SETGET - Tabellencluster sortiert und paketweise lesen
RFUMSV00 - Advance Return for Tax on Sales/Purchases Vendor Master (General Section)Diese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Die Klasse kann verwendet werden, um die Daten eines Tabellenclusters paketweise zu lesen, diese zu verarbeiten, und dann beim nächsten Satz (in Primärschlüsselreihenfolge) wiederaufzusetzen. Das Lesen erfolgt prinzipiell in Primärschlüsselreihenfolge.
Die Klasse implementiert damit eine zu Funktionsbaustein DB_SETGET ähnliche Funktionalität. Die wesentlichen Unterschiede sind:
- Die Klasse kann ausschließlich Daten aus Tabellenclustern lesen. Die Klasse kennt damit auch einige Charakteristika von Tabellenclustern. So werden standardmäßig nur die Sätze mit PAGENO = 0 mandantenübergreifend gelesen. Außerdem ist es möglich, nur die Werte der Schlüsselfelder zu lesen.
- Es können Datenbank-Hints verwendet werden.
Normalerweise reicht es, den Konstruktor sowie Methode NEXT_PACKAGE zu benutzen, um die Daten eines Tabellenclusters zu lesen (siehe das Beispiel weiter unten). Methoden MAKE_FIRST_PACKAGE_WHERE und MAKE_NEXT_PACKAGE_WHERE erlauben es, eine eigene Selektion durchzuführen, ohne die WHERE-Bedingung selbst codieren zu müssen.
Die Klasse hält keinen Cursor offen, d.h. während der Verarbeitung eines gelesenen Paketes können RFCs oder COMMIT WORK verwendet werden.
Die Klasse ist vor allem für Prüfprogramme der allgemeinen Datenbankschnittstelle gedacht.
Beziehungen
Beispiel
DATA:
setget TYPE REF TO cl_clu_setget,
rows_fetched TYPE i,
is_last_package TYPE abap_bool,
cdcls_tab TYPE STANDARD TABLE OF cdcls.
CREATE OBJECT setget
EXPORTING
iv_tabclu = 'CDClS'
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
" Implement error handling
PERFORM error_handling USING sy-subrc.
EXIT.
ENDIF.
DO.
setget->next_package(
EXPORTING
iv_package_size = 5
IMPORTING
ev_rows_fetched = rows_fetched
ev_is_last_package = is_last_package
CHANGING
ct_data = cdcls_tab
EXCEPTIONS
OTHERS = 1 ).
IF sy-subrc NE 0.
" Implement error handling
PERFORM error_handling USING sy-subrc.
EXIT.
ENDIF.
PERFORM do_something TABLES cdcls_tab.
COMMIT WORK.
IF is_last_package = abap_true.
EXIT.
ENDIF.
ENDDO.
Hinweise
Methoden MAKE_FIRST_PACKAGE_WHERE, MAKE_NEXT_PACKAGE_WHERE und MAKE_SINGLE_CLUSTER_WHERE haben einen Parameter für den Namen der Workarea mit den konkreten Werten. Um die erzeugten WHERE-Bedingungen in einem eigenen ABAP-Programm mit dynamischer OpenSQL-WHERE-Bedingung benutzen zu können, muss es eine ABAP Variable vom entsprechenden Workarea-Typ im ABAP-Programm geben.
Weiterführende Informationen
ABAP Short Reference RFUMSV00 - Advance Return for Tax on Sales/Purchases
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 4529 Date: 20240426 Time: 134138 sap01-206 ( 52 ms )