A fellow worker attacked this by googling for something different
She located the following web page
https://www.itjungle.com/2005/01/19/fhg011905-story02/
Using that information, she came up with the following
select fieldname, dec(
dec(substr(inoba,1,8)||substr(hex(fieldname),18,1),9,0) *
(case when substr(hex(inoba),17,1)='D'
then -1 else 1 end) ,9,0) from filename
Now, it is field and file specific, but it DOES produce what we are looking for
Here are some of what is displayed
Field converted
00000245K 2,452-
000000000 0
00000104M 1,044-
000000000 0
000000000 0
000000000 0
000009948 9,948
000000000 0
000002330 2,330
This will obviously need to be changed depending upon the file, field in the file and length of that field
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill
-----Original Message-----
From: Alan Shore
Sent: Thursday, October 25, 2018 11:00 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: RE: [EXTERNAL] Re: Creating an SQL function using C routines
Thanks Bryan
Let me wade through this and see if it gives me anything to work with
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill
-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Bryan Dietz
Sent: Thursday, October 25, 2018 10:47 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: [EXTERNAL] Re: Creating an SQL function using C routines
there are some working SQL that uses in-line C code.
http://www.sqliquery.com/samples.html
They are pretty sharp.
Bryan
Alan Shore wrote on 10/25/2018 10:23 AM:
Hi everyone
Before I forget, we are on V7r3
I know how to create an SQL function using procedures in service
programs and have done so many times My question is, Is there a way to
create an SQL function using C routines Without going into the "why
the %$^^ did you do it that way' explanation, we have a number of
fields that are numeric, but stored in alpha fields, where we have to
use the C routine QXXZTOI to convert it from alpha to numeric If the
numeric value is positive - then there is no problem in seeing what
the numeric value in the alpha field is However, if the numeric value
is negative - then a process I know as over punching (back from when
cards were used) is in effect For example The value '0001}" is really
-10 The value '0002J' is really -21
Now trying to use SQL against fields such as this becomes a no no
Hence my request
I have tried googling for the answer to this, but so far, nothing
As always, any and all answers welcome
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
http://amzn.to/2dEadiD
As an Amazon Associate we earn from qualifying purchases.