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 Easytrieve to Spectrum Writer
Home

A Sample Easytrieve Program Converted to Spectrum Writer

On the left below is a sample Easytrieve program. And on the right we have shown the same program written with Spectrum Writer.

Below the Spectrum Writer example, we have also included another, fully commented version of the Spectrum Writer program. The comments help you see just how the Spectrum Writer statements correspond to the Easytrieve statements.

Easytrieve examples available: Example 1 | Example 2

Easytrieve Code


***************************************************
* EASYTRIEVE SAMPLE PROGRAM 1                     *
*                                                 *
* THIS PROGRAM DOES THE FOLLOWING:                *
*                                                 *
* A) CALCULATES BONUS AMOUNT FOR OFFICERS         *
* B) PRODUCES A REPORT OF CALCULATED BONUSES      *
***************************************************
FILE FILEIN DISK  F (80)
  COMPANY     1   2    A
  BRANCH      3   3    A
  OFFICER     6   4    A
  WAGE        10  08 N 2
  RATE        18  05 N 3 MASK ('ZZ.999')

BONUS  W       9  N 2

JOB INPUT FILEIN
IF WAGE NUMERIC AND RATE NUMERIC
   BONUS = WAGE * (RATE / 100)
   PRINT REPORT1
END-IF

REPORT REPORT1 LINESIZE 70 SUMSPACE 0
CONTROL  FINAL COMPANY
SUM      WAGE BONUS
TITLE 1 'EXECUTIVE BONUS REPORT'
LINE  1  COMPANY BRANCH OFFICER RATE WAGE BONUS

Spectrum Writer Code


***************************************************
* SPECTRUM WRITER SAMPLE PROGRAM 1                *
*                                                 *
* THIS PROGRAM DOES THE FOLLOWING:                *
*                                                 *
* A) CALCULATES BONUS AMOUNT FOR OFFICERS         *
* B) PRODUCES A REPORT OF CALCULATED BONUSES      *
***************************************************
FILE:   FILEIN   DDNAME(FILEIN)  LRECL(80)
FIELD:  COMPANY     LEN(2)
FIELD:  BRANCH      LEN(3)
FIELD:  OFFICER     LEN(4)
FIELD:  WAGE        LEN(8)  TYPE(NUM)  DEC(2)
FIELD:  RATE        LEN(5)  TYPE(NUM)  DEC(3) 
                            FORMAT(PIC'ZZ.999')

INPUT: FILEIN  

INCLUDEIF: #ISNUM(WAGE) AND #ISNUM(RATE)
COMPUTE:   BONUS(2 NOACCUM) = WAGE * (RATE / 100)

SORT: COMPANY(BREAK) 
TITLE: 'EXECUTIVE BONUS REPORT'
COLUMNS: COMPANY BRANCH OFFICER RATE WAGE BONUS

 

Spectrum Writer Code
(With Full Explanatory Comments)


***************************************************
* SPECTRUM WRITER SAMPLE PROGRAM 1  (COMMENTED)   *
*                                                 *
* THIS PROGRAM DOES THE FOLLOWING:                *
*                                                 *
* A) CALCULATES BONUS AMOUNT FOR OFFICERS         *
* B) PRODUCES A REPORT OF CALCULATED BONUSES      *
***************************************************
***************************************************
*** FIRST WE DEFINE THE INPUT FILE AND ITS FIELDS**
*** LIKE EASYTRIEVE'S "FILE" STATEMENT.          **
***************************************************
FILE:   FILEIN   DDNAME(FILEIN)  LRECL(80)
FIELD:  COMPANY     LEN(2)
FIELD:  BRANCH      LEN(3)
FIELD:  OFFICER     LEN(4)
FIELD:  WAGE        LEN(8)  TYPE(NUM)  DEC(2)
FIELD:  RATE        LEN(5)  TYPE(NUM)  DEC(3) 
                            FORMAT(PIC'ZZ.999')

***************************************************
***** REPORT INPUT IS THE FILE WE JUST DEFINED   **
***** LIKE EASYTRIEVE'S "INPUT" STATEMENT.       **
***************************************************
INPUT: FILEIN  

***************************************************
***** ONLY INCLUDE RECORDS WHERE WAGE AND RATE   **
***** ARE NUMERIC.                               **
***************************************************
***** NOTE THAT THIS IS TO MATCH THE EASYTRIEVE  **
***** EXAMPLE. BUT SPECTRUM WRITER, UNLIKE       **
***** EASYTRIEVE, ALWAYS TESTS FOR NUMERIC DATA  **
***** BEFORE PERFORMING OPERATIONS ON IT, IN     **
***** ORDER TO AVOID S0C7 CRASHES.               **
***************************************************
INCLUDEIF: #ISNUM(WAGE) AND #ISNUM(RATE)

***************************************************
*****  DEFINE THE BONUS FIELD (KEEP 2 DECIMAL *****
*****  PLACES, AND DO NOT INCLUDE IN TOTALS)  *****
***************************************************
COMPUTE:   BONUS(2 NOACCUM) = WAGE * (RATE / 100)

***************************************************
***** SPECIFY SORT ORDER AND BREAKS FOR REPORT.  **
***** LIKE EASYTRIEVE'S "CONTROL" STATEMENT      **
***************************************************
***** (WE DON'T NEED TO SPECIFY "FINAL".         **
***** WE GET IT BY DEFAULT. LIKEWISE, THE        **
***** WAGE AND BONUS COLS ARE TOTALED BY DEFAULT.**
***************************************************
SORT: COMPANY(BREAK) 

***************************************************
***** REPORT TITLES.                             **
***** LIKE EASYTRIEVE'S "TITLE" STATEMENT        **
***************************************************
TITLE: 'EXECUTIVE BONUS REPORT'

***************************************************
***** COLUMNS OF DATA WANTED IN BODY OF REPORT   **
***** LIKE EASYTRIEVE'S "LINE" STATEMENT.        **
***************************************************
COLUMNS: COMPANY BRANCH OFFICER RATE WAGE BONUS


 

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