Para verificar se uma data eh dia util ou nao, basta utilizar o exemplo abaixo:

Procedure
PROCEDURE DiaUtil:
DEFINE INPUT PARAMETER p_data AS DATE FORMAT “99/99/9999”.
DEFINE OUTPUT PARAMETER p_flg AS LOGICAL INITIAL TRUE.
IF WEEKDAY(p_data) = 7
OR WEEKDAY(p_data) = 1 THEN DO:
ASSIGN p_flg = FALSE.
END.
END PROCEDURE.

Chamada da procedure
DEFINE VARIABLE flg AS LOGICAL INITIAL TRUE.
run DiaUtil (INPUT  “20/12/2008”
,OUTPUT flg).
IF flg = TRUE THEN
MESSAGE “Eh dia util” VIEW-AS ALERT-BOX.
ELSE
MESSAGE “Nao eh dia util” VIEW-AS ALERT-BOX.

Se quiser mais completo, basta criar uma tabela de feriados, alimentar e incluir na procedure.

😀