Your description is a bit confusing. You say "after 10 commas" but you show other fields before the 10 commas. Are there always 3 fields before the 10 commas or can there be a different number of fields before the 10 commas? Usually, we would be looking for a specific delimited field, for example, the 10th delimited field. VB records like that might look as follows:
20120312,000044,22,,,,,,,44,,,,,
1,2,3,4,5,6,7,8,9,10,11
You could use a DFSORT job like the following to extract the 10th field:
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file (VB)
//SORTOUT DD DSN=... output file (VB)
//SYSIN DD *
OPTION COPY
INREC PARSE=(%=(ENDBEFR=C','),%=(ENDBEFR=C','),%=(ENDBEFR=C','),
%=(ENDBEFR=C','),%=(ENDBEFR=C','),%=(ENDBEFR=C','),
%=(ENDBEFR=C','),%=(ENDBEFR=C','),%=(ENDBEFR=C','),
%10=(ENDBEFR=C',',FIXLEN=5)),
BUILD=(1,4,%10)
Set FIXLEN to the maximum length for the 10th field (it was 2 in your example, but I assumed it could be up to 5).
If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:
http://www.ibm.com/support/docview.wss? ... g3T7000080