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