It is possible to define the background colour of a report header column, as
shown below.
In order to achieve this, one has to enter the 'report columns - HTML
design' sub-form for each field; in the field 'title design', one enters D,
and in the 'column title - HTML design' sub-form of this form, one defines
the desired colour.
This is very easy to do - at least, when one knows the technique. From what I have seen, this technique works with stand-alone reports,
reports that are invoked by a regular procedure and reports that are invoked
as part of an HTML document.
Shown below is a procedure that I wrote to update all the visible column titles (but not of columns that appear in a header) of any given report.
:PAR1 = '$';
:EXEC = 0;
LINK EXEC TO :$.EXE;
ERRMSG 1 WHERE :RETVAL <= 0;
SELECT EXEC, ENAME INTO :EXEC, :ENAME
FROM EXEC
WHERE EXEC > 0
AND TYPE = 'R';
UNLINK EXEC;
ERRMSG 2 WHERE :EXEC = 0;
LINK HTMLCOLORS TO :$.COL;
ERRMSG 1 WHERE :RETVAL <= 0;
SELECT COLOR INTO :COLOR
FROM HTMLCOLORS
WHERE COLOR > 0;
UNLINK HTMLCOLORS
;
DECLARE CUR CURSOR FOR
SELECT POS
FROM REPCLMNS
WHERE EXEC = :EXEC
AND RSELECT <> 'N' /* not hidden */
AND FGROUP < 100 /* not a header */
AND POS > 0;
OPEN CUR;
GOTO 300 WHERE :RETVAL <= 0;
LINK GENERALLOAD TO :$.GEN;
ERRMSG 1 WHERE :RETVAL <= 0;
:LINE = 1;
INSERT INTO GENERALLOAD (LINE, RECORDTYPE, TEXT13)
VALUES (1, '1', :ENAME);
LABEL 100;
FETCH CUR INTO :POS;
GOTO 200 WHERE :RETVAL <= 0;
:LINE = :LINE + 1;
INSERT INTO GENERALLOAD (LINE, RECORDTYPE, INT1)
VALUES (:LINE, '2', :POS);
:LINE = :LINE + 1;
INSERT INTO GENERALLOAD (LINE, RECORDTYPE, CHAR1)
VALUES (:LINE, '3', 'D');
:LINE = :LINE + 1;
INSERT INTO GENERALLOAD (LINE, RECORDTYPE, INT1)
VALUES (:LINE, '4', :COLOR);
LOOP 100;
LABEL 200;
CLOSE CUR;
EXECUTE INTERFACE '$', SQL.TMPFILE, '-L', :$.GEN;
GOTO 250 WHERE NOT EXISTS (SELECT 1 FROM ERRMSGS
WHERE USER = SQL.USER AND TYPE = 'i');
EXECUTE BACKGROUND WINACTIV '-R', 'INTERFACEERR';
LABEL 250;
UNLINK GENERALLOAD;
LABEL 300;
The interface called has the same name as the procedure (that's the dollar sign) and is defined as follows:
| Screen name | identifier | column name | field name |
| EREP | 1 | ENAME | TEXT13 |
| REPCLMNS | 2 | POS | INT1 |
| REPCLMNSHTML | 3 | ADDTITLE | CHAR1 |
| REPCLMNSTITLEHTML | 4 | BGCOLOR | INT1 |