× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I assume that you know what all of the 'xx=' values are (M=, L=, LS=, etc.).
I assume that the numeric value is directly after the '=' and there are no leading blanks.

Do a scan of the string for the 'xx=' value.
Set your start position at the 'xx=' value + 3 (3 corresponding to the length of the value you searched with)
From this point in the array do another lookup for values < '0' and greater then '.'.
Subtract 1 from this position - this is your end position.
Set a workfield as substring of your initial string based on the start and end positions

Run sql cast statement:
Select cast (:workfield as decimal(9,2)) into :newfield from sysibm/sysdummy1;




Paul Therrien
Orion South, Inc.
504-374-9551
800-437-7173; Ext. 551
ptherrien@xxxxxxxxxxxxxxx


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Crosby
Sent: Tuesday, September 11, 2012 11:56 AM
To: RPG programming on the IBM i / System i
Subject: Extract some numeric fields from a string

Given a 60 character string that looks like this (and there will be trailing blanks):

L=19.3000A=19.43M=21.7700LS=19.93AS=19.93CB=19.1600

How would I extract the numeric data behind one of these character interludes into a decimal field?

For example, one time I may want to know what's behind the "M=", another time what's behind the "AS=", etc.

Wanting to know what's behind the "M=" means I want the value (in this
instance) of 21.7700 put into a decimal field.

Wanting to know what's behind the "AS=" means I want the value (in this
instance) of 19.93 put into a decimal field.

At one time or another I will want to know any one of the 6 "fields" in that string. The fields are optional in the string, ie, the "CB=" may not be there, in which case I want that field to default to 0.

V7R1. I have the SQL Development Kit if there is some slick way with SQL to get one or all of these fields out of the string in one fell swoop.


--
Jeff Crosby
VP Information Systems
UniPro FoodService/Dilgard
P.O. Box 13369
Ft. Wayne, IN 46868-3369
260-422-7531
www.dilgardfoods.com

The opinions expressed are my own and not necessarily the opinion of my company. Unless I say so.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.