×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) 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-2026 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.