Go to Home Page
 
  Go to Home Page  
  See all products
  See manuals, tutorials, articles
  See price schedules
  See user testimonials
  See user testimonials
  Download a free 30-day trial
 
  Choose Spectrum Writer to add 4GL to your product
  Report Writer Speedup Tips Article
Example of Converting DYL-280 to Spectrum Writer
Home

A Sample DYL-280 Program Converted to Spectrum Writer.

This is a basic, straight-forward report. Fields from input records are listed in a report. The report has 2 levels of control breaks, as well as Grand Totals.

See list of other sample DYL-280 programs that have been converted.

DYL-280 Code


FILE INFILE SEQUENTIAL INPUT FB 80 800
   CCENTER     4          (COST'CENTER) 
   OFFNO       4          (OFFICE'NUMBER) 
   EMPNO       6          (EMPLOYEE'NUMBER) 
   EMPNAME    19          (EMPLOYEE'NAME) 
   HDATE       6 NU   D   (HIRE'DATE) 
   SALCLASS    1          (SALARY'CLASS) 
   JCLASS      4          (JOB'CLASS) 
   LGRADE      1          (LABOR'GRADE) 
   SEX         1          (S'E'X) 
   MSTATUS     2          (MRT'ST) 
   CRATE       6 NU 2 E   (CURRENT'RATE) 
   IDATE       6 NU   D   (INCREASE'DATE) 
   ITYPE       1          (INCREASE'TYPE) 
   IAMT        5 NU 2 E   (INCREASE'AMOUNT) 

 WORKAREA 
   MESSAGE 20 

CONTROL OFFNO CCENTER 
   LIST CCENTER OFFNO EMPNO EMPNAME HDATE 
        SALCLASS JCLASS LGRADE 
        SEX MSTATUS CRATE IDATE ITYPE IAMT 
 
ON CHANGE IN OFFNO 
   MOVE '*  OFFICE TOTAL' TO MESSAGE 

LST: 
   LIST MESSAGE AT EMPNAME SUM CRATE SUM IAMT 
         WITH 2 AFTER 

ON CHANGE IN CCENTER 
   MOVE '** COST CENTER TOTAL' TO MESSAGE 
   GOTO LST 
 

ON FINAL 
    MOVE '*** GRAND TOTAL ' TO MESSAGE 
    GOTO LST 
 
 T1 'COMPUTER ASSOCIATES SYSTEMS' WITH 1 AFTER 
 T2     WITH 1 AFTER 
 T3 'EMPLOYEE BY COST CENTER' WITH 2 AFTER 
 T1+1 'DYL-280 EXAMPLE' 
 T1+106 'REPORT NUMBER  DYL-511-14' 
 T2+106 'PERIOD ENDING' 
 T2+124 DYLDATE 
 T3+106 'PAGE NUMBER' 
 T3+125 DYLPAGE7 
FIN

Spectrum Writer Code


***************************************************
*** FIRST WE DEFINE THE INPUT FILE AND ITS FIELDS**
***************************************************
FILE:  INFILE   DDNAME(INFILE)  LRECL(352)
FIELD: CCENTER  LEN(4)  HDG('COST|CENTER') 
FIELD: OFFNO    LEN(4)  HDG('OFFICE|NUMBER') 
FIELD: EMPNO    LEN(6)  HDG('EMPLOYEE|NUMBER')
                        TYPE(NUM)  ACCUM(NO)
FIELD: EMPNAME  LEN(19) HDG('EMPLOYEE|NAME') 
FIELD: HDATE    LEN(6)  HDG('HIRE|DATE') 
                        TYPE(MMDDYY)
FIELD: SALCLASS LEN(1)  HDG('SALARY|CLASS') 
FIELD: JCLASS   LEN(4)  HDG('JOB|CLASS') 
FIELD: LGRADE   LEN(1)  HDG('LABOR|GRADE') 
FIELD: SEX      LEN(1)  HDG('S|E|X') 
FIELD: MSTATUS  LEN(2)  HDG('MRT|ST') 
FIELD: CRATE    LEN(6)  HDG('CURRENT|RATE')
                        TYPE(NUM)  DEC(2) 
FIELD: IDATE    LEN(6)  HDG('INCREASE|DATE')
                        TYPE(MMDDYY)
FIELD: ITYPE    LEN(1)  HDG('INCREASE|TYPE') 
FIELD: IAMT     LEN(5)  HDG('INCREASE|AMOUNT')
	                  TYPE(NUM)  DEC(2)

***************************************************
*****    THEN WE DEFINE THE REPORT WE WANT    *****
***************************************************

***************************************************
***** THE INPUT WILL BE THE FILE WE JUST DEFINED **
***************************************************
INPUT: INFILE  

***************************************************
***** COLUMNS OF DATA WANTED IN BODY OF REPORT
***** (LIKE DYL-280'S LIST STATEMENT)
***************************************************
COLUMNS: CCENTER OFFNO EMPNO EMPNAME HDATE 
         SALCLASS JCLASS LGRADE 
         SEX MSTATUS CRATE IDATE ITYPE IAMT 

***************************************************
***** SPECIFY SORT ORDER FOR REPORT
***** (LIKE DYL-280'S CONTROL STATEMENT)
***************************************************
SORT: OFFNO CCENTER  

***************************************************
***** SET UP CUSTOM BREAK MESSAGES & SPACING
***** (LIKE DYL-280S 
****  "ON CHANGE IN" & "ON FINAL")
***************************************************
BREAK: OFFNO   TOTAL('* OFFICE TOTAL') SPACE(2)
BREAK: CCENTER TOTAL('** COST CENTER TOTAL') SPACE(2)
BREAK: #GRAND  TOTAL('*** GRAND TOTAL')

***************************************************
***** REPORT TITLES
***** (LIKE DYL-280 'S T1, T2,...)
***** NOTE THAT SPECTRUM AUTOMATICALLY ALIGNS THE 
***** LEFT, CENTER & RIGHT PARTS FOR YOU.
***************************************************
TITLE: 'DYL-280 EXAMPLE' /
       'COMPUTER ASSOCIATES SYSTEMS' / 
       'REPORT NUMBER  DYL-511-14'

TITLE:  / 
       'PERIOD ENDING' #DATE


TITLE: /
       'EMPLOYEE BY COST CENTER' / 
       'PAGE NUMBER' #PAGENUM


 

Copyright 2012
Pacific Systems Group.
All rights reserved.


Spectrum Writer 4GL - the economical alternative to SAS, Easytrieve, DYL-280...

Home | Products | Documentation | Prices | Testimonials | Company | 30-Day Trials
Send Your Comments or Questions