CA Culprit processes data in two input/output phases:
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 Processing Steps when an Extract File Is Read
|
Copyright © 2014 CA.
All rights reserved.
|
|