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 | Verwendung | ||
---|---|---|---|---|
P-FUNCTION
|
A01 | 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 |
Setzen aller Daten in der Tabelle (Kalendar oder Zeitplan). | |||
2
|
Zurücksetzen aller Daten in der Tabelle (Kalendar oder Zeitplan). Zeitplan). | |||
P-RC
|
N03 | 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
|
A01 | 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
|
A08 | 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/BFA001 für die ermittelten Tage auf den Zeitplan.
* BFA001 * 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