-
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
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.
-
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?
-
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 ;(
-
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.
-
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
-
Create table und current_date sind deine Freunde
D*B
 Zitat von GutmannHGW
Ist es möglich dem Feld auch einen Standardwert *TODAY zu geben?
-
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?
-
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.
-
Allerdings sollte man bei SQL-Tables beachten:
Der Formatname ist mit dem Dateinamen identisch !
Bei Native-IO ist also eine Umbenennung des Formatnamens erforderlich.
Bei SQL interessiert der Formatname natürlich nicht.
Desweiteren hat eine Tabelle erst mal keinen Schlüssel.
Man kann zwar einen Constraint "Primary Key" anhängen, der ist allerdings grundsätzlich UNIQUE.
Mit Create Index kann ich eine LF erstellen (für SQL nur Zugriffsweg), die ich mit Native-IO natürlich direkt nutzen kann.
-
Allerdings sollte man bei SQL-Tables beachten:
Der Formatname ist mit dem Dateinamen identisch !
Bei Native-IO ist also eine Umbenennung des Formatnamens erforderlich.
Bei SQL interessiert der Formatname natürlich nicht.
Seit Release V5R4 kann direkt beim Erstellen einer Tabelle über das Schlüssel-Wort RCDFMT direkt ein abweichender Format-Name festgelet werden. (Ebenso kann auch bei einer SQL-View ein abweichender Format-Name angegeben werden.)
Auch vor Release V5R4 waren abweichende Format-Namen möglich (allerding benötigte man dazu 2 Schritte)
1. Erstellung einer Tabelle mit dem Format-Namen als Tabellen-Name
2. Umbenennung der Tabelle auf den eigentlichen Tabellen-Namen. (Der Format-Name wird nicht unbenannt!)
Ein gewaltiger Vorteil von SQL-Tabellen gegenüber DDS beschriebenen physischen Dateien ist, dass selbst mit CPYF und *NOCHK keine ungültigen Daten übernommen werden können, d.h. alpha in numerische Felder kopieren geht nicht!
Innerhalb der SQL-Tabellen wird beim Schreiben der Daten auf Gültigkeit beprüft. Bei DDS beschriebenen physischen Dateien erfolgt die Prüfung beim Lesen.
Mit Create Index kann ich eine LF erstellen (für SQL nur Zugriffsweg), die ich mit Native-IO natürlich direkt nutzen kann.
... auf eine SQL-Tabelle können natürlich auch DDS-beschriebene logische Dateien gelegt werden.
Ein Index erhält das Format der zugrundeliegenden Tabelle (oder DDS beschriebenen physischen Datei) erst ab Release V6R1 wird es möglich sein auch in Indices einen abweichenden Format-Namen anzugeben.
-
 Zitat von BenderD
Create table und current_date sind deine Freunde
D*B
Ist das in einer PF auch möglich? Also der Datentyp Date geht schon, aber das "Current" bekommt man anscheinend nur mittels SQL CREATE TABLE hin?
-
Stimmt.
Ausserdem hilft das in SQL nur bei einem Insert ohne Verwendung des Feldes:
create mytable (Feld1 char(10) not null, MyDate date not null default current date)
insert into mytable (feld1) values('Irgendwas')
In diesem Fall wird in MyDate das Tagesdatum geschrieben.
Default beim Lesen (Select) gibt es nicht.
Similar Threads
-
By GraueEminenz in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 05-01-07, 12:47
-
By kuempi von stein in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 07-11-06, 09:33
-
By emax in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 08-09-06, 18:24
-
By Freezer in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 18-08-06, 09:11
-
By edig in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-07-06, 09:20
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks