ich muss in einem Report die Tabelle BSEG mit sehr vielen Einträgen in einer Textdatei sichern. Der Download wird mit dem FB GUI_DOWNLOAD durchgeführt. Aber nun zur Datenbeschaffung:
Da die Tabellen sehr gross sind wollte ich mit zunächst über Buchungskreis und Geschäftsjahr loopen und danach SELECT * FROM BSEG INTO XY UP TO 100000 ROWS WHERE BUKRS= .. AND GJAHR = ... arbeiten.
Doch nun hab ich das Problem, dass ich dann ja für das nächste Datenpaket als zusätzlichen Schlüssel die Belegnummer brauche. Wie stelle ich fest, dass die Daten beim Auslesen sortiert sind?
Oder hat jmd eine andere Idee?
bei einer "normalen" transparenten Tabelle würde ich einen DB-Cursor setzen und in "größeren" Paketen lesen und auf die Textdatei wegschreiben.
Wenn die BSEG noch eine Pooltabelle ist (was ich annehme) funktioniert das leider nicht.
Aber eigentlich könnte doch der DB-Administrator die Tabelle exportieren, wenn es unbedingt sein muß. (was ich allerdings heimlich bezweifele ...)
Gruß
babap
aber frag mich bitte nicht, ob sie es brauchen. Ich soll nur das Programm schreiben Und die Daten sollen per Report abgezogen werden.
Aber wie sieht es ggf. mit Packing size und select..EndSelect aus? Vielleicht passt das ja.
Bei den "historischen" Zugriffen mit SELECT ... ENDSELECT bekommst du jeden Datensatz einzeln angeliefert. Dann zählst Du einfach selbst, wieviel Du schon hast.
Und dann bei egalwievieltaussend "raus damit" und weiter "gejuckeltt".
Das "Repörtchen" muß ja kein Performancewunder sein.
Gruß
babap.
P.S. oder noch easyer, bei jedem Durchlauf einen Datensatz an die vorhandenen Datei ranhängen ... (Zugriffszeit, Performance, Last, ist doch egal für das eine mal ...)