As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name. Connect to myibi
Focal Point    Focal Point Forums    WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] Convert Alphanumeric to 12-hour time

Read-Only Topic
 Go Search Notify Tools
 [SOLVED] Convert Alphanumeric to 12-hour time
Member
 posted January 14, 2013 07:57 PM
How would one go about converting a 4-byte alphanumeric field to a 12-hour time? Something along these line: 1600 -> 04:00 pm

Thanks!

This message has been edited. Last edited by: Kerry,

Bob Neubauer
bob@databuilders.com

 Posts: 10 | Registered: December 03, 2004 IP
Expert
 posted January 14, 2013 08:18 PM Hide Post
I think you could use HINPUT to do this.

Waz...

 Prod: WebFOCUS 7.6.10/8.1.04 Upgrade: WebFOCUS 8.2.07 OS: Linux Outputs: HTML, PDF, Excel, PPT In Focus since 1984 Pity the lost knowledge of an old programmer!

 Posts: 6349 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006 IP
Expert
 posted January 14, 2013 08:25 PM Hide Post
```TABLE FILE CAR
PRINT COUNTRY
COMPUTE ATIM/A4 = '1600' ;
COMPUTE TIME/HHIA = HINPUT(12,'00000000' | ATIM,8,'HHI') ;
END```

 Posts: 6349 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006 IP
Platinum Member
 posted January 14, 2013 08:27 PM Hide Post
Write yourself a little function that you can call from an "include" whenever you want to convert the time. I wrote this one that I use all the time:

```
DEFINE FUNCTION TIMEAMPM(TIMEIN/A6)
-* get the time in a left-padded 6 character string and return character string in
-* the form hh:mm am/pm.  e.g.  Pass '000630' and return '6:30 am'.

-* TIMEIN = string field to parse in '00HHMM' military time format.

-* get the hour and minutes as a string
HRTEMP/A2 = EDIT(TIMEIN, '\$\$99');
MINUTE/A2 = EDIT(TIMEIN, '\$\$\$\$99');
-* convert the hour into an integer so you can do some math and comparisons
HRTEMP1/I2 = ATODBL(HRTEMP, '02', 'I2');

-* if hr > 12 then (hr - 1) else hr
HOUR/A2 = IF HRTEMP1 GT 12 THEN FPRINT(HRTEMP1 - 12, 'I2', 'A2') ELSE HRTEMP;
-* if hr > 11 then 'pm' else 'am'
AMPM/A2 = IF HRTEMP1 GT 11 THEN 'PM' ELSE 'AM';

-* formats into hh:mm pm/am.  Note this is NOT in military time
TIMEAMPM/A8 = HOUR | ':' | MINUTE | ' ' | AMPM;

END
-RUN

```

You can tweak it for a 4 character input variable and adding a leading zero to the output if you desire.

Norb

prod:7.6.9, win2k3 mre, caster, bid, devstudio 7.6.9

 Posts: 242 | Location: Minneapolis | Registered: February 16, 2006 IP
Platinum Member
 posted January 14, 2013 08:34 PM Hide Post
Holy Moly Waz!!!!

You smoked me! Although I prefer to do things the hard way I will be looking closely at your solution.

prod:7.6.9, win2k3 mre, caster, bid, devstudio 7.6.9

 Posts: 242 | Location: Minneapolis | Registered: February 16, 2006 IP
Expert
 posted January 14, 2013 09:08 PM Hide Post
Ah the forgotten date-time functions....

Waz...

 Prod: WebFOCUS 7.6.10/8.1.04 Upgrade: WebFOCUS 8.2.07 OS: Linux Outputs: HTML, PDF, Excel, PPT In Focus since 1984 Pity the lost knowledge of an old programmer!

 Posts: 6349 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006 IP
Member
 posted January 15, 2013 12:26 PM Hide Post
Wow! Thank you Norb and Waz...I really appreciate the help.

Bob Neubauer
bob@databuilders.com

 Posts: 10 | Registered: December 03, 2004 IP
Expert
 posted January 15, 2013 03:50 PM Hide Post
And don't forget...

Read
The
Functions
Manual

Always a great place to peruse.

Eek

I need to get a life.

Waz...

 Prod: WebFOCUS 7.6.10/8.1.04 Upgrade: WebFOCUS 8.2.07 OS: Linux Outputs: HTML, PDF, Excel, PPT In Focus since 1984 Pity the lost knowledge of an old programmer!

 Posts: 6349 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006 IP
Platinum Member
 posted January 15, 2013 04:02 PM Hide Post
I've seen that acronym before but not defined in this way.

Perhaps the excessive heat down under is starting to take it's toll and you can't recall the correct definition of RTFM. O.k I'll just STFU.

prod:7.6.9, win2k3 mre, caster, bid, devstudio 7.6.9

 Posts: 242 | Location: Minneapolis | Registered: February 16, 2006 IP
Expert
 posted January 15, 2013 04:10 PM Hide Post

Waz...

 Prod: WebFOCUS 7.6.10/8.1.04 Upgrade: WebFOCUS 8.2.07 OS: Linux Outputs: HTML, PDF, Excel, PPT In Focus since 1984 Pity the lost knowledge of an old programmer!

 Posts: 6349 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006 IP
 Powered by Social Strata

Read-Only Topic

Focal Point    Focal Point Forums    WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] Convert Alphanumeric to 12-hour time

Copyright © 1996-2020 Information Builders