Dieser Abschnitt behandelt folgende Themen:
Sie können mittels des folgenden Aufrufs innerhalb Ihrer Natural-Anwendung auf Kalenderdaten oder Zeitpläne zugreifen:
CALLNAT 'NOPUCS1N' P-FUNCTION P-RC P-OBJECT-TYPE P-OWNER P-OBJECT P-DATE-A8
Bedeutung der Parameter:
Parameter | Format/Länge | Verwendung | ||
---|---|---|---|---|
P-FUNCTION
|
A1 | ein | Funktions-Code: | |
A |
Kalender oder Zeitplan löschen | |||
B |
Kalender hinzufügen | |||
C
|
Verwendeten Kalender ermitteln. | |||
D |
Verwendeten Zeitplan ermitteln. | |||
N
|
Nächstes gesetztes Datum ermitteln, ausgehend von einem Start-Datum. | |||
P
|
Vorheriges gesetztes Datum ermitteln, ausgehend von einem Start-Datum. | |||
R |
Datum zurücksetzen. Datum wird aus dem Kalender oder Zeitplan entfernt. | |||
S
|
Datum setzen. Datum wird dem Kalender oder Zeitplan hinzugefügt. | |||
T
|
Datum testen. Wenn das Datum innerhalb eines Kalenders
oder eines Zeitplans existiert: RC enthält 0, sonst 1.
|
|||
1 |
Bei Kalender:
Setzen aller Datumswerte in dem Kalender. |
|||
Bei Zeitplan:
Nicht unterstützt. |
||||
2
|
Bei Kalender:
Zurücksetzen aller Datumswerte in dem Kalendar. |
|||
Bei Zeitplan:
Löschen aller Zeitplan-Definitionen. Der Zeitplan bleibt als leerer Rumpf zurück. Existiert eine Verknüpfung mit einem Kalender, so bleibt diese bestehen. Diese Funktion ist äquivalent zur Funktion Reset (PF9) im Bildschirm Zeitplan-Definition in der zeichenorientierten Benutzeroberfläche von Entire Operations. |
||||
P-RC
|
N3 | aus | Rückgabe-Code: | |
0
|
Funktion ok, oder: Datum ist gesetzt. | |||
1
|
Datum ist nicht gesetzt. | |||
2 |
Objekt nicht gefunden. | |||
3 |
Bei der Definition verwendetes Objekt. | |||
4 |
Schon vorhandenes Objekt. | |||
101
|
Ungültiger Funktions-Code. | |||
102
|
Parameter fehlt (fehlen). | |||
103
|
Ungültige Parameter-Kombination. | |||
104
|
Ungültiger Objekt-Typ. | |||
105
|
Ungültiges Datum. | |||
106
|
Tabelle expliziter Daten ist voll. | |||
- | - | - | 121 |
Eigentümer exisitiert nicht. |
P-OBJECT-TYPE
|
A1 | ein | Objekt-Typ: | |
N |
Netzwerk | |||
C
|
Kalender | |||
H |
Zeitplan-Historie | |||
S
|
Zeitplan | |||
P-OWNER
|
A10 | ein | Eigentümer des Objekts. | |
aus | Die Funktionen
C und D : Eigentümer des
ausgewählten Objekts.
|
|||
P-OBJECT
|
A10 | ein |
Name des Objekts: Eigentümer-Name bzw. Zeitplan-Name. Wenn
|
|
aus | Funktions-Codes
C und D : Name des
ausgewählten Objekts.
|
|||
P-DATE-A8
|
A8 | ein | Datum im Format: JJJJMMTT
|
|
aus | Funktions-Codes
N und P : das gefundene
Datum.
|
Anmerkungen:
T
(Datum testen) ist
für Objekt-Typ H
(Zeitplan-Historie)
erlaubt.
N
und
P
funktionieren auch über Jahreswechsel hinweg.
Einschränkungen: Bei Zeitplänen sind nur das aktuelle und das vorherige Jahr
verfügbar.
A
löscht die Kalender- bzw.
Zeitplan-Master, wenn P-OBJECT-TYPE = 'C'
bzw 'S'
.
Falls der Kalender bzw. Zeitplan für das aktuelle Jahr ist und falls er in
einem Zeitplan bzw. Netzwerk referenziert wird, dann wird der P-RC
Wert 3 (Objekt wird in Definitionen verwendet) zurückgeliefert. Kalender für
zurückliegende Jahre werden ohne Referenzierungsprüfung gelöscht.
P-FUNCTION='A'
und P-OBJECT-TYPE='C'
), dann soll der Wert von
P-DATE-A8
entweder die Form YYYY
oder
YYYYMMDD
oder die Konstante 'ALL'
haben. Der Wert
'ALL'
bedeutet, dass der Kalender für alle definierten Jahre
gelöscht wird.
Das Programm ermittelt den jeweils ersten Montag im Monat für das Jahr 2008 und setzt anschließend den Netzwerk-REQUEST/NET001 für die ermittelten Tage auf den Zeitplan.
* DETECT FIRST MONDAY IN MONTHS * DEFINE DATA LOCAL 1 #YYYYMMDD (A8) 1 REDEFINE #YYYYMMDD 2 #YYYY (N4) 2 #MM (N2) 2 #DD (N2) 1 #D1 (D) 1 #WD (A1) 1 #OWNER (A10) INIT <'REQUEST'> /* Owner 1 #OBJECT (A10) INIT <'NET001'> /* Network 1 #RC3 (N3) END-DEFINE * #YYYY := 2010 /* Year F1. FOR #MM = 01 TO 12 RESET #DD R1. REPEAT ADD 1 TO #DD MOVE EDITED #YYYYMMDD TO #D1 (EM=YYYYMMDD) MOVE EDITED #D1 (EM=O) TO #WD WRITE #D1 (EM=YYYYMMDD) #WD UNTIL #WD = '1' /* R1. END-REPEAT /* R1. WRITE #D1 (EM=YYYYMMDD' 'N(10)) * * CALL NOP SCHEDULE API TO SET THESE DAYS * CALLNAT 'NOPUCS1N' 'S' #RC3 'S' #OWNER #OBJECT #YYYYMMDD WRITE #YYYYMMDD #RC3 END-FOR /* F1. END TRANSACTION END