Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SHOW-CALENDAR

&pagelevel(3)&pagelevel

Request information from calendar file

Component:

CALENDAR

Functional area:

Job processing

Domain:

UTILITIES

Privileges:

STD-PROCESSING

Function

The SHOW-CALENDAR command is used to obtain information on the calendar data in the specified calendar file.
By default, (SELECT=*TODAY), the following information is output for the current day: the name of the calendar file, the current date, the name of the weekday (Monday...Sunday), the attribute of the current day (free day / working day), the number of associated SYMDATs (symbolic dates), the working hours, and if appropriate the holiday name, the names of the associated SYMDATs, and the time specifications assigned to them.
You use SELECT=*BASIC-INFORMATION to output the basic information of the calendar file: the name of the calendar, the calendar limits, and definitions of the standard working week. Within the standard working week, the attributes and working hours for the weekdays are defined.
You use SELECT=*DATE to output the day information relating to one or more days: the date, the name of the weekday, the attribute, the number of assigned SYMDATs, the working hours, the holiday name if appropriate, and using a special operand the names of the associated SYMDATs and the assigned time specifications.
You use SELECT=*SYMBOLIC-DATE to output information on SYMDATs. These are symbolic dates under whose names calendar days are combined (see the “Calendar” manual [4]).
You use SELECT=*HOLIDAY to output information on holidays. Output can be routed to SYSOUT or SYSLST.

The command supports structured output in S variables (see "Output in S variables").

SHOW-CALENDAR accesses the specified calendar file in read-only mode. You can create and modify calendar files using the CALENDAR utility or the program interface (CALENDR macro). To start the CALENDAR utility you use the START-CALENDAR-EDITOR command. There are in-depth descriptions of the utility and the program interface in the “Calendar” manual [4]. 

Format

SHOW-CALENDAR

CALENDAR-NAME = <filename 1..54>

,SELECT = *TODAY / *BASIC-INFORMATION / *DATE(...) / *SYMBOLIC-DATE(...) / *HOLIDAY(...)


*DATE(...)



|

FROM = *TODAY / *FIRST-CALENDAR-DATE / <date>



|

,TO = *SAME / *TODAY / *LAST-CALENDAR-DATE / <date> / *BY-NUMBER-OF-DAYS(...)



|


*BY-NUMBER-OF-DAYS(...)



|



|


NUMBER-OF-DAYS = <integer 1..1827 days>



|

,ASSIGNED-SYM-DATE = *NONE / *ALL(...) /



|

<filename 1..20 without-cat-user-gen-vers with-wild>(...)



|


*ALL(...)



|



|


ORDER-WITHIN-DAY = *BY-TIME / *BY-SYMBOLIC-DATE



|


<filename 1..20 without-cat-user-gen-vers with-wild>(...)



|



|


ORDER-WITHIN-DAY = *BY-TIME / *BY-SYMBOLIC-DATE


*SYMBOLIC-DATE(...)



|

FROM = *FIRST-SYMBOLIC-DATE / <filename 1..20 without-cat-user-gen-vers with-wild>



|

,TO = *SAME / *LAST-SYMBOLIC-DATE /



|

<filename 1..20 without-cat-user-gen-vers with-wild> /



|

*BY-NUMBER-OF-SYMBOLIC-DATES(...)



|


*BY-NUMBER-OF-SYMBOLIC-DATES(...)



|



|


NUMBER-OF-SYM-DATES = <integer 1..4096>



|

,ASSIGNED-DATES = *NO / *ALL / *NEXT-DATE / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = *TODAY / *FIRST-ASSIGNED-DATE / <date>



|



|

,TO = *SAME / *TODAY / *LAST-ASSIGNED-DATE / <date> /



|



|

*BY-NUMBER-OF-DAYS(...)



|



|



*BY-NUMBER-OF-DAYS(...)



|



|




|

NUMBER-OF-DAYS = <integer 1..1827 days>


*HOLIDAY(...)



|

FROM = *FIRST-HOLIDAY / <filename 1..30 without-cat-user-gen-vers with-wild>



|

,TO = *SAME / <filename 1..30 without-cat-user-gen-vers with-wild> /



|

*LAST-HOLIDAY / *BY-NUMBER-OF-HOLIDAYS(...)



|


*BY-NUMBER-OF-HOLIDAYS(...)



|



|


NUMBER-OF-HOLIDAYS = <integer 1..1024 days>



|

,ASSIGNED-DATES = *NO / *YES

,OUTPUT = *SYSOUT / list-poss(2): *SYSOUT / *SYSLST(...)


*SYSLST(...)



|

SYSLST-NUMBER = *STD / <integer 1..99>

Operands

CALENDAR-NAME = <filename 1..54>
Name of the calendar file from which information is to be output.

SELECT = *TODAY / *BASIC-INFORMATION / *DATE(...) / *SYMBOLIC-DATE(...) / *HOLIDAY(...)
Specification indicating which information is to be output from the calendar file.

SELECT = *TODAY
Specifies the information for the current day:

  • name of the calendar file

  • current date

  • name of the weekday

  • attribute: W = workday or F = free day

  • number of associated SYMDATs

  • working hours (beginning and end)

  • if appropriate, the name of the holiday

  • a list containing the names of associated SYMDATs and the time specifications assigned to them (sorted by time)

SELECT = *BASIC-INFORMATION
Specifies the basic information of the calendar:

  • name of the calendar file

  • calendar limits

  • days of the standard working week and their attributes (working day / free day)

SELECT = *DATE(...)
Specifies the day information for a range of days. The desired range is selected using the subordinate operands FROM and TO. The following information is output for each selected day:

  • date

  • name of the weekday

  • attribute: W = workday or F = free day

  • number of associated SYMDATs

  • working hours (beginning and end)

  • if appropriate, the name of the holiday

You can also use the subordinate operand ASSIGNED-SYM-DATE to request a list of the names of associated SYMDATs and the times assigned to them.

FROM = *TODAY / *FIRST-CALENDAR-DATE / <date>
Determines the first day at which output of the information is to begin.

FROM = *TODAY
Output begins from the current day.

FROM = *FIRST-CALENDAR-DATE
Output begins with the first day in the calendar file.

FROM = <date>
Output begins with the specified date.

TO = *SAME / *TODAY / *LAST-CALENDAR-DATE / <date> / *BY-NUMBER-OF-DAYS(...)
Determines the last day at which output of the information is to end.

TO = *SAME
Information is output for the day specified in FROM only.

TO = *TODAY
Output ends with the current day.

TO = *LAST-CALENDAR-DATE
Output ends with the last day in the calendar file.

TO = *BY-NUMBER-OF-DAYS(...)
Determines the size of the desired range in days beginning with the day specified in FROM.

NUMBER-OF-DAYS = <integer 1..1827 days >
Number of days.

ASSIGNED-SYM-DATE = *NONE / *ALL(...) / <filename 1..20 without-cat-user-gen-vers with-wild>(...)
Specifies whether the associated SYMDATs are to be output in addition to the calendar days.
The default value is *NONE, i.e. no additional list is output.

ASSIGNED-SYM-DATE = *ALL(...)
All the names of the SYMDATs assigned to the specified calendar days are output.

ORDER-WITHIN-DAY = *BY-TIME / *BY-SYMBOLIC-DATE
Determines the sort criterion. Output is sorted in accordance with the assigned time (*BY-TIME; default) or alphabetically by SYMDAT name (*BY-SYMBOLIC-DATE).

ASSIGNED-SYM-DATE = <filename 1..20 without-cat-user-gen-vers with-wild>(...)
The specified SYMDAT or the group of SYMDATs identified in the pattern string is also output. (You can select several SYMDATs with a single specification using a pattern string, where only the pattern character * is permitted at the end for any character string.)

ORDER-WITHIN-DAY = *BY-TIME / *BY-SYMBOLIC-DATE
Determines the sort criterion.
Output is sorted in accordance with the assigned time (*BY-TIME; default) or alphabetically by SYMDAT name (*BY-SYMBOLIC-DATE).

SELECT = *SYMBOLIC-DATE(...)
Specifies information on the SYMDATs defined in the calendar. The range of output is defined using the subordinate operands FROM and TO. You can also output the assigned days using the subordinate operand ASSIGNED-DATES.

FROM = *FIRST-SYMBOLIC-DATE / <filename 1..20 without-cat-user-gen-vers with-wild>
Specifies the SYMDAT at which output is to begin.

FROM = *FIRST-SYMBOLIC-DATE
Output begins with the first SYMDAT in the alphabetical sequence.

FROM = <filename 1..20 without-cat-user-gen-vers with-wild>
Output begins with the specified SYMDAT or with the group of SYMDATs (in alphabetical order) identified in the pattern string.
(You can select several SYMDATs with a single pattern string, where only the pattern character * is permitted at the end for any character string.)

TO = *SAME / *LAST-SYMBOLIC-DATE / <filename 1..20 without-cat-user-gen-vers with-wild> / 
*BY-NUMBER-OF-SYMBOLIC-DATES(...)
Specifies the SYMDAT at which output is to end.

TO = *SAME
The specification entered for the FROM operand also applies here.

TO = *LAST-SYMBOLIC-DATE
Output ends with the last SYMDAT in the alphabetical sequence.

TO = <filename 1..20 without-cat-user-gen-vers with-wild>
Output ends with the specified SYMDAT or with the group of SYMDATs (in alphabetical order) identified in the pattern string.
(You can select several SYMDATs with a single pattern string, where only the pattern character * is permitted at the end for any character string.)

TO = *BY-NUMBER-OF-SYMBOLIC-DATES(...)
Determines the number of SYMDATs to be output beginning with the SYMDAT specified in FROM.

NUMBER-OF-SYM-DATES = <integer 1..4096>
Number of SYMDATs.

ASSIGNED-DATES = *NO / *ALL / *NEXT-DATE / *INTERVAL(...)
Specifies whether the calendar days assigned to a selected SYMDAT are also to be output.
The default value is *NO, i.e. no additional list is output.

ASSIGNED-DATES = *ALL
All calendar days assigned to the selected SYMDAT are also output.

ASSIGNED-DATES = *NEXT-DATE
All calendar days assigned to the selected SYMDAT which occur after the current date are also output.

ASSIGNED-DATES = *INTERVAL(...)
Defines a range of days to be listed.

FROM = *TODAY / *FIRST-ASSIGNED-DATE / <date>
First day in the range of days to be listed.

FROM = *TODAY
The range begins with the current day.

FROM = *FIRST-ASSIGNED-DATE
The range begins with the next assigned day.

FROM = <date>
The range begins with the specified day.

TO = *SAME / *TODAY / *LAST-ASSIGNED-DATE / <date> / *BY-NUMBER-OF-DAYS(...)
Last day in the range of days to be listed.

TO = *SAME
The specification entered for the FROM operand also applies here.

TO = *TODAY
The range ends with the current day.

TO = *LAST-ASSIGNED-DATE
The range ends with the last assigned day.

TO = <date>
The range ends with the specified day.

TO = *BY-NUMBER-OF-DAYS(...)
Determines the number of days to be listed beginning with the day specified in FROM.

NUMBER-OF-DAYS = <integer 1..1827 days >
Number of days.

SELECT = *HOLIDAY(...)
Specifies information on holidays. This includes the names of the holidays and their properties (type: cyclic / non-cyclic; activation status: yes / no). The range of output is defined using the subordinate operands FROM and TO. You can also request a list of assigned days using the subordinate operand ASSIGNED-DATES.

FROM = *FIRST-HOLIDAY / <filename 1..30 without-cat-user-gen-vers with-wild>
Specifies the holiday at which output is to begin.

FROM = *FIRST-HOLIDAY
Output begins with the first holiday (alphabetically) in the calendar file.

FROM = <filename 1..30 without-cat-user-gen-vers with-wild>
Output begins with the specified holiday or with the group of holidays (in alphabetical order) identified in the pattern string.
(You can select several holidays with a single pattern string, where only the pattern character * is permitted at the end for any character string.)

TO = *SAME / <filename 1..30 without-cat-user-gen-vers with-wild> / *LAST-HOLIDAY / 
*BY-NUMBER-OF-HOLIDAYS(...)
Specifies the holiday at which output is to end.

TO = *SAME
The specification entered for the FROM operand also applies here.

TO = *LAST-HOLIDAY
Output ends with the last holiday (alphabetically) in the calendar file.

TO = <filename 1..30 without-cat-user-gen-vers with-wild>
Output ends with the specified holiday or with the group of holidays (in alphabetical order) identified in the pattern string.
(You can select several holidays with a single pattern string, where only the pattern character * is permitted at the end for any character string.)

TO = *BY-NUMBER-OF-HOLIDAYS(...)
Determines the number of holidays to be output beginning with the holiday specified in FROM.

NUMBER-OF-HOLIDAYS = <integer 1..1024 days >
Number of days to be output.

ASSIGNED-DATES = *NO / *YES
Specifies whether all calendar days that fall on the selected holidays are also to be listed.
The default value is *NO, i.e. no additional list is output.

OUTPUT = *SYSOUT / list-poss(2): *SYSOUT / *SYSLST(...)
Specifies whether output is to be written to SYSOUT or SYSLST.
The default value is *SYSOUT. Simultaneous output to both SYSLST and SYSOUT is possible (list specification).

OUTPUT = *SYSLST(...)
Output is written to SYSLST.

SYSLST-NUMBER = *STD / <integer 1..99>
Number of the SYSLST file.
The default value is *STD, i.e. output is written to SYSLST.
When entering a number, you must make sure that a cataloged file is assigned to the corresponding SYSLST file (SYSLST01 through SYSLST99) (see ASSIGN-SYSLST command).

Return codes

(SC2)

SC1

Maincode

Meaning


0

CMD0001

Command successfully executed


64

CLD1031

Calendar file does not exist


64

CLD1032

DMS error when accessing calendar file

Output formats

You can use the OUTPUT operand to route the desired output to SYSOUT and/or SYSLST. If desired, the user has the option of using a German-language interface. The layouts of the English interface, which are described below, are identical for SYSOUT and SYSLST.

SHOW-CALENDAR calendar.work-2

%------------------------------------------------------------------------
%                      INFORMATION ABOUT CURRENT DAY
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-3
%
%------------------------------------------------------------------------
%     DATE     DAY ATTR #SYM  WORKING HOURS HOLIDAY
%------------------------------------------------------------------------
%
%  2012-01-30  MON   W     2  07:30-15:00
%
%- SYMBOLIC DATE ---------- TIME ----- SYMBOLIC DATE ---------- TIME ----
%
%  INFOTAG                13:00:00     ULTIMO                 13:00:00
%------------------------------------------------------------------------

SHOW-CALENDAR calendar.work-2,SELECT=*BASIC-INFORMATION

%------------------------------------------------------------------------
%                           BASIC INFORMATION
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-3
%
%------------------------------------------------------------------------
%  CALENDAR LIMITS             START :  2011-01-30
%                              END   :  2012-01-30
%------------------------------------------------------------------------
%  STANDARD WEEK                                WORKING HOURS
%                                               START  END
%         DAY               ATTR               (HH:MM) (HH:MM)
%------------------------------------------------------------------------
%         MON                 W                 08:30 - 17:00
%         TUE                 W                 08:30 - 17:00
%         WED                 W                 08:30 - 17:00
%         THU                 W                 08:30 - 17:00
%         FRI                 W                 07:30 - 15:00
%         SAT                 F                 00:00 - 23:59
%         SUN                 F                 00:00 - 23:59
%------------------------------------------------------------------------

SHOW-CALENDAR calendar.work-2,SELECT=*DATE(FROM=2011-12-20,TO=2012-01-02)

/sh-cal calendar.work-3,sel=*date(from=2011-12-20,to=2012-01-02)

%------------------------------------------------------------------------
%                              LIST OF DAYS
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-3
%
%------------------------------------------------------------------------
%     DATE     DAY ATTR #SYM  WORKING HOURS HOLIDAY
%------------------------------------------------------------------------
%
%  2011-12-20  TUE   F     0  00:00-23:59
%  2011-12-21  WED   F     0  00:00-23:59
%  2011-12-22  THU   W     0  08:30-17:00
%  2011-12-23  FRI   W     0  08:30-17:00
%  2011-12-24  SAT   W     0  08:30-17:00
%  2011-12-25  SUN   F     0  08:30-17:00  ERSTER.WEIHNACHTSFEIERTAG
%  2011-12-26  MON   F     0  07:30-15:00  ZWEITER.WEIHNACHTSFEIERTAG
%  2011-12-27  TUE   F     0  00:00-23:59
%  2011-12-28  WED   F     0  00:00-23:59
%  2011-12-29  THU   W     0  08:30-17:00
%  2011-12-30  FRI   W     0  08:30-17:00
%  2011-12-31  SAT   W     2  08:30-17:00
%  2012-01-01  SUN   F     0  08:30-17:00  NEUJAHR
%  2012-01-02  MON   W     0  07:30-15:00
%------------------------------------------------------------------------ 

SHOW-CALENDAR calendar.work-2,SELECT=*DATE(FROM=2012-01-29,
                            TO=2012-02-01,ASSIGNED-SYM-DATE=*ALL)

%------------------------------------------------------------------------
%                            DAY INFORMATION
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-3
%
%------------------------------------------------------------------------
%     DATE     DAY ATTR #SYM  WORKING HOURS HOLIDAY
%------------------------------------------------------------------------
%
%  2012-01-29  THU   W     0  08:30-17:00
%
%------------------------------------------------------------------------
%     DATE     DAY ATTR #SYM  WORKING HOURS HOLIDAY
%------------------------------------------------------------------------
%
%  2012-01-30  FRI   W     2  07:30-15:00
%
%- SYMBOLIC DATE ---------- TIME ----- SYMBOLIC DATE ---------- TIME ----
%
%  INFOTAG                13:00:00     ULTIMO                 13:00:00
%------------------------------------------------------------------------
%     DATE     DAY ATTR #SYM  WORKING HOURS HOLIDAY
%------------------------------------------------------------------------
%
%  2012-01-31  SAT   F     0  00:00-23:59
%
%------------------------------------------------------------------------
%     DATE     DAY ATTR #SYM  WORKING HOURS HOLIDAY
%------------------------------------------------------------------------
%
%  2012-02-01  SUN   F     0  00:00-23:59
%
%------------------------------------------------------------------------

SHOW-CALENDAR calendar.work-2,SELECT=*SYMBOLIC-DATE
              (FROM=*FIRST-SYMBOLIC-DATE,TO=*LAST-SYMBOLIC-DATE)

%------------------------------------------------------------------------
%                         LIST OF SYMBOLIC DATES
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-3
%
%------------------------------------------------------------------------
%  SYMBOLIC DATE             TIME    TYPE   CYCLTYP  CYCLVAL   CYCLALT
%------------------------------------------------------------------------
%
%  MONATSINFO              09:00:00    C    MONTH          1   AFTER
%  ULTIMO                  13:00:00    C    MONTH          1   BEFORE
%------------------------------------------------------------------------

SHOW-CALENDAR calendar.work-2,SELECT=*SYMBOLIC-DATE
             (FROM=*FIRST-SYMBOLIC-DATE,TO=*LAST-SYMBOLIC-DATE,
             ASSIGNED-DATES=*INTERVAL(FROM=*TODAY,TO=2012-02-09))

%------------------------------------------------------------------------
%                        SYMBOLIC DATE INFORMATION
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-3
%
%------------------------------------------------------------------------
%  SYMBOLIC DATE             TIME    TYPE   CYCLTYP  CYCLVAL   CYCLALT
%------------------------------------------------------------------------
%
%  MONATSINFO              09:00:00    C    MONTH          1   AFTER
%
%---------------------------- ASSIGNED DATES ----------------------------
%
%   2012-02-09
%------------------------------------------------------------------------
%  SYMBOLIC DATE             TIME    TYPE   CYCLTYP  CYCLVAL   CYCLALT
%------------------------------------------------------------------------
%
%  ULTIMO                  13:00:00    C    MONTH          1   BEFORE
%
%---------------------------- ASSIGNED DATES ----------------------------
%
%   2012-01-30    2012-02-27
%------------------------------------------------------------------------
/ 


Note

The following example is based on the German calendar file.

SHOW-CALENDAR calendar.work-2,SELECT=*HOLIDAY(FROM=*FIRST, TO=neujahr)

%------------------------------------------------------------------------
%                            LIST OF HOLIDAYS
%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-2
%
%------------------------------------------------------------------------
%  HOLIDAY NAME                      TYPE   ACTIVE
%------------------------------------------------------------------------
%
%  CHRISTI.HIMMELFAHRT                 N      Y
%  ERSTER.WEIHNACHTSFEIERTAG           C      Y
%  FRONLEICHNAM                        N      Y
%  KARFREITAG                          N      Y
%  MAIFEIERTAG                         C      Y
%  NEUJAHR                             C      Y
%------------------------------------------------------------------------

SHOW-CALENDAR calendar.work-2, SELECT = *HOLIDAY(FROM=oster*,
                              TO=*SAME,ASSIGNED-DATES=*YES)

%------------------------------------------------------------------------
%  CALENDAR NAME:  :2OSG:$USER1.CALENDAR.WORK-2
%
%------------------------------------------------------------------------
%  HOLIDAY NAME                      TYPE   ACTIVE     DATE
%------------------------------------------------------------------------
%
%  OSTERMONTAG                         N      Y
%
%---------------------------- ASSIGNED DATES ----------------------------
%
%   2011-04-25    2012-03-09
%------------------------------------------------------------------------
%  HOLIDAY NAME                      TYPE   ACTIVE     DATE
%------------------------------------------------------------------------
%
%  OSTERSONNTAG                        N      Y
%
%---------------------------- ASSIGNED DATES ----------------------------
%
%   2011-04-24    2012-03-08
%------------------------------------------------------------------------

Description of output fields

Output field

Meaning

ACTIVE

Activation status of the holiday: Y = activated, N = not activated

ASSIGNED DATES

Dates of the calendar days assigned to a SYMDAT or a holiday; output in yyyy-mm-dd format

ATTR

Attribute of the weekday: W = working day, F = free day

CALENDAR LIMITS

Calendar limits:

  • START

First date in the calendar (lower calendar limit); output in yyyy-mm-dd format

  • END

Last date in the calendar (upper calendar limit); output in yyyy-mm-dd format

CALENDAR NAME

Name of the calendar file

CYCLALT

Alternative for a case where a calculated SYMDAT entry is a free day; possible values:
BEFORE = insert before free day, AFTER = insert after free day, SKIP = skip day, ON = insert on free day

CYCLTYP

Cycle type of the SYMDAT: DAY, WORKDAY, MONTH, WEEK

CYCLVAL

Cycle value

DATE

Date; output in yyyy-mm-dd format; for cyclic holidays, output in format: ****-mm-dd

DAY

Name of the weekday: MON (Monday), TUE (Tuesday), WED (Wednesday), THU (Thursday), FRI (Friday), SAT (Saturday), SUN (Sunday)

HOLIDAY

Name of the associated holiday

HOLIDAY NAME

Name of the holiday; max. 30 characters

SYMBOLIC DATE

Name of a SYMDAT; max. 20 characters

STANDARD WEEK

Definitions of the standard working week include the following information: DAY, ATTR, and WORKING HOURS (see relevant descriptions)

TIME

Time entry assigned to the SYMDAT; output in hh:mm:ss format

TYPE

Type of SYMDAT or holiday: C = cyclic, N = non-cyclic

WORKING HOURS

Beginning and end of the working hours; output in hh:mm-hh:mm format

#SYM

Number of SYMDATs assigned to a particular day

Table 98: Output fields of the SHOW-CALENDAR command

Output in S variables

The command's SELECT operand identifies the S variables which are to be created. The following specifications are possible for SELECT

Notation used in command

Abbreviated form used in table

SEL=*BASIC-INFORMATION

1

SEL=*DATE(ASSIGNED-SYM-DATE=*NONE)

2

SEL=*DATE(ASSIGNED-SYM-DATE=*ALL/name)

3

SEL=*HOLIDAY(ASSIGNED-DATES=*NO)

4

SEL=*HOLIDAY(ASSIGNED-DATES=*YES)

5

SEL=*SYMBOLIC-DATE(ASSIGNED-DATES=*NO)

6

SEL=*SYMBOLIC-DATE(ASSIGNED-DATES=*ALL/*NEXT-DATE/*INTERVAL)

7

SEL=*TODAY

8

Output information

Name of the S variable

T

Contents              

Condition

Public holidays activated

var(*LIST).ACTIVE

S

*NO
*YES

4,5

Alternative in case the calculated SYMDAT falls on a free day
*AFTER=enter the first available working day after the calculated SYMDAT1
*BEFORE=enter the first available working day before the calculated SYMDAT 2
*ON=do not search; enter the SYMDAT on the free day
*SKIP=do not search; do not enter an alternative date

var(*LIST).ALT

S

*AFTER
*BEFORE
*ON
*SKIP

6,7

Date of the days assigned to the SYMDAT or holiday

var(*LIST).ASS-DATE(*LIST)

S

<yyyy-mm-dd>

5,7

Type of day
*FREE=free day
*WORK=working day

var(*LIST).ATTR

S

*FREE
*WORK

2,3,8

First date in the calendar (beginning of range)

var(*LIST).CALEN-BEGIN

S

<yyyy-mm-dd>

1

Last date in the calendar (end of range)

var(*LIST).CALEN-END

S

<yyyy-mm-dd>

1

Name of the calendar file

var(*LIST).CALEN-NAME 

S

<filename 1..54>

1,2,3,4,5,6,7,8

Cycle type for symbolic date

var(*LIST).CYCL-TYPE

S

*DAY
*MONTH
*WEEK
*WORKDAY

6,7

Cycle value

var(*LIST).CYCL-VAL

I

<integer 1..9999>

6,7

Date
If 5: date assigned to the public holiday; the S variable is assigned a value only for cyclic holidays. In this case, the output for yyyy is ****. In the case of non-cyclic holidays the output consists of a blank.

var(*LIST).DATE

S

<yyyy-mm-dd>

2,3,5,8

Name of the day of the week

var(*LIST).DAY

S

MON
TUE
WED
THU
FRI
SAT
SUN

2,3,8

The designated day is a holiday(see var(*LIST).DATE)

var(*LIST).HOLIDAY

S

*NO
*YES

2,3,8

Name of the holiday

var(*LIST).HOLIDAY-NAME

S

''
<name 1..30>

2,3,4,5,8

Number of SYMDATs associated with the day (see var(*LIST).DATE)

var(*LIST).NUM-OF-SYMB-DATE

I

<integer ..4096>

2,3,8

Type of day
*FREE=free day
*WORK=working day (standard working week)

var(*LIST).STD-WEEK(*LIST).ATTR

S

*FREE
*WORK

1

Name of the day of the week (standard working week)

var(*LIST).STD-WEEK(*LIST).DAY

S

MON
TUE
WED
THU
FRI
SAT
SUN

1

Start of working hours (standard working week)

var(*LIST).STD-WEEK(*LIST).WORK-TIME-BEGIN

S

<hh:mm>

End of working hours (standard working week)

var(*LIST).STD-WEEK(*LIST).WORK-TIME-END

S

<hh:mm>

1

Name of the SYMDAT (lexically ascending series starts with the specified SYMDAT)

var(*LIST).SYMB-DATE-NAME

S

<name 1..20>

6,7

Name of the SYMDAT assigned to the day (see var(*LIST).DATE);
if no SYMDAT is defined, the S variable is not generated

var(*LIST).SYMB-DATE(*LIST).NAME

S

<name 1..20>

3,8

Time of day on the SYMDAT assigned to the day (see var(*LIST).DATE); if no SYMDAT is defined, the S variable is not generated

var(*LIST).SYMB-DATE(*LIST).TIME

S

<hh:mm:ss>

3,8

Time of day assigned to the SYMDAT

var(*LIST).TIME

S

<hh:mm:ss>

6,7

Type of SYMDAT or holiday

var(*LIST).TYPE

S

*CYCL
*NOT-CYCL

4,5,6,7

Start of working hours

var(*LIST).WORK-TIME-BEGIN

S

<hh:mm>

2,3,8

End of working hours

var(*LIST).WORK-TIME-END

S

<hh:mm>

2,3,8

Key to var(*LIST).ALT:

1

*AFTER: The next working day is searched for in the range “calculated date + (cycle value - 1)”. If the search is successful, the alternative day is entered after the date originally calculated. If no working day is found within the period, the entry is dropped.

2

*BEFORE: The next working day is searched for in the range “calculated date - (cycle value - 1)”. If the search is successful, the alternative day is entered before the date originally calculated. If no working day is found within the period, the entry is dropped.