|
That misunderstanding was definitely part of my problem. I thought you told CONVERT-DATE-TIME what you were converting to, not what you were converting from. Now I've got to see if I can get it to handle a scenario like: MOVE FUNCTION ADD-DURATION (SYSTEM-TIME MONTHS 4 DAYS 5 HOURS 12 MINUTES 15) TO SOME-FUTURE-TIMESTAMP. We'll see but I think I now understand what I have to do to make it work. Thanks for the help, Robert ----- Original Message ----- From: Peter Lunde <telsci@interlog.com> To: <COBOL400-L@midrange.com> Sent: Monday, February 28, 2000 2:35 PM Subject: Re: Questions on CONVERT-DATE-TIME and ADD-DURATION > 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 > +--- | 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-2024 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.