Article ID: 188403
Article Last Modified on 2/18/2005
*-- Code begins here.
CREATE TABLE sales (ID c(10), invamt N(8,2))
INSERT INTO sales (ID, invamt) VALUES ("JOE", 1000)
INSERT INTO sales (ID, invamt) VALUES ("MARY", 2000)
INSERT INTO sales (ID, invamt) VALUES ("HARRY", 500)
INSERT INTO sales (ID, invamt) VALUES ("JOE", 1001)
INSERT INTO sales (ID, invamt) VALUES ("MARY", 2001)
INSERT INTO sales (ID, invamt) VALUES ("HARRY", 501)
INSERT INTO sales (ID, invamt) VALUES ("JOE", 1002)
INSERT INTO sales (ID, invamt) VALUES ("MARY", 2002)
INSERT INTO sales (ID, invamt) VALUES ("HARRY", 502)
*-- Code ends here
*-- Code begins here.
SET TALK OFF
*-- Get a list of salespersons.
SELECT DISTINCT id FROM sales INTO CURSOR list
*-- Step through the list and print sales results for each
*-- salesperson.
SCAN
SELECT * FROM sales WHERE id = list.id INTO CURSOR salestot
*-- Get the total sales for this person.
SUM invamt TO lnTotal
SELECT 0
*-- Open the report file as a table.
USE sales.frx
*-- We're looking for a field (objtype) that is
*-- calculated (totaltype) and whose expression
*-- (expr) is equal to table field we're calculating.
LOCATE FOR objtype = 8 AND totaltype = 2 AND ;
ATC("salestot.invamt", expr) > 0
*-- Save the values for the pen and fill fields.
lnPenRed = penred
lnPenGreen = pengreen
lnPenBlue = penblue
*-- Modify the font color for the sales total.
DO CASE
CASE lnTotal > 3000 AND lnTotal < 6000 && Print green
REPLACE penred WITH 0, pengreen WITH 255, penblue WITH 0
CASE lnTotal > 6000 && Print blue
REPLACE penred WITH 0, pengreen WITH 0, penblue WITH 255
OTHERWISE && Print dark red on white
REPLACE penred WITH 128, pengreen WITH 0, penblue WITH 0
ENDCASE
USE
SELECT salestot
*-- Change PREVIEW to TO PRINTER to print the report.
REPORT FORM sales PREVIEW
ENDSCAN()
*-- Restore the original values.
USE sales.frx
LOCATE FOR objtype = 8 AND totaltype = 2 AND ;
ATC("sales.invamt", expr) > 0
REPLACE penred WITH lnPenRed, pengreen WITH lnPenGreen,;
penblue WITH lnPenBlue
USE
CLOSE DATA
*-- Code ends here.
Additional query words: kbDSupport kbDSE FxtoolrWriter
Keywords: kbhowto KB188403