Can't sort variable length records using mfsort
- From: "ari" <unikoski@xxxxxxxxx>
- Date: 16 Jan 2007 08:28:23 -0800
I am evaluating the use of microfocus' mfsort under linux.
I created a variable length file with a cobol program as follows:
IDENTIFICATION DIVISION.
PROGRAM-ID. TESTER.
*=================================================================
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT TEST-FILE
ORGANIZATION SEQUENTIAL
ASSIGN TO EXTERNAL VBFILE.
DATA DIVISION.
FILE SECTION.
FD TEST-FILE
DATA RECORD IS TST-REC
RECORDING MODE V
RECORD IS VARYING IN SIZE FROM 1 TO 32760
DEPENDING ON LRECL
BLOCK CONTAINS 0.
01 TST-REC.
05 TST-DATA PIC X(32760).
WORKING-STORAGE SECTION.
01 KUKU PIC X(10).
01 DISP-TEST.
05 PS99C PIC S9(9) COMP.
05 PS94 PIC S9(4).
05 PCOMP-2 COMP-2.
01 MISC.
05 LRECL PIC 9(5) comp value 0.
05 II PIC 9(4) COMP.
01 TTT.
05 TEST-DATA-R.
10 FILLER PIC X(20) VALUE 'ABRA'.
10 FILLER PIC X(20) VALUE 'CADABRA'.
10 FILLER PIC X(20) VALUE 'BILLY'.
10 FILLER PIC X(20) VALUE 'ZULU'.
10 FILLER PIC X(20) VALUE 'AAA'.
05 TEST-DATA REDEFINES TEST-DATA-R.
10 TEST-DATA-DATA PIC X(20) OCCURS 5 TIMES.
05 TEST-LEN-R.
10 FILLER PIC 9(4) COMP VALUE 4.
10 FILLER PIC 9(4) COMP VALUE 7.
10 FILLER PIC 9(4) COMP VALUE 5.
10 FILLER PIC 9(4) COMP VALUE 4.
10 FILLER PIC 9(4) COMP VALUE 3.
05 FILLER REDEFINES TEST-LEN-R.
10 TEST-LEN PIC 9(4) COMP OCCURS 5 TIMES.
**************************************************************
PROCEDURE DIVISION.
**************************************************************
A-PROGRAM-CONTROL SECTION.
*----------------------------------------------------------------
OPEN OUTPUT TEST-FILE.
MOVE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" TO TST-DATA.
PERFORM VARYING II FROM 1 BY 1 UNTIL II > 20
MOVE II TO LRECL
WRITE TST-REC
END-PERFORM
PERFORM VARYING II FROM 1 BY 1 UNTIL II > 5
MOVE TEST-DATA-DATA(II) TO TST-DATA
MOVE TEST-LEN(II) TO LRECL
WRITE TST-REC
END-PERFORM
CLOSE TEST-FILE.
.
The programs runs happily, and creates a file called VBFILE with the
128 byte header as described in microfocus documentation.
I then try and sort the file using mfsort - I tried doing:
mfsort use VBFILE ORG SQ RECORD V,1,100 GIVE out.out RECORD V,1,100
and got the following error message:
SORT013U: I/O error on dataset 'VBFILE'
SORT014U: Status = 9/139
SORT020U: SORT(EXTSM) failed - sort engine status = 9/139
I have tried lots of variations on the command, but to no avail - all I
ever get is the above message. What am I doing wrong?
.
- Follow-Ups:
- Re: Can't sort variable length records using mfsort
- From: Rick Smith
- Re: Can't sort variable length records using mfsort
- Prev by Date: Re: OT: Newsgroup Name Change?
- Next by Date: Question re FUNCTION SECONDS-FROM-FORMATTED-TIME
- Previous by thread: cursor blinking at accept
- Next by thread: Re: Can't sort variable length records using mfsort
- Index(es):