Previous Topic: Minimum Coding Requirements for Using SQL TablesNext Topic: The Extract Processing Phase (CULL)


How Totals Processing Works

CA Culprit processes data in two input/output phases:

  1. The extract phase (CULL):
    1. Executes type 7 logic against the input data.
    2. Outputs a temporary work file, called the extract file..
  2. The output phase (CULE):
    1. Reads the extract file after it has been sorted.
    2. Outputs the report.

      When CA Culprit sends the detail report records to the printer, it looks for control breaks and executes type 8 logic.

Code for Sample Totals-Processing Report

This is a typical CA Culprit run where sorting and control breaks are processed by employee status within department. At each control break the average starting age for employees is calculated in type 8 logic.

The Code

IN 200
REC LAST-NAME      15   10
REC STATUS         82    2
REC START-YEAR     97    2  2
REC BIRTH-YEAR    109    2  2
REC DEPARTMENT    115   25
01SORT DEPARTMENT - STATUS 0        $Fields are written to the extract file
013 AVERAGE START AGE BY DEPARTMENT AND STATUS
010 TOTAL-MESSAGE '                                     '
010 EMPLOYEE-COUNT 1
010 AGE
010 AVERAGE-AGE
0151*000 EMPLOYEE-COUNT                            $Type 5 lines build the
0151*010 DEPARTMENT      HH 'DEPARTMENT'           $extract file with the
0151*020 LAST-NAME       HH 'EMPLOYEE NAME'        $current values of each
0151*030 STATUS          HH 'STATUS' 'CODE'        $field
0151*040 START-YEAR SZ=5 HH '   START' '   YEAR'
0151*050 BIRTH-YEAR SZ=5 HH '   BIRTH' '   YEAR'   $Type 5 lines also
0151*055 AGE SZ=2        HH 'AGE'                  $format the print line
0161*045-TOTAL-MESSAGE
0161*050 EMPLOYEE-COUNT
0162*0450'AVERAGE AGE'
0162*055 AVERAGE-AGE SZ=2
017010 START-YEAR - BIRTH-YEAR  AGE   $Writes the value to the extract file
018010 IF LEVL EQ 1 100               $Type 8 logic executes when control
018020 IF LEVL EQ 2 200               $breaks are encountered
018030 IF LEVL EQ 3 300
018100 MOVE 'NUMBER OF EMPLOYEES BY STATUS CODE:'   TO TOTAL-MESSAGE
018110 B 400
018200 MOVE 'NUMBER OF EMPLOYEES BY DEPARTMENT:' TO TOTAL-MESSAGE
018210 B 400
018300 MOVE 'NUMBER OF EMPLOYEEES FOR THE COMPANY:' TO TOTAL-MESSAGE
018310 B 400
018400 COMPUTE AGE / EMPLOYEE-COUNT  AVERAGE-AGE   $Uses extract file data
018    TAKE

REPORT NO. 01                                AVERAGE START AGE BY DEPARTMENT AND STATUS                         mm/dd/yy PAGE     1                                              STATUS     START                                                  BIRTH            DEPARTMENT         EMPLOYEE NAME   CODE      YEAR                                                   YEAR        AGE    ACCOUNTING AND PAYROLL       BLOOMER        01         80                                                     60         20    ACCOUNTING AND PAYROLL       HUTTON         01         77                                                     41         36    ACCOUNTING AND PAYROLL       JENSON         01         80                                                     48         32    ACCOUNTING AND PAYROLL       KIMBALL        01         78                                                     49         29    ACCOUNTING AND PAYROLL       KING           01         80                                                     60         20    ACCOUNTING AND PAYROLL       NICEMAN        01         80                                                     55         25                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      6                                                                             AVERAGE AGE                                     27                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                       6                                                                             AVERAGE AGE                                     27    BLUE SKIES                   CLOUD          01         77                                                     45         32    BLUE SKIES                   DONOVAN        01         81                                                     51         30    BLUE SKIES                   MOON           01         78                                                     44         34                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      3                                                                             AVERAGE AGE                                     32                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                       3                                                                             AVERAGE AGE                                     32    BRAINSTORMING                BREEZE         01         79                                                     34         45    BRAINSTORMING                CROW           01         79                                                     44         35    BRAINSTORMING                LANCHESTER     01         75                                                     32         43    BRAINSTORMING                MAKER          01         78                                                     45         33    BRAINSTORMING                MUNYON         01         80                                                     50         30    BRAINSTORMING                WAGNER         01         78                                                     34         44                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      6                                                                             AVERAGE AGE                                     38    BRAINSTORMING                ANDALE         03         78                                                     60         18                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      1                                                                             AVERAGE AGE                                     18    BRAINSTORMING                ARM            05         77                                                     34         43

REPORT NO. 01 AVERAGE START AGE BY DEPARTMENT AND STATUS mm/dd/yy PAGE 2 STATUS START BIRTH DEPARTMENT EMPLOYEE NAME CODE YEAR YEAR AGE NUMBER OF EMPLOYEES BY STATUS CODE: 1 AVERAGE AGE 43 NUMBER OF EMPLOYEES BY DEPARTMENT: 8 AVERAGE AGE 36 COMPUTER OPERATIONS CRANE 01 77 42 35 COMPUTER OPERATIONS FERNDALE 01 79 58 21 COMPUTER OPERATIONS FONRAD 01 80 50 30 COMPUTER OPERATIONS GARDNER 01 81 59 22 COMPUTER OPERATIONS KLWELLEN 01 78 55 23 COMPUTER OPERATIONS KRAAMER 01 81 54 27 COMPUTER OPERATIONS LIPSICH 01 81 53 28 NUMBER OF EMPLOYEES BY STATUS CODE: 7 AVERAGE AGE 27 COMPUTER OPERATIONS TERNER 02 82 60 22 NUMBER OF EMPLOYEES BY STATUS CODE: 1 AVERAGE AGE 22 COMPUTER OPERATIONS KAHALLY 05 79 52 27 NUMBER OF EMPLOYEES BY STATUS CODE: 1 AVERAGE AGE 27 NUMBER OF EMPLOYEES BY DEPARTMENT: 9 AVERAGE AGE 26 EXECUTIVE ADMINISTRATION HENDON 01 73 33 40 EXECUTIVE ADMINISTRATION PAPAZEUS 01 78 35 43 EXECUTIVE ADMINISTRATION RUPEE 01 75 33 42 EXECUTIVE ADMINISTRATION WILDER 01 79 55 24 NUMBER OF EMPLOYEES BY STATUS CODE: 4 AVERAGE AGE 37

REPORT NO. 01                                AVERAGE START AGE BY DEPARTMENT AND STATUS                        mm/dd/yy  PAGE    3                                              STATUS     START                                                  BIRTH            DEPARTMENT         EMPLOYEE NAME   CODE      YEAR                                                   YEAR        AGE                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                       4                                                                             AVERAGE AGE                                     37    INTERNAL SOFTWARE            DOUGH          01         76                                                     51         25    INTERNAL SOFTWARE            GALLWAY        01         81                                                     47         34    INTERNAL SOFTWARE            GARFIELD       01         77                                                     45         32    INTERNAL SOFTWARE            GRANGER        01         80                                                     58         22    INTERNAL SOFTWARE            HEAROWITZ      01         81                                                     56         25    INTERNAL SOFTWARE            JACOBI         01         81                                                     40         41    INTERNAL SOFTWARE            JENSEN         01         82                                                     48         34    INTERNAL SOFTWARE            LITERATA       01         80                                                     55         25    INTERNAL SOFTWARE            O'HEARN        01         78                                                     54         24    INTERNAL SOFTWARE            TYRO           01         80                                                     55         25                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                     10                                                                             AVERAGE AGE                                     29                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                      10                                                                             AVERAGE AGE                                     29    PERSONNEL                    FITZHUGH       01         81                                                     56         25    PERSONNEL                    ORGRATZI       01         80                                                     51         29    PERSONNEL                    PEOPLES        01         81                                                     49         32                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      3                                                                             AVERAGE AGE                                     29    PERSONNEL                    JOHNSON        05         77                                                     45         32                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      1                                                                             AVERAGE AGE                                     32                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                       4                                                                             AVERAGE AGE                                     30    PUBLIC RELATIONS             ANGELO         01         79                                                     57         22    PUBLIC RELATIONS             BANK           01         78                                                     50         28    PUBLIC RELATIONS             BOWER          01         77                                                     39         38    PUBLIC RELATIONS             JACKSON        01         77                                                     50         27 REPORT NO. 01                                AVERAGE START AGE BY DEPARTMENT AND STATUS                        mm/dd/yy  PAGE     4                                              STATUS     START                                                  BIRTH            DEPARTMENT         EMPLOYEE NAME   CODE      YEAR                                                   YEAR        AGE    PUBLIC RELATIONS             MCDOUGALL      01         80                                                     59         21    PUBLIC RELATIONS             PENMAN         01         77                                                     44         33                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      6                                                                             AVERAGE AGE                                     28    PUBLIC RELATIONS             ZEDI           05         76                                                     40         36                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      1                                                                             AVERAGE AGE                                     36                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                       7                                                                             AVERAGE AGE                                     29    THERMOREGULATION             CLOTH          01         79                                                     45         34    THERMOREGULATION             FINN           01         79                                                     38         41    THERMOREGULATION             TIME           01         81                                                     58         23    THERMOREGULATION             WILCO          01         79                                                     50         29                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      4                                                                             AVERAGE AGE                                     32    THERMOREGULATION             KASPAR         04         80                                                     40         40                                                                NUMBER OF EMPLOYEES BY STATUS CODE:                      1                                                                             AVERAGE AGE                                     40                                                                NUMBER OF EMPLOYEES BY DEPARTMENT:                       5                                                                             AVERAGE AGE                                     33                                                                NUMBER OF EMPLOYEEES FOR THE COMPANY:                   56                                                                             AVERAGE AGE                                     31

It is easier to understand how subtotaling and control break processing works if we look at the role each parameter plays in the sample report.

This section contains the following topics:

The Extract Processing Phase (CULL)

The Output Phase (CULE)

The Processing Steps when an Extract File Is Read