-
Felder prüfen mit TEST(D E)
Hallo zusammen,
ich arbeite erst seit kurzer Zeit mit ILE (und allem was dazu gehört)
Nun haben wir viele Datenfelder die Numerisch sind (6 Stellig mit einem Extra Century Feld).
Um alles möglichst leicht zu prüfen hatten wir früher ein RPG Programm das das Datum prüft.
Dank TEST(D) ist das ja nun nicht mehr nötig.
Syntax:
Format (z.b. *DMY oder *YMD) TEST(D E) Numerisches Feld
Jetzt habe ich aber ein weiteres Problem:
Ich möchte gerne das Format des Numerischen Feldes mittels einer Variablen vorgeben.
Leider akzeptiert Ile das nicht so ohne weiteres (habe es mit Alphafeldern probiert).
Hat jemand eine einfache Lösung dafür?
Danke
Rince
-
Datums-Prüfung
Hallo Rince,
wie Du bereits festgestellt hast, kann das Format nicht als Variable angegeben werden.
Da das Format ja bekannt sein muss, hast Du nur die Möglichkeit das Datum über eine Select-Anweisung zu prüfen, oder Du schreibst Dir Deine eigene Funktion.
Hier ein Beispiel einer solchen Funktion (Relese V5R1 und höher):
PHP-Code:
* Prototyp
D ChkDate6N PR N
D PPDate 6P 0 const
D PPFmt 4A value
* Funktion
P ChkDate6N B Export
D ChkDate6N PI N
D PPDate 6P 0 const
D PPFmt 4A value
D Gross C const('DMY')
D Klein C const('dmy')
D FmtMDY C const('*MDY')
D FmtDMY C const('*DMY')
D FmtYMD C const('*YMD')
D MyDate S D
/Free
PPFMT = %Xlate(Klein: Gross: PPFmt);
Monitor;
Select;
When PPFmt = FmtDMY;
MyDate = %Date(PPDate: *DMY);
When PPFmt = FmtMDY;
MyDate = %Date(PPDate: *MDY);
When PPFmt = FmtYMD;
MyDate = %Date(PPDate: *YMD);
other;
Return *Off;
EndSL;
On-Error;
Return *Off;
EndMon;
Return *On;
/End-Free
P ChkDate6N E
Aufruf:
PHP-Code:
/Free
If ChkDate6N(311299: '*DMY');
Dsply 'Gültiges Datum';
EndIf;
If Not ChkDate6N(MyDate: FmtYMD);
Dsply 'Fehlerhaftes Datum';
Endif
/End-Free
Birgitta
-
Test(D E)
3ter Versuch auf den Beitrag zu antworten.
Danke für die Antwort!
Habe es auch so gemacht, nur ist es nicht so flexibel wie eine Variable.
Naja wird schon ne Weile dauern bis wir ein neues Datumsformat haben (zumindest länger als V5R3)
Rince
-
Schau dir mal das API QWCCVTDT an. Hier kannst du von einem Format in das andere ändern (was auch das selbe sein kann). Dies schließt eine Gültigkeitsprüfung ein.
Similar Threads
-
By Christian.Hesse in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-01-07, 11:53
-
By pedro-zapata in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 11-09-06, 12:34
-
By dino in forum NEWSboard Drucker
Antworten: 4
Letzter Beitrag: 01-09-06, 12:54
-
By Xanas in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 13-06-06, 14:38
-
By linguin in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 16-05-06, 12:14
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