Autor Thema: Datumsfeld umsetzen ???  (Gelesen 2858 mal)

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Datumsfeld umsetzen ???
« am: 31.01.03 - 15:14:06 »
Hallo, ich habe folgendes Problem, das mir schon seit einiger Zeit Kopfzerbrechen
bereitet:  Es werden 3 x täglich Daten mit SQL von AS400 ins Lotus Notes übertragen und dies in einer Maske gespeichert. So weit so gut ;D
In meinem Fall handelt sich um ein Datumsfeld. Daten werden wie folgt übertragen und so in der Ansicht angezeigt:

z.B. 250103 oder 10103

Meine Frage: kann ich diese Daten mit einer Formel so umsetzen  dass diese nacher wie folgt angezeigt und sortiert  werden können?

25.01.2003 oder 01.01.2003

Vielen Dank
« Letzte Änderung: 31.01.03 - 15:14:59 von Jeff »

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Datumsfeld umsetzen ???
« Antwort #1 am: 31.01.03 - 16:05:26 »
Hallo Jeff,
relativ leicht ist das über ein Script zu realisieren:

Dim DatumAS400, DatumNotes as String
DatumAS400 = das übergebene Datum
DatumNotes = Strleft(DatumAS400, 2) & "." & Mid(DatumAS400, 2, 4) & "." & strrightback(DatumAS400, 2)

Dann kannst Du theoretisch aus der Variablen DatumNotes den fertigen String auslesen.

Müsste so gehen (habs nicht getestet!)

Gruss
Thomas
+++To be human is more important than to be important!+++

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re:Datumsfeld umsetzen ???
« Antwort #2 am: 31.01.03 - 16:06:13 »
Du musst den Datumwert in einen String umwandeln und zerlegen:

Abfragen, ob @Lenght(wert) = 5 dann dem String eine 0 vorsetzen und dann zerlegen.
Bsp: @Left(wert;2) + "." + @Middle(2;2) + ".20" + @Right(2)
oder so ähnlich

Ich hoffe das es Dir hilft
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #3 am: 31.01.03 - 16:39:24 »
Hallo Dirk, Hallo  Thomator,

Vielen Dank für Euere Antworten  ;D verstehe aber leider nicht (Lotus Script ??? kenne ich gar nicht) , was damit gemeint ist, könnt Ihr mir Anhand  von einem Beispiel erklären wie ich das genau machen kann.

Datumsfeld AS400: A1LBAM (Wert: 10103)
Datumsfeld Notes:  A1LBAM (Wert soll  01.01.2003 angezeigt werden)

Wie mache ich so etwas mit Lotus Script?  ???

Es tut mir leid :'(, aber ich komme leider nicht weiter.

Vielen Vielen Dank und Gruss

Jeff

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re:Datumsfeld umsetzen ???
« Antwort #4 am: 31.01.03 - 18:12:11 »
Ein Beispiel in LS:

Dim strNeuerWert as String
Dim doc as NotesDocument
Set doc = uidoc.Document

strNeuerWert = Strleft(cstr(doc.A1LBAM(0)), 2) & "." & Mid(cstr(doc.A1LBAM(0)), 2, 4) & ".20" & strrightback(cstr(doc.A1LBAM(0)), 2)

doc.A1LBAM = strNeuerWert
Call doc.Save(True,True)
Call uidoc.Refresh

Beispiel Formelsprache:

wert:=@Text(A1LBAM);
wert1:=@If(@Length(wert)=5;"0"+wert;wert);
neu:=@Left(wert;2) + "." + @Middle(2;4) + ".20" + @Right(2);
Field A1LBAM:=neu;""


So in der Art. Hängt natürlich davon ab, wo Du das Script unterbringst ??!!

Dirk

Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #5 am: 03.02.03 - 08:52:19 »
hallo dirk,

habe diese formel "

wert:=@Text(A1LBAM);
wert1:=@If(@Length(wert)=5;"0"+wert;wert);
neu:=@Left(wert;2) + "." + @Middle(2;4) + ".20" + @Right(2);
Field A1LBAM:=neu;""

bei der eingabeumsetzung (Feld A1LBAM) hinzugefügt, bekomme aber leider immer diese fehlermeldung: Ungültiger Argumenttyp: ';'

was kann ich machen. vielen dank für deine bemühungen

jeff

klaussal

  • Gast
Re:Datumsfeld umsetzen ???
« Antwort #6 am: 03.02.03 - 10:14:26 »
@jeff,

das problem lirgt darin, dass tage unter 10 (also der 01.03.2003) als 10303 von der as400 kommen und NICHT als 010303. als erstes müssen also führende nullen angefügt werden, sodass man als ergebnis 010303 erhält. ;)

sehe gerade, dass du das bei deiner lösung schon berücksichtigt hattest. :(
« Letzte Änderung: 03.02.03 - 10:16:36 von klaussal »

klaussal

  • Gast
Re:Datumsfeld umsetzen ???
« Antwort #7 am: 03.02.03 - 10:22:33 »
..hier ist der fehler

neu:=@Left(wert1;2) + "." + @Middle(2;4) + ".20" + @Right(2);

es muss wert1 heissen !  ;)
                     =

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #8 am: 03.02.03 - 10:56:44 »
hallo klaussal

geht leider immer noch nicht  ??? ???

wert:=@Text(A1LBAM);
wert1:=@If(@Length(wert)=5;"0"+wert;wert);
neu:=@Left(wert1;2) + "." + @Middle(2;4) + ".20" + @Right(2);
Field A1LBAM:=neu;""


Ungültiger Argumenttyp: ';'

 ??? ??? ???
« Letzte Änderung: 03.02.03 - 11:10:26 von Jeff »

klaussal

  • Gast
Re:Datumsfeld umsetzen ???
« Antwort #9 am: 03.02.03 - 11:01:17 »
.. hast du dchon mal den debugger laufen lassen ?

Ctrl + Shift gedrückt halten  dann datei/extras/debug...
das schaltet den debugger für die formelsprache ein (für diese funktion gebe ich KEINE gewähr. EIGENES RISIKO)
abschalten: wie oben, nur den haken bei debug... wieder weg.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re:Datumsfeld umsetzen ???
« Antwort #10 am: 03.02.03 - 11:20:50 »
Habe den Fehler entdeckt:

Nicht:
neu:=@Left(wert1;2) + "." + @Middle(2;4) + ".20" + @Right(2);

ondern:
neu:=@Left(wert1;2) + "." + @Middle(wert1;2;4) + ".20" + @Right(wert1;2);

 :) :) :)

Ich hoffe das war`s.
Sorry. mein Fehler

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #11 am: 03.02.03 - 11:21:22 »
geht bei mir nicht, unter extras wird kein debugger angezeigt  ???

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #12 am: 03.02.03 - 11:42:37 »
hallo *all

bin schon weitergekommen ;D,   aber !!!

habe diese formel im feld A1LBAM unter "Eingabeumsetzung" hinterlegt und gespeichert


wert:=@Text(A1LBAM);
wert1:=@If(@Length(wert)=5;"0"+wert;wert);
neu:=@Left(wert1;2) + "." + @Middle(wert1;2;2) + ".20" + @Right(wert1;2);
Field A1LBAM:=neu;neu
 
wenn ich nun meine maske öffne, wird zuerst das alte format angzeigt (010303), wenn ich dann die taste F9 drücke wird dann alles richtig umgesetzt (01.01.2003).weltklasse ;D , aber  ......

wenn man jetzt diese dokument speichert wird in diesem feld folgendes als wert abgespeichert:

Te.xt.20en    anstatt   01.01.2003   ??? ???

wie kommt's denn dass ?

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re:Datumsfeld umsetzen ???
« Antwort #13 am: 03.02.03 - 13:39:04 »
@Jeff

Kannst Du nicht mit zwei verschiedenen Feldern ardbeiten??

Ein verstecktes Feld, das den AS400-Datumswert speichert und ein sichtbares berechnetes Feld, das die korrekte Datumsanzeige generiert??

Bsp:
verstecktes Feld:  A1LBAM
sichtbares berechnetes Feld:  anzDatum

Als wert des berechneten Feldes dann:
wert:=@Text(A1LBAM);
wert1:=@If(@Length(wert)=5;"0"+wert;wert);
neu:=@Left(wert1;2) + "." + @Middle(wert1;2;2) + ".20" + @Right(wert1;2);
neu


Müsste so gehen.
!! wert:=@Text(A1LBAM);   <== nur wenn A1LBAM ein Zahlfeld ist
Sonst: wert:=A1LBAM;
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #14 am: 04.02.03 - 11:15:29 »
hallo dirk,

Jetzt hats geklappt!  ;D vielen, vielen dank

noch eine frage: wenn ich nun diese feld "anzDatum" in einer ansicht anzeigen will funktioniert dies nur dann wenn diese dokument abgespeichert ist, sonst wird alles leer angezeigt. was kann ich da machen ???

Jeff
« Letzte Änderung: 04.02.03 - 11:53:08 von Jeff »

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re:Datumsfeld umsetzen ???
« Antwort #15 am: 04.02.03 - 12:17:31 »
@Jeff

Ist das Feld auch berechnet und NICHT Berechnet zur Anzeige??

Es muss berechnet sein und natürlich muss das Dok abgespeichert sein um es in einer Ansicht anzuzeigen.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Jeff

  • Frischling
  • *
  • Beiträge: 30
  • Ich liebe dieses Forum!
Re:Datumsfeld umsetzen ???
« Antwort #16 am: 04.02.03 - 13:38:14 »
hallo dirk,

ja, das feld ist berrechnet, die daten werden via sql 3 x täglich von as400 in lotus notes übertragen und dort werden sie auch abgelegt. wenn man die maske anschaut dann sind alle daten drin; nur im ansicht wird das neue feld (anzDatum) nicht angezeigt (erst beim speichern)!!

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re:Datumsfeld umsetzen ???
« Antwort #17 am: 05.02.03 - 08:25:43 »
@Jeff

Genau weiß ich auch nicht warum die Daten nicht angezeigt werden.
Ich vermute mal, dass die Ansicht nicht "mitbekommt" das in einem Dok neue Werte reingeschrieben wurden oder das ein neues Dok erzeugt wurde.
Zeigt die Ansicht denn die Werte an, wenn Du die Ansicht aktualisierst [F9] ??? Dann liegt es daran das der AnsichtsIndex aktualisiert werden muss.
d.h. öfters mal die Ansicht aktualisieren

Wenn es was anderes ist weiß ich es auch nicht ??? ???
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz