Hot Tip – Zugriff auf Daten des vergangenen Monats mit Query/400

11. November 2008 | Von | Kategorie: Tools, Hot-Tips

Ein Internet-Artikel der NEWSolutions – Daten aus dem vergangenen Monat können einfach mit Query aus den betroffenden Dateien extrahiert werden.

von Bruce Dales und Gary Guthrie

Bruce Dales ist systems software manager bei Galexis AG, Schweiz; Gary Guthrie, ist senior technical editor der NEWSolutions. Übersetzt und für den deutschsprachigen Markt überarbeitet von Joachim Riener

Oft werden Berichte benötigt, die auf Daten aus dem vergangenen Monat basieren. Es gibt eine einfache Möglichkeit, die erforderlichen Informationen mit Query aus den betroffenen Dateien zu entnehmen. Zuerst wollen wir uns ansehen, wie sich die in einer Transaktionsdatei enthaltenen Daten des vergangenen Monats mit Hilfe des Transaktionsdatums (Feld TranDate) extrahieren lassen.

Hierzu nutzen wir die datumsbezogenen Funktionen der Query Ergebnisfelder, um die Beginn- und Enddaten des vergangenen Monats abzuleiten. Folgendes ist in der Query/400 Ergebnisfeldanzeige anzugeben:

Field			Expression
MONTHEND		Current(Date) - 
			Day(Current(Date)) Days

MONTHBEGIN		MontEnd - Day(MonthEnd) Days + 1 Day

Die Funktion Current stellt das aktuelle Datum, die Zeit, den Zeitstempel oder die Zeitzone des Systems zur Verfügung. Die Funktion Date isoliert das Datum aus diesem Wert. Durch die Formulierung Current(Date) wird als Ergebnis das aktuelle Datum in ein Datumsfeld ausgegeben. Die Funktion Day liefert den numerischen Wert des Tages aus einem Datum oder einem Zeitstempel. In unserem Beispiel ist das Ergebnis der aus dem heutigen Datum isolierte Tag.

Die Funktion Days liefert den numerischen Wert eines Datums, eines Zeitstempels oder einer Zeichenkette, die ein Datum repräsentiert. Das Ergebnisfeld MonthEnd resultiert aus dem heutigen Datum abzüglich der Anzahl von Tagen, die dem aus dem heutigen Datum entnommenen Tag entspricht. Wäre das heutige Datum beispielsweise der 04.07.2002, wäre das zu ermittelnde Monatsende der 04.07.2002 abzüglich vier Tage, somit der 30.06.2002. Auf ähnliche Weise werden die Funktionen Day und Days eingesetzt, um das Datum des Monatsbeginns (MonthBegin) zu ermitteln.

Schlagworte: , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.