GET RUN TIME FIELD für 2 SQL Abfragen vergleichen.

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

GET RUN TIME FIELD für 2 SQL Abfragen vergleichen.

Beitrag von tekko (ForumUser / 60 / 30 / 1 ) »
Hallo Leute,

Code: Alles auswählen.

DATA t1 TYPE i.
DATA t2 TYPE i.


GET RUN TIME FIELD t1.
SELECT * FROM TESTDB INTO TABLE @DATA(lt_table1).
GET RUN TIME FIELD t1.

WRITE t1.


GET RUN TIME FIELD t2.
SELECT * FROM TESTDB INTO TABLE @DATA(lt_table2).
GET RUN TIME FIELD t2.

WRITE t2.
wie kann ich mit 'GET RUN TIME FIELD' die Laufzeit einer Abfrage innerhalb eines Reports vergleichen.

GET RUN TIME FIELD t1 misst die erste Abfrage.
Wenn ich nun GET RUN TIME FIELD t2 anlege, dann startet dieser nicht von null, sondern übernimmt die bereits abgelaufen Zeit. Wie kann ich dafür sorgen, dass die beiden Werte t1 und t2 unabhängig voneinander gemessen werden?

Statt:
t1: 15.000
t2: 30.000

soll stehen:
t1: 15.000
t2: 15.000


Vielen Dank :)

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


Re: GET RUN TIME FIELD für 2 SQL Abfragen vergleichen.

Beitrag von Shortcut IT (ForumUser / 52 / 2 / 18 ) »
Hallo,
du überschreibst das Feld ja jedes mal...
Für vorher und nachher brauchst du 2 Felder.
Hier ein Beispiel:

Code: Alles auswählen.

data: tstart type f,
      tend type f,
      tms type f.
get run time field tstart.
" => hier die Verarbeitung
get run time field tend.
tms = ( tend - tstart ) / 1000.  " microsec to millisec, wenn du willst.
Write: 'Finished. Time for execution (ms):', (12) tms exponent 0.
Viele Grüße
Shortcut IT

Re: GET RUN TIME FIELD für 2 SQL Abfragen vergleichen.

Beitrag von DeathAndPain (Top Expert / 1941 / 257 / 412 ) »
Für vorher und nachher brauchst du 2 Felder.
Die hat er ja auch mit seinem t1 und t2. Der Kern Deiner Antwort ist dennoch richtig: Man muss das vorherige Ergebnis vom nächsten abziehen.

Bei seinem Programm also:
DATA t1 TYPE i.
DATA t2 TYPE i.


GET RUN TIME FIELD t1.
SELECT * FROM TESTDB INTO TABLE @DATA(lt_table1).
GET RUN TIME FIELD t1.

WRITE t1.


GET RUN TIME FIELD t1.
SELECT * FROM TESTDB INTO TABLE @DATA(lt_table2).
GET RUN TIME FIELD t2.

t2 = t2 - t1.

WRITE t2.
@tekko: Wenn Du die Werte nicht nur per WRITE ausgeben, sondern auch intern noch weiter verwerten möchtest, brauchst Du natürlich noch ein zusätzliches Feld, in dem Du Dir den Wert t1 der ersten Messung aufhebst, bevor t1 bei der zweiten Messung überschrieben wird.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
355
Views
5
Antw.
4024
Views
At New <field> gibt immer field trotz gelichen fields
von mnd » 27.04.2012 15:42 • Verfasst in ABAP® für Anfänger
1
Antw.
8731
Views
Time`s up...
von black_adept » 01.08.2005 17:36 • Verfasst in Tutorials & Cookbooks
4
Antw.
3669
Views
GET TIME STAMP
von SAP_ENTWICKLER » 06.06.2016 12:43 • Verfasst in ABAP® Core
8
Antw.
11105
Views
Time Out umgehen, ausschalten
von codierknecht » 23.04.2008 12:52 • Verfasst in ABAP® Core

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 620
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2248
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8837