# yearname - Skript- und Diagrammfunktion

Diese Funktion liefert den Zeitstempel der ersten Millisekunde des ersten Tages des Jahres, in dem date liegt. Das Ergebnis wird als vierstellige Jahreszahl formatiert.

Syntax:

YearName(date[, period\_no[, first\_month\_of\_year]] )

**Rückgabedatentyp:** dual

Argumente:

YearName-Argumente

| Argument | Beschreibung |
| --- | --- |
| date | Das zu berechnende Datum. |
| period\_no | period\_no ist eine ganze Zahl, wobei 0 für das Jahr steht, das date enthält. Negative Werte von period\_no stehen für vorangehende, positive Werte für nachfolgende Jahre. |
| first\_month\_of\_year | Wenn Sie mit abweichenden Geschäftsjahren arbeiten möchten, definieren Sie mit einer Zahl zwischen 2 und 12 für first\_month\_of\_year einen anderen Startmonat. In diesem Fall besteht das Ergebnis aus zwei Jahreszahlen. |

Beispiele und Ergebnisse:

In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Ladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.

Beispiel 1:

`yearname ( '19/10/2001')`

Liefert 2001.

Beispiel 2:

`yearname ( '19/10/2001', -1 )`

Liefert '2000.

Beispiel 3:

`yearname ( '19/10/2001', 0, 4)`

Liefert '2001-2002.

Beispiel 4:

Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

In diesem Beispiel wird ein vier-plus-vier-stelliger Code für die Jahre erstellt, in denen jedes Rechnungsdatum der Tabelle zu finden ist. Das erfolgt deshalb, weil der erste Monat im Jahr als Monat 4 festgelegt wurde.

`TempTable:` `LOAD RecNo() as InvID, * Inline [` `InvDate` `28/03/2012` `10/12/2012` `5/2/2013` `31/3/2013` `19/5/2013` `15/9/2013` `11/12/2013` `2/3/2014` `14/5/2014` `13/6/2014` `7/7/2014` `4/8/2014` `];` ` ` `InvoiceData:` `LOAD *,` `YearName(InvDate,  0, 4) AS YrName` `Resident TempTable;`

`Drop table TempTable;`

Die sich daraus ergebende Tabelle enthält die ursprünglichen Daten sowie eine Spalte mit dem Rückgabewert der Funktion yearname().

Beispiel 4 – Ergebnisse

| InvDate | YrName |
| --- | --- |
| 28/03/2012 | 2011-2012 |
| 10/12/2012 | 2012-2013 |
| 5/2/2013 | 2012-2013 |
| 31/3/2013 | 2012-2013 |
| 19/5/2013 | 2013-2014 |
| 15/9/2013 | 2013-2014 |
| 11/12/2013 | 2013-2014 |
| 2/3/2014 | 2013-2014 |
| 14/5/2014 | 2014-2015 |
| 13/6/2014 | 2014-2015 |
| 7/7/2014 | 2014-2015 |
| 4/8/2014 | 2014-2015 |