Как проверить ошибку за неправильную дату. Я хотел бы, чтобы проверить в триггере отпуска самОпределенная пользователем ошибка на дату
Я использовал следующий код, но не работает :(
может кто-нибудь помочь.
Thanksin вперед.
С уважением, Рави. dtJoin - поле базы данных.
Ниже приведен код, который я пробовал.
=============================================================================================================
DEFINE VARIABLE vDATE AS DATE NO-UNDO.
DEFINE VARIABLE vToday AS DATE NO-UNDO.
DEFINE VARIABLE leap AS LOGICAL NO-UNDO.
ASSIGN
vToday = DATE(DtJoin:SCREEN-VALUE) NO-ERROR.
IF ((YEAR(vToday) MODULO 400 = 0)OR(year(vToday) MODULO 4 = 0)AND(year(vToday) MODULO 100 = 0))
THEN
leap = TRUE.
ELSE
leap = FALSE.
MESSAGE MONTH(vToday)
VIEW-AS ALERT-BOX INFO BUTTONS OK.
/* IF MONTH(vToday) = 1 /* OR MONTH(vToday) = 3 OR MONTH(vToday) = 5 OR MONTH(vToday) = 7 OR MONTH(vToday) = 8 OR MONTH(vToday) = 10 OR MONTH(vToday) = 12 */ THEN
IF DATE(vToday) > 31 THEN
MESSAGE "Invalid Date"
VIEW-AS ALERT-BOX ERROR BUTTONS OK.
ELSE
ASSIGN
vdate = vToday.
*/
/*
ELSE IF MONTH(vToday) = 4 OR MONTH(vToday) = 6 OR MONTH(vToday) = 9 OR MONTH(vToday) = 11 THEN
IF DATE(vToday) > 30 THEN
MESSAGE
VIEW-AS ALERT-BOX ERROR BUTTONS OK.
ELSE
ASSIGN
vdate = vToday.
ELSE IF MONTH(vToday) = 2 AND leap THEN
IF DATE(vToday) > 29 THEN
MESSAGE
VIEW-AS ALERT-BOX ERROR BUTTONS OK.
ELSE
ASSIGN
vdate = vToday.
ELSE
IF DATE(vToday) > 28 THEN
MESSAGE
VIEW-AS ALERT-BOX ERROR BUTTONS OK.
ELSE
ASSIGN
vDate = vToday.
*/
END.
Это какой-то вид SQL? Добавить языковой тег. – doctorlove
@doctorlove - НЕТ, это от Progress 4GL. – Ravi