A new set of function was recently made available for DFSORT via PTFs UK51706 and UK51707. In this post I want to talk about the new JOINKEYS function, and try to add a little value by discussing some performance considerations. I've had the code for a couple of months and have played with it but not extensively. So much of what follows is based on thinking about the function (described in this... [More]
Tags: 
dfsort
uk51706
icetool
joinkeys
uk51707
db2
join
|
To whoever (In the USA I think) Googled "what is REMOVECC" and got to this blog let me give you my thoughts on the matter. (And yes I know, it being a search, you might never come back to read this.) To understand REMOVECC you have to understand that the "CC" refers to ASA (American Standards Association) Carriage Control, described here . ASA (formerly ANSI) control characters appear in Position... [More]
Tags: 
blkcct1
dfsort
blkcch1
ansi
referer
header2
trailer3
outfil
header1
trailer2
removecc
rdw
blkcch2
header3
asa
trailer1
|
For whoever got to my blog with this Google search here's how you sort data without a header: First you need to be using z/OS DFSORT Release 10 or to have applied the PTFs for UK90013 (July 2008). Second, the vehicle for doing this is ICETOOL rather than DFSORT itself. Use the new DATASORT operator. Here's an example: If you code DATASORT FROM(DD1) TO(DD) FIRST(3) USING(CTL1) and code a CTL1CNTL... [More]
Tags: 
dfsort
datasort
outfil
icetool
uk90013
|
So here's yet another way of parsing the WLM XML Service Definition. This time it's on z/OS, using DFSORT. Relatively recent features in DFSORT have made it easier to do useful things with XML. In this example I've made some attempt to make the output pretty - by creating a HTML table. Below is the SYSIN you need to parse the <SchedulingEnvironment> elements. I'm assuming you know how to... [More]
Tags: 
endbefr
dfsort
wlm
jfy
outfil
startaft
ifthen
removecc
when=group
fixlen
uk90007
parse
uk90006
uk90013
xml
|
As I mentioned in this blog post DFSORT just shipped a new FINDREP function to do "find and replace". I mentioned an example of where I might use it to replace SMFIDs in SMF records. That example generally works well. But suppose (say, for SMF 42-6 Data Set Performance records) I want to replace "SYS1" with "MVSA" but don't want to replace "SYS1." with "MVSA.". There's something useful about... [More]
Tags: 
find
smf42
replace
findrep
smf
dfsort
|
Yesterday DFSORT announced a new set of functions - as PTF UK90013. The documentation for it can be found here . Every year or so there's a new set of DFSORT functions - and generally they're "out of cycle" with z/OS releases - although they are incorporated into subsequent releases of z/OS. This means that fewer of you will know about the functions, particularly as we don't make a big fuss about... [More]
Tags: 
occur
count
datasort
display
dfsort
symbols
findrep
z/os
when=group
subset
icetool
select
|
In September 1997 DFSORT Release 13 was shipped (to coincide with the release of OS/390 Release 4). It took a nice idea from Syncsort and extended it. In case you didn't know OUTFIL allows you to read an input data set (and perhaps sort it) and write to multiple output files from the resulting records - perhaps selecting subsets of the records and reformatting them (and differently to each output... [More]
Tags: 
batchpipes/mvs
hbaid
stripes
dfsort
stgtest
sequential
pmio
qsam
excp
outfil
dfsms
hipersorting
smf16
bsam
smf
compression
sysevent
hiperbatch
smf=full
|
!Somehow I seem to have end up writing a "Memories of..." series of blog posts. That wasn't the intention but a set of threads on IBM-MAIN Listserver got me to thinking about these nice venerable technologies - VIO, Hiperbatch, Batch LSR and Pipes. By couching these posts in terms of "memories of" it sounds like they're perhaps obsolete. With the possible exception of Hiperbatch that probably... [More]
Tags: 
qsam
batchpipes/mvs
bsam
vio
batchlsr
pipes
hiperbatch
batchpipes
dfsort
|
(Also posted to MXG-L Listserver (MXG-L@PEACH.EASE.LSOFT.COM) which I highly recommend as a place where mainframe performance people hang out.) I must confess I feel slightly foolish about this... :-) After having asked for input into my UKCMG BOF one of the themes that came out was better ways of doing what IFASMFDP does. (I already have this on my agenda - as you'll know if you follow my blog.)... [More]
Tags: 
dfsort
smf
ifasmfdp
|
( Scroll down if you're not interested in DB2 ) This past week I've been updating our SQL Analysis code to cope with Unicode SQL statements. (If you bind a package or plan once you've gone to DB2 Version 8 New Function Mode the statement text is stored in the Catalog in Unicode.) These statements are in Unicode UTF-8 which is extremely similar to ASCII. So I snaffled some existing code of mine... [More]
Tags: 
utf-8
ebcdic
unicode
dfsort
ascii
nfm
db2
|
Nope, I'm not going to do a Rumsfeld. :-) But there are a couple of things I didn't know (I didn't know) about DFSORT. Relating them to you is probably OK because It's not something I'm embarrassed about.:-) If you want to understand some of the funkier new DFSORT tricks you probably need to know these things. Consider these DFSORT examples (which I take no credit for). They are used to deal with... [More]
Tags: 
dfsort
|
Following on from Generating XML Using DFSORT - Part II here are some thoughts on how to parse XML with DFSORT. NOTE: For more complex XML than this entry describes you probably want to use the XML Toolkit for z/OS . This provides C++ and Java parsers for XML and a stand-alone XSLT processor. In this example I'll show you how to take XML that looks like this and create a flat file from it:... [More]
Tags: 
dfsort
xml
|
In Generating XML Using DFSORT - Part I I described how to generate XML using some of DFSORT's new features. But the XML we generated was only one of the possible styles of XML: Most of the information was specified as attributes (with the values enclosed in quotes). Here's a sample line: <member surname="Mercury" firstname="Freddie" job="Singer" /> In this case the attribute job has the... [More]
Tags: 
dfsort
xml
|
Following on from This entry on creating CSV files here's the first of several entries on manipulating XML with DFSORT... This is not intended to be a tutorial on XML but rather an exploration of how DFSORT can read (shred) and write (compose) XML. (I also use the terms ingest and emit synonymously.) Hopefully some of the basic concepts of XML will come across during the course of these blog... [More]
Tags: 
dfsort
xml
|
I plan on writing some entries on creating and parsing XML with DFSORT (using the UK90006 / UK90007 functional enhancments that DFSORT Development recently announced). But here's a limbering up example - creating a CSV file from regular sequential file input. CSV files ( C omma- S eparated V alue (or V ariable if you prefer)) are of the form "JDLFJDJ DF",4146,"FKJFK" "JDJDJ JKJJ",12352,"EE... [More]
Tags: 
xml
csv
dfsort
|
Here's my first tip with the new UK90006 / UK90007 DFSORT PTFs. It's an apparently minor enhancement that I think people will like... It leads to a more elegant syntactical expression. It is more maintainable - in the face of changing record layouts. Suppose you want to search a file for a string in a particular position in each record and replace all matching instances with a different string. (... [More]
Tags: 
dfsort
|
As many of you know I like to beta DFSORT function PTFs. About once a year a new set of functions appears, many in direct response to customer requirements. Occasionally some of the enhancements are at my suggestion. :-) Yesterday PTFs UK90006 and UK90007 became available. (Being UK based it's nice to see PTF numbers beginning with UK but I read no significance into this.) :-) You can read the... [More]
Tags: 
dfsort
parse
|