SET VAR vCustid TEXT
DECLARE c1 CURSOR FOR SELECT DISTINCT custid +
FROM transmaster
DECLARE c2 CURSOR FOR SELECT transid, empid, +
invoicetotal, transdate FROM transmaster +
WHERE custid = .vCustid
OPEN c1
FETCH c1 INTO vCustid Ind1
WHILE SQLCODE <> 100 THEN
-- This is the break header position,
-- the first customer ID is retrieved.
-- Cursor c2 fetches all transaction rows for
-- that customer.
OPEN c2 RESET
FETCH c2 INTO vTransid vind1, vEmpid vind2, +
vInvoiceTotal vind3, vTransDate vind4
WHILE SQLCODE <> 100 THEN
-- The detail rows are processed here.
FETCH c2 INTO vTransid vind1, vEmpid vind2,
vInvoiceTotal vind3, vTransDate vind4
ENDWHILE
-- The break footer position is here,
-- right before the next customer row is fetched.
FETCH c1 INTO .vCustid
ENDWHILE