Ahlsort 8.0b: New functions, features and fixes 4/4/2008
  • Further performance improvements on the Windows Platforms
  • More Comprehensive Support for the DFSort OUTFIL FILES subparameter. Mutiple copies of output files can be created
  • The OUTFILE SAVE subparameter is also supported allowing records that do not meet any INCLUDE condition to be saved to a different file
  • Support for the OUTFIL FNAMES= parameter
  • Support for the BUILD= option on OUTREC and OUTFIL cards
  • More comprehensive support for DFSort Control Statements
  • Bug fix in sorting CSV Files
  • Support for the BUILD= option on OUTREC and OUTFIL Cards
  • support for the SORTIN= and SORTOUT= OPTION cards
  • Support the DYNALLOC=(/tmp) syntax as well as the DYNALLOC=('/tmp') syntax
  • Support for the IBM s390 zServer platform running RedHat Linux and SuSE Linux
  • Support for Sun Solaris x86
Ahlsort 7.1e: New functions, features and fixes 1/30/2006
  • Per a customer request, change to support summing negative Zoned Decimal Numbers that contain 0x'70' in the sign nibble.

Ahlsort 7.1c: New functions, features and fixes 3/30/2005
  • Authorization information is stored in c:\program files\ahlsort\ahlsortKey.txt

Ahlsort 7.1b: New functions, features and fixes 3/30/2005
  • Per a customer request, x'07' has been added to the list of valid signs for negative packed decimal data.

Ahlsort 7.1a: New functions, features and fixes 3/30/2005
  • Ability to override the location of the ahlsort.rc file

Ahlsort 7.0: New functions, features and fixes 12/30/2004
  • Major performance improvements

Ahlsort 6.3b: New functions, features and fixes
  • Support for SUM FIELDS= on SORT FIELDS=COPY

  • Support for Double quotes in addition to single quotes for literals in control cards

    For example, to add up the first field in the input file specify:

    option fs=" " sort fields=copy sum fields=(#1) end

Ahlsort 6.4: New functions, features and fixes
  • Bug fix involving summing of Packed Decimal Data on the Windows Platform

Ahlsort 6.3b: New functions, features and fixes
  • Support for SUM FIELDS= on SORT FIELDS=COPY

  • Support for Double quotes in addition to single quotes for literals in control cards

    For example, to add up the first field in the input file specify:

    option fs=" " sort fields=copy sum fields=(#1) end

Ahlsort 6.3a: New functions, features and fixes
  • Support for the coding of SEQUENCE or SEQ in addition to the RECORDNUMBER parameter on the inrec/outrec card.

  • Support for the Unix record type on the record card.

  • Support for business quality summing of decimal character data in delimited files.

  • To sort a csv file by field #1 and sum field #2 code:

    record type=Unix,length=10000 sort fields=(#1,CH,A) sum fields=(#2) end If the input file contains

    123-48,10.28 123-48,20 829-T,5.55 829-T,.01 The output file will contain

    123-48,30.28 829-T,5.56
  • Support for the FS= (Field Separator) and OFS= (Output Field Separator) parameters on the OPTION card These are used to read and create files with delimited fields (such as TAB and CSV)

    To create a pipe delimited file from a tab delimieted file code:

    option fs=x'09',ofs='|' record type=Unix,length=10000 sort fields=copy end
Ahlsort 6.1j: New functions, features and fixes

  • Support for the Fujitsu COBOL compiler style of record. These filese are the same as STL files, but do not contain a header record.

    The record formats are FUJF for Fujitsu Fixed and FUJV for Fujtisu Variable.

  • Ahlsort can now read from stdin and write it's output to stdout.

    The command syntax is now:

    ahlsort controlspec [input file name] [output file name]

    where:

    controlspec is the name of a file containting the sort control information, or a parameter enclosed in quotes that contains the control information.

    input file name and output file name are optional input and output files. If they are not provided, then stdin and stdout are used.

Ahlsort 6.1f: New functions, features and fixes

  • Fixed OPTION FIELDDELIMITER=C'?' feature on Windows.

New Features/Changes in Version 6.1a

  • Improved temp file I/O performance for sorts that consolidate records using the sum card.

  • Clean up sortwork files when an out of disk condition occurs.

  • Clarified the wording of the ICY0150E message for Include/Omit errors.

  • Fixed a problem with the record level interface on Windows platforms.

  • The include file for calling Ahlsort is name ahlsortx.h (instead of ahlsort.h)

  • Added support for the Solaris/Sparc platform. Droped support of OS/2.

    The supported platforms are:

    Windows (95, 98, NT, 2000), Linux, Solaris/Sparc, AIX, Digital Unix

New Features in Version 5.0

  • Sum field support for ASL and AST data types.

  • Permit Skiprec=0 to be coded.

  • Support for the ReferenceDirectory or RefDir option. This allows the ouput of Ahlsort to be compared to a file by the same name in the specified directory.

    This feature is used by Ahlbrandt Software in the quality assurance and testing process.

    The command:

       ahlsort sort.ctl in.dat out.dat

    And the control information:

       * Contents of sort.ctl
        option refdir=c:\ref
        record type=t,length=100
        sort fields=(1,10,ch,a)
        end
    
    Will produce an output file called out.dat.

    The output file out.dat in the current directory will be compared with the file c:\ref\out.dat.

    Messages will be produced to indicate if the files are the same.

  • DCB Information for input and output files can be specified on the command line. The RECORD statement is no longer required if the DCB information is specified externally.

    For example, To copy a file and convert the record format from Fixed to Variable, run the following command:

        ahlsort " OPTION COPY" in.dat,dcb=(lrecl=80,recfm=f) out.dat,dcb=(lrecl=80,recfm=v)
    
  • New Option MaxWorkFiles is available to specify the maximum number of sort work files. The default is 100.

    For example:

        OPTION MaxWorkFiles=200,MAINSIZE=64M
        SORT FIELDS=(1,8,BI,A)
        END
    
  • Ahlsort is now supported on Digital Unix (Alpha), AIX (RS/6000), Linux (x86), Windows 95/98, Windows NT, and OS/2 platforms.
  • Support for the globalOption control Statement. Also new functions are availble for calling Ahlsort with global options.

    Global options can be specified on the command line. Options that are specified in the control information override global options.

    Command syntax is as follows:

       AHLSORT [global options] sortControl inputSpec outputSpec
    
       AHLSORT "core=16M" sort.ctl in.dat out.dat
    
    This command will use 16Meg for the CORE value unless CORE is specified in the sort.ctl control file.

  • MAINSIZE Parameter of the OPTION control statement can be used to specify the amount of memory to be used by Ahlsort. See the CORE parameter of the OPTION statement for more information. OPTION MAINSIZE=128M Will allocate 128 Megabytes to the sorting process
  • Support for the IBM variable length records (RECFM=V) changed. The four byte record descriptor word (RDW) is now included in the data that Ahlsort processes.

    These four bytes must be accounted for in SORT, INREC/OUTREC, INCLUDE/OMIT data positions.

    If you do not want to account for the four bytes of RDW information, the record format AHL-V can be used. This is the way Ahlsort treated these records in the past.

    Consider the two sets of control information that process the same input file and produce identical output files:

       * Use the 'V' (IBM Variable) record format
        RECORD TYPE=V,LENGTH=100
        SORT FIELDS=(5,20,CH,A)  // note: RDW starts in position One, Data 
        END                      //       starts in position five
    
       * Use the 'AHL-V' record format
        RECORD TYPE=AHL-V,LENGTH=100
        SORT FIELDS=(1,20,CH,A)  // note: Data starts in position One
        END
    
  • Support for the CHARSET option. This allows character constants to be interpreted as ASCII or EBCDIC character data. The default for CHARSET is ASCII. Copy the records that contan an EBCDIC blank (x'40') in position one.
        OPTION COPY,CHARSET=EBCDIC
        RECORD TYPE=F,LENGTH=256
        INCLUDE COND=(1,1,CH,EQ,' ')
        END
    
    Sort the records that contain an ASCII blank (x'20') in position one.

        OPTION CHARSET=ASCII
        RECORD TYPE=T,LENGTH=100
        INCLUDE COND=(1,1,CH,EQ,' ')
        SORT FIELDS=(1,10,CH,A)
        END
    
  • Support for the CHANGE parameter on the INREC/OUTREC statment. This allows data to be translated to new values.

    To translate column 7 from 'A' to '1' and 'B' to '2': (all other values will cause Ahlsort to abort)

        OPTION COPY
        RECORD TYPE=T,LENGTH=80
        OUTREC FIELDS=(7,1,CHANGE=(1,'A','1','B','2'))
        END
    
    To translate column 7 from 'A' to 'XXX' and 'B' to 'YYY': (all other values will be changed to 'ZZZ')

        OPTION COPY
        RECORD TYPE=T,LENGTH=80
        OUTREC FIELDS=(7,1,CHANGE=(3,'A','XXX','B','YYY'),NOMATCH=('ZZZ'))
        END
    
    To translate column 7 from 'A' to 'XXX' and 'B' to 'YYY': (all other values will be unchanged)
        OPTION COPY
        RECORD TYPE=T,LENGTH=80
        OUTREC FIELDS=(7,1,CHANGE=(3,'A','XXX','B','YYY'),NOMATCH=(7,1))
        END
    
New Features int Version 4.3

  • Support for the OUTFIL card

    This allows the creation of multiple output files from a single input file.

    INCLUDE or OMIT conditions can be specified by output file.

    Record format and/or record length can be changed using the OUTFIL card.

  • Support for the HEADER and HEADERBYTES options

    This allows a specified number of records or bytes to be skipped prior to sorting. These bytes are preserved in the output file.

  • Product renamed to Ahlsort

    Strictly due to legal reasons.

  • Changed the way the DYNALLOC option operates

    The path specified in the DYNALLOC parameter takes precedence over the TMP environment variable.

  • Support for the CONTAINS condition of the INCLUDE/OMIT statement

    Support added for the CONTAINS statement. This allows an entire field to be searched for the desired data. For example to keep all record that contain the text 'REJECT' in positions 1 through 1000, code:

    INCLUDE COND=(1,1000,CH,CO,'REJECT')
  • Support added for the processing of delimited files.

    For example, to sort a file that has records that are at most 1000 bytes in length and are delimited by a binary 1, code the following:

    RECORD TYPE=D,LENGTH=1000,DELIM=X'01'
    SORT FIELDS=(1,1,CH,A)
    END
    
Back to Ahlbrandt Software Home

© 1997 Ahlbrandt Software, Inc.

Ahlbrandt Software, Inc. Ahlsort Version 5 Features