|
The IBM manual says that FUNCTION CONVERT-DATE-TIME argument-2 "specifies the category of the return variable". So much for IBM manuals. Thanks to Finucci Domenico for informing us that argument-2 specifies the category of argument-1! You could save a few move commands by judicial use of a 05 level as follows, but it does not make the program any faster or clearer. 0013.00 01 W-SYSTEM-DATE. 0014.00 05 W-SYSTEM-TIME-NUMERIC PIC 9(14)V9(2). 0016.00 01 W-DATE-1 PIC 9999/99/99/99,99,99.999999. 0017.00 01 W-SYSTEM-TIME FORMAT TIME. 0018.00 PROCEDURE DIVISION. 0019.00 MAIN-PROGRAM SECTION. 0020.00 000-MAIN-PROGRAM. 0021.00 MOVE FUNCTION CURRENT-DATE TO W-SYSTEM-DATE. 0022.00 DISPLAY W-SYSTEM-TIME-NUMERIC. 0023.00 MOVE W-SYSTEM-TIME-NUMERIC TO W-DATE-1. 0024.00 MOVE "-" TO W-DATE-1(5:1) 0025.00 MOVE "-" TO W-DATE-1(8:1) 0026.00 MOVE "-" TO W-DATE-1(11:1) 0027.00 MOVE "." TO W-DATE-1(14:1) 0028.00 MOVE "." TO W-DATE-1(17:1) 0029.00 MOVE FUNCTION CONVERT-DATE-TIME(W-DATE-1 TIMESTAMP) 0030.00 TO W-SYSTEM-TIME. No wonder people are migrating away from COBOL is it takes 7 statements to put the current date into a timestamp format. Yes, I know you can INSPECT W-DATE-1 REPLACING "/" WITH "-". and INSPECT W-DATE-1 RELACING "," WITH "."., but that's slower and still leaves 4 statements. Hey IBM! How about "MOVE FUNCTION CURRENT-DATE(TIMESTAMP) TO W-DATE-1."? I know, I know. Use an API. But why do I have to retrieve the system status just to get the current date in a timestamp format? ----- Original Message ----- From: "Finucci Domenico" <finucci@Fiditalia.it> To: <COBOL400-L@midrange.com> Cc: "'Robert E. Burger'" <rburger@home.net> Sent: Monday, February 28, 2000 3:30 AM Subject: R: Questions on CONVERT-DATE-TIME and ADD-DURATION > -----Messaggio originale----- > Da: Robert E. Burger [mailto:rburger@home.net] > Inviato: domenica 27 febbraio 2000 08.20 > A: cobol400-L@midrange.com > Oggetto: Questions on CONVERT-DATE-TIME and ADD-DURATION > > Answer : > Try to edit the program this way: > > WORKING > 01 w-SYSTEM-DATE pic x(21). > (**) 01 w-date-1 pic x(26). > 01 w-SYSTEM-TIME FORMAT TIME. > > > (**) You know that the format for a timestamp item must be: > "YYYY-MM-DD-hh.mm.ss.nnnnnn" where nnn is 1000th sec, > 26 byte total. > > > PROCEDURE > move w-system-date(1:4) to w-date-1(1:4) > move "-" to w-date-1(5:1) > move w-system-date(5:2) to w-date-1(6:2) > move "-" to w-date-1(8:1) > move w-system-date(7:2) to w-date-1(9:2) > move "-" to w-date-1(11:1) > move w-system-date(9:2) to w-date-1(12:2) > move "." to w-date-1(14:1) > move w-system-date(11:2) to w-date-1(15:2) > move "." to w-date-1(17:1) > move w-system-date(13:2) to w-date-1(18:2) > move "." to w-date-1(20:1) > move "000000" to w-date-1(21:6) > display "w-date-1 " w-date-1 > MOVE FUNCTION CONVERT-DATE-TIME (w-date-1 TIMESTAMP) > TO w-SYSTEM-TIME. > > Let me know if this works on yr. AS/400 too. > Regards. > D. Finucci > Fiditalia SPA, Milano > > > > +--- > | This is the COBOL/400 Mailing List! > | To submit a new message, send your mail to COBOL400-L@midrange.com. > | To subscribe to this list send email to COBOL400-L-SUB@midrange.com. > | To unsubscribe from this list send email to COBOL400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +---END > > +--- | This is the COBOL/400 Mailing List! | To submit a new message, send your mail to COBOL400-L@midrange.com. | To subscribe to this list send email to COBOL400-L-SUB@midrange.com. | To unsubscribe from this list send email to COBOL400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---END
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.