PDA

View Full Version : DTAFMT für Job abweichend von SYSVAL ändern auch auf nachfolgenden JOBs



TR1
28-11-19, 09:49
Hallo,
unsere Anwendung ist auf das DTAFMT *DMY ausgelegt.
Auf einer anderen AS400 haben wir das Problem, das dort *YMD eingetragen ist, der Wert darf aber nicht geändert werden.

Momentan mache ich überal ein CHGJOB DATFMT(*DMY ) ...
bei den Programme die per SBMJOB aufgerufen werden.

1. Gibt es einen einfacheren Weg?

2. Bei den QSH Aufrufen und Java-Jobs habe ich noch Jobs die auf *YMD stehen wie kann ich es dort ändern? Wobei ich in der Java-Anwendung nach dem erstellen der AS400 Connection ein CHGJOB ... ausführe.

Danke + Gruß
TR

andreaspr@aon.at
28-11-19, 10:53
Wo genau liegt denn das eigentliche Problem?
Hast du einen Fehler?
Man kann bei den H bzw. CTL-Specs das Datumsformat für das Programm angeben. Oder auch via set option im SQL.
Im Java arbeitest du dann sowieso mit dem Datumsobjekt und da sollten die Treiber den Rest für dich übernehmen.

TR1
28-11-19, 11:10
Ich bekomme die Meldung "Datums-, Zeit- oder Zeitmarkenwert ist ungültig."

Eine einfachere Möglichkeit z.B. JOBD, wobei ich da nichts gefunden habe, was man setzten könnte, gibt es nicht?

B.Hauser
28-11-19, 11:42
Wobei bekommst Du diese Fehlermeldung?
In den RPG-Programmen beim Ausführen von SQL-Anweisungen?
System oder Job-Format ändern ist eigentlich nicht das Gelbe vom Ei.

Birgitta

Fuerchau
28-11-19, 17:58
Das Pproblem ist, wenn du das Datumformat bei der Umwandlung für SQL nicht auf ISO festgelegt hast und dann vor allem Konstantenwerte verwendest.
Prüfe den Inhalt der Variablen zum Zeitpunkt der Fehlermeldung.