Z-MODPWD

Dieses Dokument behandelt die folgenden Themen:


Beschreibung

Passwort ändern.

Dieses Subprogramm kann entweder von einem Teilnehmer oder einem Administrator benutzt werden. Der Administrator muss entweder ein Supervisor sein oder ein Büroadministrator, der berechtigt ist Büros zu ändern.

Ein Teilnehmer kann das Passwort des eigenen Privatbüros ändern. Ein Administrator kann das Passwort jedes Büros (außer des Büros SYSCNT) ändern. Im Parameter Bueroname müssen Sie das Büro angeben, dessen Passwort geändert werden soll.

Wenn es nicht erlaubt ist, das Bürokennzeichen oder eine bestimmte Zeichenfolge als Passwort zu definieren, wird Return-Code 99 ausgegeben.

Wenn Sie den Parameter Passwort-generieren füllen, erzeugt Z-MODPWD automatisch ein neues Passwort. In diesem Fall wird der Parameter Neues-Passwort ignoriert.

Wenn Sie den Parameter Passwort-generieren nicht füllen, müssen Sie den Parameter Neues-Passwort angeben.

Anmerkung:
Wenn Z-MODPWD ein neues Passwort erzeugt, wird dieses neue Passwort nicht an das aufrufende Programm zurückgegeben.

Wenn ein Administrator das Passwort eines Büros ändert, das nicht sein Privatbüro ist, gilt Folgendes: wenn der Parameter Passwort-generieren nicht angegeben wurde oder den Wert S enthält, wird automatisch eine Nachricht an das Büro gesendet, das im Parameter Bueroname angegeben wurde. In der Nachricht steht, dass das Passwort geändert wurde. Wenn das Senden und Empfangen von Post bei diesem Büro nicht erlaubt ist, wird die Nachricht an das Büro SYSCNT gesendet.

Eine Nachricht wird nur gesendet, wenn der Administrator das Passwort eines Büros ändert, das nicht sein Privatbüro ist. Die folgenden Parameter können für die verschiedenen Funktionen dieses Subprogramms benutzt werden:

  • Neues-Passwort ist gefüllt (Passwort-generieren ist nicht gefüllt): Nachricht wird nicht gesendet.

  • Passwort-generieren ist mit S gefüllt: Nachricht wird gesendet.

  • Passwort-generieren ist mit einem beliebigen Zeichen außer S gefüllt: Nachricht wird nicht gesendet.

Wenn eine Nachricht gesendet werden soll, benutzt Z-MODPWD die Werte im Parameter Nachricht-Text gleichzeitig als Betreff und Text der Nachricht. Wenn der Parameter Nachricht-Text nicht gefüllt ist, versucht Z-MODPWD die entsprechende Con-nect-Meldung mit Hilfe des aktuellen Werts von *LANGUAGE zu benutzen.

Nach der erfolgreichen Ausführung von Z-MODPWD erfolgt immer ein END TRANSACTION. Sie können die Transaktionsverarbeitung nicht kontrollieren. Wenn ein anderer Wert als 0 im Parameter Return-Code ausgegeben wird, erfolgt immer ein BACKOUT TRANSACTION.

Parameter

Parameter Format Ein Aus Bemerkung
Return-Code N2   X  
Buero A8 E   Das Büro eines Teilnehmers oder Administrators.
Passwort A8 E   Das Passwort des o.g. Büros.
Bueroname A8 E   Das Büro, dessen Passwort geändert werden soll.
Neues-Passwort A8 E*   Das neue Passwort für das Büro. Wird ignoriert, wenn Passwort-generieren gefüllt ist.
Passwort-generieren A1 E*   Mit einem beliebigen Zeichen (außer S) füllen, um ein neues Passwort zu generieren. Mit S füllen, um ein neues Passwort zu generieren und eine Nachricht zu senden.
Nachricht-Text A65 O   Der Text der Nachricht, die gesendet werden soll.

Return-Codes

00 Erfolg
02 Ungültiger Büroname oder - nur im Batch-Betrieb - Büro gesperrt
03 Falsches Passwort
15 Ungültiger Administratorstatus
18 API-Kontext-Buffer ist nicht verfügbar
97 Text für Nachricht ist nicht verfügbar
98 Das zu ändernde Büro wurde nicht gefunden
99 Ungültiges neues Passwort

Subprogramme

Z-SENDX
Z-110
Z-120
Z-122
Z-123
Z-135
Z-145
Z-155
Z-164
Z-165
Z-175
Z-185
Z-190
Z-1200&0

Beispiel

0010 * Diese Routine aendert die Passworte aller Privatbuero, bei denen
0020 * das alte Passwort und der Bueroname identisch sind. Z-DIS05 verarbeitet
0030 * die Bueros in einer Schleife. Bei jedem gefundenen Buero erfolgt ein
0040 * Dummy-Aufruf von Z-ADD13. Wenn bei diesem Dummy-Aufruf ein anderer
0050 * Wert als 3 im Return-Code ausgegeben wird, so sind das alte Passwort und
0060 * der Bueroname identisch und Z-MODPWD wird aufgerufen.
0070 *
0080 DEFINE DATA
0090 *
0100 LOCAL
0110 *
0120 * Parameter fuer Z-MODPWD
0130 *
0140 1 RETURN-CODE            (N2)
0150 1 BUERO                  (A8)
0160 1 PASSWORT               (A8)
0170 1 BUERONAME              (A8)
0180 1 NEUES-PASSWORT         (A8)
0190 1 PASSWORT-GENERIEREN    (A1)
0200 1 NACHRICHT-TEXT         (A65)
0210 *
0220 * Parameter fuer Z-DIS05
0230 *
0240 1 #05-RETURN-CODE        (N2)
0250 1 #05-BUERO              (A8)
0260 1 #05-PASSWORT           (A8)
0270 1 #05-STARTBUERO         (A8)
0280 1 #05-STARTBUEROTYP      (N1)
0290 1 #05-ANZAHL             (N2)
0300 1 #05-BUEROLISTE         (1:20)
0310   2 #05-BUERONAME        (A8)
0320   2 #05-BUEROTYP         (A1)
0330   2 #05-NACHNAME         (A32)
0340   2 #05-VORNAME          (A32)
0350   2 #05-2-VORNAME        (A1)
0360   2 #05-KEINE-POST       (A1)
0370   2 #05-VERANTWORTLICHER (A1)
0380   2 #05-ADMINISTRATOR    (A1)
0390   2 #05-BUERO-ISN        (P8)
0400 1 #05-WORK-PARAMETER     (A42)
0410 *
0420 * Parameter fuer Z-ADD13
0430 *
0440 1 #13-RETURN-CODE        (N2)
0450 1 #13-BUERO              (A8)
0460 1 #13-PASSWORT           (A8)
0470 1 #13-FACHNAME           (A15)
0480 1 #13-ORDNERNAME         (A15)
0490 1 #13-FACH-ABLAGEFOLGE   (N1)
0500 1 #13-FACHNUMMER         (N5)
0510 1 #13-ORDNERNUMMER       (N5)
0520 *
0530 * Andere lokale Parameter
0540 *
0550 1 #MELDUNG               (A40)
0560 1 #SCHLEIFE              (P3)
0570 1 #ABBRECHEN             (L)
0580 *
0590 END-DEFINE
0600 *
0610 MOVE FALSE                            TO #ABBRECHEN
0620 MOVE 'SYSADMIN'                       TO BUERO    #05-BUERO
0630                                          PASSWORT #05-PASSWORT
0640 MOVE 'DUMMY'                          TO NEUES-PASSWORT
0650 MOVE 'Passwort wurde geaendert - Administrator fragen'
0660                                       TO NACHRICHT-TEXT
0670 MOVE 'Alle Passworte wurden geprueft' TO #MELDUNG
0680 *
0690 REPEAT
0700      CALLNAT 'Z-DIS05'
0710           #05-RETURN-CODE
0720           #05-BUERO
0730           #05-PASSWORT
0740           #05-STARTBUERO
0750           #05-STARTBUEROTYP
0760           #05-ANZAHL
0770           #05-BUEROLISTE (*)
0780           #05-WORK-PARAMETER
0790      IF   #05-RETURN-CODE EQ 0 OR EQ 77
0800           FOR  #LOOP EQ 1 TO 20
0810                IF   #05-BUERONAME (#LOOP) NE ' '
0820                 AND NOT #ABBRECHEN
0830                     PERFORM BUERO-VERARBEITEN
0840                END-IF
0850           END-FOR
0860      ELSE
0870           COMPRESS 'Error Z-DIS05:' #05-RETURN-CODE
0880                                      INTO #MELDUNG
0890      END-IF
0900 UNTIL #05-RETURN-CODE GT 0
0910   OR #ABBRECHEN
0920 END-REPEAT
0930 *
0940 WRITE NOTITLE #MELDUNG
0950 *
0960 DEFINE SUBROUTINE BUERO-VERARBEITEN
0970 *
0980 RESET                                     #13-RETURN-CODE
0990 MOVE #05-BUERONAME (#LOOP)             TO #13-BUERO #13-PASSWORT
1000 CALLNAT 'Z-ADD13'
1010      #13-RETURN-CODE
1020      #13-BUERO
1030      #13-PASSWORT
1040      #13-FACHNAME
1050      #13-ORDNERNAME
1060      #13-FACH-ABLAGEFOLGE
1070      #13-FACHNUMMER
1080      #13-ORDNERNUMMER
1090 *
1100 IF   #13-RETURN-CODE LT 3             /* sollte nicht auftreten
1110      COMPRESS 'Error Z-ADD13:' #13-RETURN-CODE #13-BUERO
1120                                      INTO #MELDUNG
1130      MOVE TRUE                         TO #ABBRECHEN
1140 ELSE
1150      IF   #13-RETURN-CODE GT 3        /* Passwort und Buero sind identisch
1160           MOVE #13-BUERO             TO BUERONAME
1170           CALLNAT 'Z-MODPWD'
1180                RETURN-CODE
1190                BUERO
1200                PASSWORT
1210                BUERONAME
1220                NEUES-PASSWORT
1230                PASSWORT-GENERIEREN
1240                NACHRICHT-TEXT
1250           IF   RETURN-CODE GT 0
1260                COMPRESS 'Error Z-MODPWD:' RETURN-CODE
1270                                      INTO #MELDUNG
1280                MOVE TRUE               TO #ABBRECHEN
1290           END-IF
1300      END-IF
1310 END-IF
1320 *
1330 END-SUBROUTINE
1340 *
1350 END