[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2008
    Beiträge
    70
    Hallo Hr. Bender,
    wegen der Berechtigung - ich hab es daraufhin im GreenScreen über den Befehl CHGPWD probiert, dieser funktioniert. Die Einstellung die sie meinen finde ich im DSPUSRPRF?
    Code:
    Kennwortüberprüfungen nicht gültig . . . . :   0                 
    Status . . . . . . . . . . . . . . . . . . :   *ENABLED          
    Datum der letzten Kennwortänderung . . . . :   04.12.06  10:20:02
    Kennwort ist *NONE . . . . . . . . . . . . :   *NO               
    Intervall für Kennwortablauf . . . . . . . :   *SYSVAL           
    Kennwort durch Bef. auf abgelaufen gesetzt :   *NO               
    Kennwortänderung blockieren  . . . . . . . :   *SYSVAL           
    Lokale Kennwortverwaltung  . . . . . . . . :   *YES

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Zwei Fragen:
    1. Hast Du die Stored Procedure auch mal testweise unter STRSQL ausgeführt? Gleiches Ergebnis oder nicht?
    2. Könnte irgendwo ein (fehlender) Commit irgendetwas blockieren?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Sep 2008
    Beiträge
    70
    Hallo Frau Hauser,

    Den Commit habe ich zunächst im "SQL Prozeduren Ausführen" probiert, jedoch ohne Erfolg.

    Unter STRSQL im Green-Screen sehe ich einen Fehler. Das System hat Probleme mit Parameter 4:
    Code:
    Nachrichten-ID . . . . :   SQL0469                                           
                                                                                 
                                                                                 
    Nachricht . . . :   Attribut IN, OUT oder INOUT für Parameter 4 in Prozedur  
      CHGPWD in ED14LIB ungültig.                                                
                                                                                 
    Ursache  . . . . :  Das Attribut IN, INOUT oder OUT, das für Parameter 4 bei 
      der Definition der Prozedur angegeben wurde, ist nicht gültig. Der         
      Parametername ist ERRORCODE. Einer der folgenden Fehler ist aufgetreten:   
        -- Für einen Parameter OUT kann kein Standardwert angegeben werden.      
        -- Das Attribut ist mit dem Parameter in der Anweisung CALL nicht        
      konsistent. Wurde der Parameter als INOUT oder OUT deklariert, muss der    
      Parameter in der Anweisung CALL als Host-Variable oder globale Variable    
      angegeben werden.                                                          
        -- Das Attribut wurde als INOUT oder OUT angegeben und REXX wurde als    
      Sprache angegeben. Wird REXX angegeben, muss das Attribut IN lauten.       
                                                                      Weitere ...
    Wie muss ich den vierten Parameter definieren u. wie hat der CALL auszusehen?

    Ich habe es bereits mit IN/INOUT/OUT versucht.
    Code:
    , OUT ErrorCode CHAR(15))
    Beim Aufruf habe ich auch entsprechend Kombinationen von 15 * BLANKS, dem Schlüsselwort "default", "null" oder auch "?" auf Gut Glück versucht, alles ähnlich.

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Vielleicht liegt das Problem im Aufruf.
    Wenn es sich um einen Ausgabe-Parameter handelt, muss dieser als Parameter-Marker also als ? angegeben werden.
    Ich weiiß jetzt allerdings nicht, ob STRSQL diese Paramtermarker schon unterstützt.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Errorcode ist eine Struktur und kann nicht als Char definiert werden (Siehe API-Dokumentation)!
    Deshalb ist das API auch nicht direkt sondern nur als Wrapper (z.B. ILERPG) verwendbar, da SQL keine Strukturen kennt.
    Alternativ kann man auch 8-Byte X'00' übergeben, d.h., keine Fehlermeldung zurückgeben.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Sep 2008
    Beiträge
    70

    Thumbs up

    Den Parametermarker ? kann man leider (noch) nicht verwenden unserer Version.

    Danke Hr. Fürchau, dann bleibt mir der Weg über ein RPGchen wohl nicht erspart

  7. #7
    Registriert seit
    Sep 2008
    Beiträge
    70
    Kleine Zwischenstatus. Über das SQL-RPGILE kann ich nun das Kennwort ändern. Einzig für ein VERFALLENES Kennwort habe ich noch meine Probleme.
    Da ich ja den ODBC-Kanal mit dem abgelaufenen Kennwort nicht öffnen kann um die externe SQL Prozedur aufrufen.
    Die Prozedur ist aber so konzipiert, dass ich nur KennwortAktuell + KennwortNeu übergebe, damit ich auch keine besonderen Rechte für das Programm benötige läuft dann die Kennwortänderung nur für den aktuellen Benutzer, welcher die Verbindung geöffnet hat.

    Allerdings habe ich hierzu keine API gefunden. Hat jemand noch eine IDEE?

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Das ist ja nur logisch, dass ich mich bei verfallenem Kennwort halt nicht anmelden kann. Da gibts auch kein API.
    Alternativ muss man sich mit einem *SECOFR-Profil anmelden (versteckt) und kann dann per CHGUSRPRF ebenso Kennwörter zurücksetzen, Profile aktivieren usw.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Sep 2008
    Beiträge
    70
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das ist ja nur logisch, dass ich mich bei verfallenem Kennwort halt nicht anmelden kann. Da gibts auch kein API.
    Alternativ muss man sich mit einem *SECOFR-Profil anmelden (versteckt) und kann dann per CHGUSRPRF ebenso Kennwörter zurücksetzen, Profile aktivieren usw.
    Logisch ist es an sich schon - aber selbst im "alten" Client Access geht dann zumindest ein "Zwangsdialog" auf der mich zwingt das Kennwort zu erneuern oder... PECH gehabt.
    Bei uns ist das SECOFR Profile die heilige Kuh - wie kann denn dann gewährleisten nicht X-beliebige User-Kennwörter zu ändern? Im Programm Benutzernamen oder Gruppen validieren?

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Das mit dem Zwangsdialog geht aber auch nur, wenn ich die Anmeldung nicht umgehe.
    Außerdem kann man weitere Secofr-Profile einrichten.
    Aber du hast ja recht, dass ich nicht weiß, welches das Current Profile ist, wenn ich mich mit einem anderen Profil anmelde.
    Tja, dann muss man dem User halt sagen, dass er sich vertrauensvoll an seinen Sicherheitsbeauftragten wenden soll.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Sep 2008
    Beiträge
    70
    Ich werde versuchen, dass Programm mit *SECOFR zu kompilieren, dann müsste ich das Recht zum Ändern eines anderen Kennwortes besitzen.

    Da die API die Eingabe des vorherigen Kennwortes benötigt kann auch nur ein Benutzerkennwort geändert werden, das ich ohnehin weiß.

    Den Fall muss ich also nicht absichern, denn das könnte ich dann auch jetzt schon auf anderen Wegen tun (Greenscreen anmelden --> CHGPWD).

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Das Programm muss dann mit *OWNER ausgeführt werden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. PList, Parm und Call in Free.
    By Wavum in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 14-07-16, 11:52
  2. AS400 CALL's aus Mircrosoft Access
    By Franz.Rung in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 18-08-15, 16:13
  3. Cobol und Call und Variablen
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 19-02-15, 16:42
  4. Call Programm vs. Service-PGM
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 15-11-13, 11:21
  5. Remote Function Call -> SAP
    By areichelt in forum NEWSboard SAP
    Antworten: 2
    Letzter Beitrag: 24-02-02, 16:44

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •