[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Aug 2007
    Beiträge
    30

    Datumsfeld in PF und DSPF

    Hallo

    habe folgendes Problem:

    Wenn ich in der Datenbank ein Datumsfeld mache mit
    Code:
    A            DV22KAUFDT      L         TEXT('KAUFDATUM JJJJMMTT')
    hat es die Formatierung JJJJ-MM-TT

    Wenn ich dann in der Displayfile ein Zahlenfeld mache u. im Editcode ein "Y" vergebe hat es aber "TT.MM.JJJJ".
    Wie bekommt man dieses mapping hin dass ich es trotzdem in die Datenbank schreiben kann?
    Ich habe "W" als Editcode probiert, dann ist auch die Formatierung beginnend Jahr, Monat, Tag - aber so will ich es eigentlich nicht und für den Benutzer ist es schöner es "normal"-Deutsch zu sehen.

    Kann ich das im Displayfile hinkriegen oder muss ich im RPG Code das ändern?

    Gruß!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das bekommst du nur über eine RPG-Konvertierung hin.

    Ggf. kannst du auch in der DSPF das Datumsformat *EUR eintragen, dann ist die Eingabe TT.MM.JJJJ, bleibt aber 8/10-stellig.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2007
    Beiträge
    30
    Wo genau trage ich das *EUR ein?

    Habe im "Menü" von "Feld-Schlüsselwörter auswählen" dieses Eingabefeldes gesucht, aber nichts gefunden wo man dieses Datumsformat eingeben hätte können.

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Probier' mal DATFMT(*JOB) DATSEP(*JOB) in der Bildschirmdatei.

  5. #5
    Registriert seit
    Aug 2007
    Beiträge
    30
    Hi - du meintest die PF ? in der Bildschirmdatei konnte ich es nicht eintragen, wohl aber in der PF

    Code:
    DATFMT(*JOB) DATSEP(*JOB)
    hat bei mir folgende Formatierung bewirkt:
    Code:
    KAUFDATUM:   01.01.40
    ich habe es dann auf
    Code:
    DATFMT(*EUR)
    geändert u. es hatte flg. Formatierung
    Code:
    KAUFDATUM:   01.01.0001
    Scheint ganz gut zu klappen. Danke euch beiden - vor allem der Link war ziemlich hilfreich Pikachu - sonst hätte ich nicht gewusst wo ich es eintragen muss.

  6. #6
    Registriert seit
    Aug 2007
    Beiträge
    30
    Was ich jetzt festellen musste, im SDA konnte ich das gar nicht ändern mit dem Datentyp "L"
    ich musste die Bildschirmmaske mit "2 - Editieren" öffnen u.
    Code:
    A            W02KAUFDT       L  B 12 74DATFMT(*EUR)
    eintragen.

    Was mir noch auffiel, die Prüfungen ob es *BLANKS oder *ZEROS ist funktioniert nicht mehr - gibt es überhaupt eine Prüfung ob es null ist bzw. ist das dann überhaupt noch notwendig?


    EDIT1:
    Jetz fällt mir auf Pikachu, ich hätte es gleich in der Bildschirmdatei ändern können, ohne es in der PF ändern zu müssen oder?
    In der PF würde vermutlich nur "L" reichen - in der DSPF muss ich dann noch die richtige DATFMT angeben?

    Ist es möglich dem Feld auch einen Standardwert *TODAY zu geben?

  7. #7
    Registriert seit
    Aug 2007
    Beiträge
    30
    sry für die vielen Fragen, aber noch eine =)
    Code:
    FIELD3         3D 0O 12 09DFTVAL('000')
    das hab ich gefunden zum Thema Default-Value.

    Klappt soweit wunderbar, bloß in dem Fall eines Datumsfeldes tue ich mich hier etwas schwer, u. zwar das das aktuelle Tagesdatum angezeigt werden soll.

    habe schon mit DATE(*SYS) zwischen den klammern probiert, geht aber anscheinend nicht ;(

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    DATE(*SYS) ist eine reine Ausgabefunktion.
    Wenn du einen Default haben willst, musst du das halt im Programm machen:

    if MyDate = *loval;
    MyDatei = %date();
    endif;
    exfmt MyDspFmt;

    In der DSPF kannst du natürlich auch DATFMT eintragen.

    Das kleinste datum(*LOVAL) ist eben der 01.01.0001.
    Oder du musst ALWNULL in der PF erlauben und mit

    if %nullind(MyDate) <> *zero;
    MyDate =%Date();
    endif;

    Mit
    %nullind(MyDate)=-1;
    kannst du den NULL-Wert auch setzen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Aug 2007
    Beiträge
    30
    Super - klappt alles - danke!

    Aktuelle Datum versorge ich jetzt mit

    Code:
    C                   EVAL      W02KAUFDT=%DATE()
    So ist das Datum in dem Eingabefeld immer schon auf einen Wert gelegt

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Create table und current_date sind deine Freunde

    D*B

    Zitat Zitat von GutmannHGW Beitrag anzeigen
    Ist es möglich dem Feld auch einen Standardwert *TODAY zu geben?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #11
    Registriert seit
    Aug 2007
    Beiträge
    30
    Hm... hört sich stark nach SQL an? Oder irre ich mich?
    In diesem Falle wüsste ich zunächst nicht wie die Numerischen u. Alphanumerischen Datentypen heißen.
    Vermutlich Integer und Char oder Varchar?

  12. #12
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo,

    falls es Dich interessiert:
    In dem folgenden Redbook Kapitel 9 sind die SQL Datentypen beschrieben und welcher SQL-Typ welchem RPG-Typ entspricht.
    Modernizing IBM eServer iSeries Application Data Access - A Roadmap Cornerstone

    Integer entspricht übrigens dem RPG-Datentyp I.
    Char dem Datentyp A und VarChar dem Datentyp A mit Schlüsselwort Varying.
    Ein Datum hat in SQL den Datentyp Date.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Bilder (*.JPG, *.BMP) in PF
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 05-01-07, 11:47
  2. PF von hinten nach vorne
    By kuempi von stein in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 07-11-06, 08:33
  3. Antworten: 7
    Letzter Beitrag: 08-09-06, 17:24
  4. Fehlerzeile in DSPF
    By Freezer in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 18-08-06, 08:11
  5. num. Feld in Datumsfeld konvertieren
    By edig in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 27-07-06, 08:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •