SUB_DAYS

Script Function: Subtracts days from a given date

Syntax

SUB_DAYS ([Date Format:]Date, Days[, Calendar, Calendar Keyword])

Syntax

Description/Format

Date

Days

A value specifying a number of days.
Format: script literal - number without quotation marks or script variable

Calendar

The name of the relevant calendar.
Format: AE name - script literal or script variable

Calendar Keyword

The name of the relevant calendar keyword.
Format: AE name, script literal or script variable


Return code

Date in the specified format
"0" - No days have been assigned to this calendar keyword or the calculated date lies out of the calendar range.
"20327" - Calendar object does not exist
"20328" - Calendar keyword does not exist in the Calendar object

Comments

This function subtracts Days from a given Date. Optionally, you may execute these functions depending on Calendar and Calendar Keyword. In this case only Days which are valid due to the relevant calendar definitions will be taken into account.

If you specify a particular data format, the date will be returned in this format. If no date format has been specified, use the default formats "YYMMDD" or "YYYYMMDD" and the date will be returned in the corresponding format.  Use a colon or semicolon as a separator between Date format and Date.

It is also possible to specify zero Days. If the Date is valid according to the Calendar, this date will be returned. If it is not valid, the previous valid date (calendar conditions) will bereturned.

The range of the specified calendar is automatically considered in calendar calculations. This range depends on the settings the administrator defined in the variable UC_CLIENT_SETTINGS in the keys NOW_MINUS and NOW_PLUS. Code "0" will be returned if the calculated date lies beyond this defined range".

Examples

The first example subtracts two days from a specified date. The result ("000330") is output in the activation protocol.

:SET &DATE# = SUB_DAYS("000401", 2)
:
PRINT &DATE#

The second example queries the number of days to be stored by the user using a script statement. This function deducts the retrieves number from the current date and stores the result in a script variable. The default format "YYMMDD" is used because no date format has been specified.

:SET &CURDATE# = SYS_DATE()  
:
READ &NUMBER#,"00","Store how many days?","08",N
:
SET &RETDATE# = SUB_DAYS(&CURRENTDATE#, &NUMBER#)

The third example calculates the current date. Two days are then deducted from this date. As it was not retrieved in the default format, the required date format must again be specified in the script variable.

:SET &CURDATE# = SYS_DATE("DD.MM.YY")
:
SET &PWRKDAY# = SUB_DAYS("DD.MM.YY:&CURDATE#", 2)

See also:

Script Elements - Date and Time

Date, Time and Period Formats

About Scripts
Script Elements - Alphabetical Listing

Script Elements - Ordered by Function