Fetching interne Tabelle

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Fetching interne Tabelle

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Hallo Abap Experten,

ich möchte eine Internetabelle modifizieren, aber die Tabelle hat meh als 1.000.000 Einträge. Deswegen möchte ich zuerst erste 20.000 Sätze modifizieren, dann weitere 20.000.
Kann es gehen?
Wenn ja, wie?

Ich bitte um dringende Hilfe!!!!

Liebe Grüße,
jeyloeso

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Fetching interne Tabelle

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
hi!

Was meinst du mit "Internetabelle"?

Eine "Interne Tabelle"?

Code: Alles auswählen.

LOOP AT ... FROM ... TO ...
Eine "Datenbank Tabelle"?

Code: Alles auswählen.

SELECT ... INTO TABLE ... PACKAGE SIZE ...
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Fetching interne Tabelle

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Hallo,

ich habe z.B die Tabelle ce10101 und die Tabelle hat 2.000.000 Einträge, nehme ich an.
Ich möchte ein Update auf diese Tabelle machen. Da die Sätze zu viel sind, dauert mit Select sehr sehr lang. Ich will deshalb zuerst 20.000 von dieser 2.000.0000 auslesen und modifizieren, dann weiter 20.000
also d.h beim zweiten Lauf muss ich mit 20.001. Satz beginnen?

Wie kann ich es machen? Ist es möglich?

Gruß.
Jeyloeso.

Re: Fetching interne Tabelle

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
a-dead-trousers hat geschrieben:Eine "Datenbank Tabelle"?

Code: Alles auswählen.

SELECT ... INTO TABLE ... PACKAGE SIZE ...
In deinem Fall würde das dann so ausschauen:

Code: Alles auswählen.

DATA: lt_table TYPE STANDARD TABLE OF ce10101 WITH DEFAULT KEY.
SELECT * 
  FROM ce10101
  INTO TABLE lt_table PACKAGE SIZE 20000.
* Hier deine Verarbeitung rein
* lt_table enthält genau 20.000 Datensätze (oder weniger wenn das Ende erreicht wurde)   
ENDSELECT.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
jeyloeso

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Fetching interne Tabelle

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Hallo,

danke für deine Hilfe aber hier habe ich eine Frage und zwar wie kann ich zuerst die ersten 20.000 Sätze updaten, dann weiter 20.000 Sätze?

Innerhalb Select kann ich nicht ein Update machen. Hast du vielleicht hier einen Vorschlag?

Gruß,
Jeyloeso

Re: Fetching interne Tabelle

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
hi!

Das sollte eigentlich funktionieren...
(Habs jetzt aber noch nie ausprobiert)
Möglich, dass im Kontext von SELECT - ENDSELECT kein UPDATE möglich ist.

Du könntest noch die DB-Cursor ausprobieren.
Die funktionieren so ähnlich wie das SELECT mit PACKAGE SIZE nur bist du dann nicht mehr im Kontext vom SELECT und solltest daher das UPDATE durchführen können.
Siehe auch ABAP-Hilfe zu OPEN CURSOR.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4824
Views
5
Antw.
6014
Views
Inhalt interne Tabelle an andere interne Tabelle übergeben
von L0w-RiDer » 30.01.2020 16:28 • Verfasst in ABAP® für Anfänger
5
Antw.
5604
Views
1
Antw.
5150
Views

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.