У меня есть программа SQR, которая использует поле с именем $ EFFDT. NOT явно объявлено в программе как переменная даты. То, что он в данный момент делает, это изначально устанавливается в '' (пусто) следующим образом:
LET $EFFDT = ' '
$EFFDT
, а затем устанавливается путем чтения файла из поля с именем $INPUT
read 1 into $Input:80
LET $EFFDT = substr($INPUT,53,8)
Затем она переформатирует дату, чтобы получить ее в формате ГГГГ-ММ-ДД
do Format-DateTime($EFFDT,$EFFDT,{Prompt-Mask},'','native')
Что я хочу Чтобы выполнить в более поздней процедуре, установите $ EFFDT в значение $ EFFDT минус 1 день
. То, что я пытался добавить в более поздней процедуре, таково:
LET $EFFDT = DATEADD($EFFDT, 'day', -1)
Когда я пытаюсь запустить SQR, я получаю SQR 4045
Error (функция или оператор 'dateadd' требует аргумента даты '
Из того, что я прочитал, это означает, что переменная $ EFFDT должна быть объявлена как переменная даты Таким образом, я явно объявил эту переменную как дату, однако тогда она выдает ошибку, когда программа выполняет эту часть кода:
LET $EFFDT = ' '
SQR 1944
- Дата '' не является в формате, указанном в SQR_DB_DATE_FORMAT, или в одном из допустимых форматов, перечисленных ниже ....
Так что я точно не уверен Чтобы перейти к исходной ошибке или 2-й ошибке, указанной выше. В конечном итоге мне нужно использовать $ EFFDT - 1 (день) в качестве поля в команде SQL Insert. Любая помощь приветствуется!