1 /*  START OF:       sort_seg_info.incl.pl1                    *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */
 2 
 3           /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 4           /*                                                                                        */
 5           /* This include file declares the information structure for the sort_seg_ subroutine.     */
 6           /* This structure defines the sort string delimiter, and sort field delimiters for fields */
 7           /* to be sorted upon within each sort unit (sort string or block of sort strings).        */
 8           /*                                                                                        */
 9           /* Status                                                                                 */
10           /* 0) Created:   May 1, 1982 by G. C. Dixon                                               */
11           /* 1) Modified:  July 22, 1982 by DJ Schimke adding numeric and integer sort modes.       */
12           /*                                                                                        */
13           /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
14 
15      dcl  1 ss_info                     aligned based(ss_info_ptr),
16             2 header,
17               3 version                 char(8),            /* version of this structure.  Set with           */
18                                                             /*   SS_info_version_1 string constant.           */
19               3 block_size              fixed bin,          /* number of sort strings to be blocked together  */
20                                                             /*   in each sort unit.                           */
21               3 field_count             fixed bin,          /* number of sort fields within eacch sort unit.  */
22               3 duplicate_mode          fixed bin,          /* method of handling duplicate sort units.  Set  */
23                                                             /*   with one of the constants below.             */
24               3 mbz1 (3)                fixed bin,          /* reserved for future use.  Set to 0.            */
25               3 delim,                                      /* sort string delimiter definition.              */
26                 4 type                  fixed bin,          /*   type of delimiter.  Set with one of field    */
27                                                             /*     constants below.                           */
28                 4 number                fixed bin,          /*   numeric type delimiter value.                */
29                 4 string                char(256) varying,  /*   string type delimiter value.                 */
30             2 field (ss_field_count refer (ss_info.field_count)),
31                                                             /* sort field definitions                         */
32               3 from                    like ss_info.delim, /*   start of sort field.                         */
33               3 to                      like ss_info.delim, /*   end of sort field.                           */
34               3 modes,                                      /*   per-field sort modes.                        */
35                (4 descending            bit(1),             /*     sort field in descending order             */
36                 4 non_case_sensitive    bit(1),             /*     translate field to lowercase for sorting.  */
37                 4 numeric               bit(1),             /*     sort field according to numeric value.      */
38                 4 integer               bit(1),             /*     sort field according to integer value.      */
39                 4 mbz2                  bit(32)) unal,      /*     reserved for future use.  Set to ""b.      */
40           ss_field_count                fixed bin,
41           ss_info_ptr                   ptr,
42 
43           SS_info_version_1             char(8) int static options(constant) init("ss_info1"),
44                                                             /* string constant which must be used to set      */
45                                                             /*   structure version.                           */
46                                                             /* constants for setting duplicate_mode, type(s)  */
47          (SS_unset                      init(0),
48           SS_duplicates                 init(1),            /*   duplicate modes                              */
49           SS_unique                     init(2),
50           SS_only_duplicates            init(3),
51           SS_only_duplicate_keys        init(4),
52           SS_unique_keys                init(5),
53           SS_only_unique                init(6),
54           SS_only_unique_keys           init(7),
55           SS_length                     init(1),            /*   field types                                  */
56           SS_index                      init(2),
57           SS_string                     init(3),
58           SS_reg_exp                    init(4)) fixed bin int static options(constant);
59 
60 /*  END OF:         sort_seg_info.incl.pl1                    *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */