Die fachliche Anforderung
Ich möchte offene/nicht beendete Verträge in BO4E abbilden.
Ich muss aber sowohl bei bo.Vertrag als auch bei com.vertragsteil zwingend ein vertragsende DateTime[1] bzw. vertragsteilende Date[1] angeben.
Gibt es schon eine Idee zur Umsetzung?
- bo.Vertrag.vertragsende nullable machen (neu
DateTime[0..1] statt bisher DateTime[1])
- com.Vertragsteil.vertragsteilende nullable machen (neu
Date[0..1] statt bisher Date[1])
Weitere Anmerkungen / Vorhandener Workaround
Der bisherige Workaround ist: Nimm sowas wie 9999-12-31 oder 9999-12-31T23:59:59 oder 9999-12-31T23:59:59.9999. Das Problem an diesem Workaround ist, dass das größtmögliche Datum von System zu System variieren kann: Das maxdate(time) in Java sieht anders aus als das maxdate(time) in Python sieht anders aus als das maxdate(time) in verschiedenen SQL-Datenbanken und das maxdatetime in deutscher Lokalzeit ist anders als das maxdatetime in UTC (je nachdem wie der timestamp intern abgebildet wird).
Bei der Zusammenarbeit mehrerer Systeme kann das zu unnötigen Problemen führen.
Die fachliche Anforderung
Ich möchte offene/nicht beendete Verträge in BO4E abbilden.
Ich muss aber sowohl bei
bo.Vertragals auch beicom.vertragsteilzwingend ein vertragsendeDateTime[1]bzw. vertragsteilendeDate[1]angeben.Gibt es schon eine Idee zur Umsetzung?
DateTime[0..1]statt bisherDateTime[1])Date[0..1]statt bisherDate[1])Weitere Anmerkungen / Vorhandener Workaround
Der bisherige Workaround ist: Nimm sowas wie
9999-12-31oder9999-12-31T23:59:59oder9999-12-31T23:59:59.9999. Das Problem an diesem Workaround ist, dass das größtmögliche Datum von System zu System variieren kann: Das maxdate(time) in Java sieht anders aus als das maxdate(time) in Python sieht anders aus als das maxdate(time) in verschiedenen SQL-Datenbanken und das maxdatetime in deutscher Lokalzeit ist anders als das maxdatetime in UTC (je nachdem wie der timestamp intern abgebildet wird).Bei der Zusammenarbeit mehrerer Systeme kann das zu unnötigen Problemen führen.