-
ILE COBOL und Timestamp Problem
Hallo!
Ich habe eine Datei mit SQL erstellt:
create table file1 (t1 timestamp)
Format von t1: yyyy-mm-dd-hh.mm.ss.ssssss
In einem SQL-ILE-COBOL (SQLCBLLE) Programm möchte ich den aktuellen Timestamp möglichst in wenigen Programmschritten in diese Datei einfügen.
mit function current-date bekomme ich einen Timestamp, der aber nicht so aussieht wie das Format in meiner Datei.
Format von current-date: yyyymmddhhmmssss+xxxx
Muß in den Cobol-Timestamp denn mühsam zerschneiden und für mein Datei-Feld zusammensetzen?
Warum geht das denn nicht so einfach wie in ILE-RPG durch eine einfache Konvertierung?
Wäre für Hilfe sehr dankbar.
Schöne Grüße
Reiner
-
Am einfachsten ist es so:
/exec sql
set :myfield = current date
/end-exec
"myfield" muss als Timestamp "pic x(26)" declariert sein.
Noch einfacher ist es, wenn man das Feld beim Insert bzw. Update direkt mit der Funktion füllt:
/exec sql
update myfile set myfield = current date, ....
/end-exec
/exec sql
insert into my file (f1, f2, f3, ...)
values (:f1, current date, :f2, :f3, ...)
/end-exec
-
Ja, so ist es am einfachsten.
Danke für den Tipp.
Wie kann man denn die Variable current-date im Cobol-Programm einfach in die gewünschte Form bringen? Gibt es da keine Funktion, die das Ganze in die entsprechende Form konvertiert?
Hat man ILE Cobol an den Formaten von SQL vorbei entwickelt?
Grüße
Reiner
-
Es gibt eine eigene ANSI-Group für COBOL und die legt nun mal alles fest, auch das Date-Format.
SQL wird nun wieder von einer anderen Gruppe normiert, so dass es da nun zu Inkompatibilitäten kommen kann.
RPG ist eine ureigenste Entwicklung von IBM (alle anderen haben nur kopiert) und kann deshalb von IBM auch beliebig erweitert werden.
Das Beste Beispiel ist die Verwendung von Funktionen, die im RPG an fast jeder beliebigen Stelle verwendet werden können:
eval myerg = 25 * MyFun(p1 : p2 : ...) + 17
In COBOL sieht das dann so aus:
77 myerg pic s9(15) comp-3.
77 zwerg pic s9(15) comp-3.
:
call procedure "MyFun" using p1 p2 returning zwerg
compute myerg = 25 * zwerg + 17
Also langsam finde ich RPG erheblich besser auch wenn ich früher COBOL-Freak war !
Nun für das Zusammensetzen gibt es leider nur den schweren Weg mittels redefinition des Feldes und der schönen STRING-Funktion oder per API (QWCCVTDT).
-
vielleicht hilft die TIMESTAMP Funktion weiter?
The TIMESTAMP function returns a timestamp from a value or a pair of values.
The rules for the arguments depend on whether the second argument is specified.
If only one argument is specified:
It must be a timestamp, a valid string representation of a timestamp, or a character string of length 14.
A character string of length 14 must be a string of digits that represents a valid date and time in the form yyyyxxddhhmmss, where yyyy is year, xx is month, dd is day, hh is hour, mm is minute, and ss is seconds.
If both arguments are specified:
The first argument must be a date or a valid string representation of a date; the second argument must be a time or a valid string representation of a time.
The result of the function is a timestamp. If either argument can be null, the result can be null; if either argument is null, the result is the null value.
Gruss und HTH
Rolf
-
Ich denke das API QWCCVTDT ist da die bessere Alternative, da sie das ISO-Format "YYYY-MM-DD-hh.mm.ss.ssssss" direkt liefern kann.
Die andere Alternative wäre noch ein RPGLE-Modul als Funktion, dass den Timestamp mit der Anweisung TIME ganz einfach liefern kann. Dieses Modul kann dann mit dem ILE-Cobol gelinkt werden bzw. als Service-Programm zur Verfügung gestellt werden.
-
Cobol Timestamp
Hallo Rebe,
vielleicht hilft Dir dieser Link:
http://www-912.ibm.com/s_dir/slkbase...ht=0,timestamp
Gruss TARASIK
Similar Threads
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By rebe in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 08-02-06, 15:50
-
By MikRom in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 15-08-05, 09:06
-
By rebe in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 26-09-01, 08:46
-
By rebe in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 07-09-01, 13:55
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