Beruflich Dokumente
Kultur Dokumente
BY
B.THANGASAMY
There are two types of SORT
1. Internal SORT
2. External SORT
Internal SORT can be done by
using COBOL language.
FD UNSORTED-FILE
RECORD CONTAINS 80 CHARACTERS.
01 UNSORTED-REC PIC X(80).
FD SORTED-FILE
RECORD CONTAINS 80 CHARACTERS.
01 SORTED-REC PIC X(80).
SD SORT-FILE
RECORD CONTAINS 80 CHARACTERS.
01 SORT-REC.
05 S-DEPT-NO PIC X(2).
05 FILLER PIC X(78).
PROCEDURE DIVISION.
SORT SORT-FILE ON ASCENDING KEY S-DEPT-NO
USING UNSORTED-FILE
GIVING SORTED-FILE.
Input Procedure:-
The data will be processed before
It is sorted.
Output Procedure:-
The data will be processed after
It is sorted.
100-MAIN MODULE.
SORT SORT-FILE ON ASCENDING KEY DEPT-NO
INPUT PROCEDURE 200-COUNT-RTN
GIVING SORTED-FILE
STOP RUN.
200-COUNT-RTN.
MOVE 0 TO CTR
OPEN INPUT UNSORTED-FILE
PERFORM UNTIL NO-MORE-RECS
READ UNSORTED-FILE
AT END
MOVE ‘NO’ TO MORE-RECS
NOT AT END
PERFORM 300-PROCESS-RTN
END-READ
END-PERFORM
CLOSE UNSORTED-FILE.
300-PROCESS-RTN.
ADD 1 TO CTR
RELEASE SORT-REC FROM UNSORTED-REC.
100-MAIN-MODULE.
SORT SORT-FILE ON ASCENDING KEY DEPT-NO
USING UNSORTED-FILE
OUTPUT PROCEDURE 200-COUNT-RTN
STOP RUN.
200-COUNT-RTN.
MOVE 0 TO CTR
OPEN OUTPUT SORTED-FILE
PERFORM UNTIL NO-MORE-RECS
RETURN SORT-FILE
AT END
MOVE ‘NO’ TO MORE-RECS
NOT AT END
PERFORM 300-PROCESS-RTN
END-RETURN
END-PERFORM
CLOSE SORTED-FILE.
300-PROCESS-RTN.
ADD 1 TO CTR
WRITE SORTED-REC FROM SORT-REC.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
SORT FIELDS=(52,9,CH,A)
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
SORTIN INPUT FILE
SORTOUT OUTPUT FILE
SYSIN DD * CONTROL STATEMENTS
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
The INCLUDE control statement is used to establish
Selection criteria for the records to be included in the
Output dataset.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
SORT FIELDS=COPY
OMIT COND=(52,9,CH,EQ,C’123456789’)
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
The OMIT control statement is used to establish
Selection criteria for the records to be omitted
From the output dataset.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
SORT FIELDS=COPY
OUTREC FIELDS=(1:1,113,
114:X'04B5',
116:116,1061,
1177:X'0000000000000C',
1184:X'0000000000000C',
1191:15Z,
1206:X'000C',
1208:2893X)
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
The OUTREC control statement reformats the output file
Records after SORT operation.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
INREC FIELDS=(1:1,113,
114:X'04B5',
116:116,1061,
1177:X'0000000000000C',
1184:X'0000000000000C',
1191:15Z,
1206:X'000C',
1208:2893X)
SORT FIELDS=(52,9,CH,A)
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
The INREC control statement reformats the input file
Records before SORT operation.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
SORT FIELDS=COPY
OUTREC FIELDS=(1:5,4096),CONVERT
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SYSOUT DD SYSOUT=*
//
The CONVERT control statement is used to convert the
File format from VB to FB.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FILES=HE,
INCLUDE=(5,4,CH,EQ,C'9991')
OUTFIL FILES=TR,
OMIT=(5,4,CH,EQ,C'9992')
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOFHE DD DSN=…
//SORTOFTR DD DSN=…
//SYSOUT DD SYSOUT=*
//
The OUTFIL control statement is used to create
Multiple output files.
//J344087M JOB (B,J,67FT00,C),’THANGASAMY’,
// NOTIFY=&SYSUID
//SORTTA EXEC PGM=SORT
//SYSIN DD *
SORT FIELDS=(29,9,CH,A)
SUM FIELDS=NONE,XSUM
/*
//SORTIN DD DSN=…,DISP=SHR
//SORTOUT DD DSN=…
//SORTXSUM DD DSN=…
//SYSOUT DD SYSOUT=*
//
The XSUM control statement is used to create
The output file with the duplicate records alone.
THANK YOU