PDA

View Full Version : Datum updaten



camouflage
28-08-13, 13:50
Hi Forum,

ist vielleicht trivial, aber steh momentan total auf dem Schlauch.

Ich versuche ein Datum zu updaten, nur will der Update dieses nicht auf den Record schreiben. (Write ist ok)

Definiert hab ich folgendes:

File DDS:

A DATUM L DATFMT(*EUR)

Format DDS:

A DATUM R B 11 35REFFLD(DATUM)
A MAPVAL(('01.01.0001' *BLANK))

Besten Dank für die Hilfe

Fuerchau
28-08-13, 14:18
Beim Update ist ein gültiges Datum anzugeben, ansonsten gibts halt einen Fehler.
Blank ist da nicht erlaubt.

Wie sieht dein RPG-Code aus?
Wie erfolgt der Update?

Wie ist das Feld in der RPG-Quelle (bzw. dem Spool) definiert?

Normalerweise bekommst du in eine Datumvariable ja kein ungültiges Datum rein, es sei denn du hast das Feld redefinert (Overlays, eigene DS).

camouflage
28-08-13, 14:24
Hi Baldur,

Ich mach einen blanken update, also so wie definiert.

Die restlichen Felder werden ja berücksichtigt, nur das Datum nicht. Dabei spielt es keine Rolle ob im Feld vorgängig ein gültiges Datum drin ist (Bsp. 28.08.2013->29.08.2013)

Der Test(DE) gibt mir allenfalls schon einen Fehler zurück.

Der Write funktioniert und auch mit einem Blank-Datum.

Nachtrag:
Hab's auch schon mit einem "Move" versucht, (separate Eingabefeld) - das gleiche Resultat

Defs: File und Format mit dem gleich definierten Feld.

camouflage
28-08-13, 15:01
Baldur,

kannst den Thread schliessen. Hab die Logik nochmal neu geschrieben, nun rennt es.

Das muss etwas mit dem Verschieben in Save-Areas und zurück zu tun haben...

Besten Dank für die Mühe.

Fuerchau
28-08-13, 16:03
Mit BLANK updaten halte ich für ein Gerücht!
MAPVAL gilt nur für DSPF's.
Definiert man bestimmte Attribute in einer PF werden diese durch Referenz in eine DSPF übernommen. In der PF haben sie nur Kommentarcharakter.
Ggf. hilft sowas auch schon mal für UPDDTA.

Anton Gombkötö
28-08-13, 16:31
Ein '01.01.0001' im Programm wird zu *BLANK am Schirm und umgekehrt.
Im Programm kann also gar kein Blank ankommen.

camouflage
28-08-13, 16:33
Baldur,

ich gerüchte...

Blank update auf ein Datumsfeld geht selbstverständlich. Sogar der Test(DE) lässt das durch. Gespeichert wird im Record natürlich 01.01.0001 oder je nach Format.

Der MAPVAL geht natürlich nur auf ein Displayfile, da hast du Recht. Ist aber eine schöne Möglichkeit dem Blankdatum (01.01.0001) den Garaus zu machen.

Für die, die's interessiert:
Es können auch mehrere MAPVALS angegeben werden.

also,
MAPVAL (('01.01.0001' *BLANK))
(('0001-01-01' *BLANK))
...

damit wäre *EUR und *ISO abgedeckt

Nachtrag:
Im SDA hab ich keine Möglichkeit auf die Schnelle gefunden um dieses Keyword einzutragen und...
... sogar in PROFOUNDUI wird es richtig interpretiert ;-)