× 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.



David,

It looks like the responses assume that you are working in RPG, but I do
not see where you said so.

If you were working in QSH, this would be entirely too easy <grin />, so
let's see how you might do it from CL.

ï pgm

ï dcl &MyVar *char 30 +
ï value('Abcd;cdef;ghijk;12345678aa')
ï dcl &MyVarName *char 10 value('MyVar')

ï dcl &cmdstr *char 300

ï addenvvar &MyVarName &MyVar replace(*yes)

ï chgvar &cmdstr +
ï ( '+
ï db2 "insert into v40lbtxe.filea values( +
ï $( q1="''" IFS='';'' ; +
ï declare -i len=${#MyVar}-1 ; +
ï MyVarTruncated=${MyVar:0:$len} ; +
ï list=$q1 sep='''' ; +
ï for v in $MyVarTruncated ; do +
ï list="$list$sep$v" sep="$q1, $q1" ; +
ï done ; +
ï list="$list$q1" ; +
ï echo $list ; +
ï ) +
) " +
ï ')
ï qsh cmd(&cmdstr)
ï
ï endpgm

Obviously, the code which constructs the list within the VALUES() clause
is horribly vulnerable to an embedded quote or to any other SQL
injection attack. But then, I am offering this more for amusement than
as a practical solution. (Yes, I do have too much time on my hands.)

Cheers,
Terry.


On Tue, 2009-11-24 at 14:23 +0100, David FOXWELL wrote:
Hi,

A coworker asks :

For a neat way to do this :

Copier the variable MyVar= 'Abcd;cdef;ghijk;12345678aa;'

To a physical file so :

FIELD1 FIELD2 FIELD3 FIELD4
Abcd cdef ghijk 12345678aa

There are a fixed number of fields, but with varying lengths separated by semi-colons.

Thanks.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.