Autor Thema: Probleme mit verschachtelter @IF  (Gelesen 2164 mal)

Offline Kibris

  • Frischling
  • *
  • Beiträge: 8
Probleme mit verschachtelter @IF
« am: 29.05.06 - 08:02:40 »
Hallo

Ich befasse mich relativ neu mit Notes Formula und habe nun das Problem,
dass ich eine bestehende Action in Formula verändern muss.

Der bestehende Code prüft, ob auf dem Form bei Accounts die 5 Option gewählt wurde, wenn ja ob das Feld "OSDCreated" bereits einen Wert enthält. Das selbe macht der Code auch für die 3. Ich müsste nun die Formel so verändern, dass zusätzlich geprüft wird, ob auch die Option 4 gewählt wurde (und ein entsprechendes Feld prüfen).


@If(@Contains(Accounts;"5");
      @If(OSDCreated="";
         @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @MailSend(localis;"";"";"CS3 Account Created for user "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]));

@If(@Contains(Accounts;"3");
      @If(VPNCreated="";
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @MailSend(localis;Manager;"";"CS3 Account Created for user "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
               @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow])));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
               @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]))
   ));
      @If(@Contains(Accounts;"3");
      @If(VPNCreated="";
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @MailSend(localis;"";"";"CS3 Account Created for user "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
               @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow])));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
                @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]))
   ))



Ich wäre sehr dankbar, wenn mir jemand helfen könnte. Habe es schon x-mal versucht, bekomme aber dann immer die Meldung, dass eine Klammer fehlt oder so.

Gruss
kibris

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re: Probleme mit verschachtelter @IF
« Antwort #1 am: 29.05.06 - 09:04:11 »
Hallo,

wenn ich das nach einem kurzen Blick richtig sehe, werden die Klammern der ersten beiden Ifs nicht geschlossen.

Gruß Armin

Hallo

Ich befasse mich relativ neu mit Notes Formula und habe nun das Problem,
dass ich eine bestehende Action in Formula verändern muss.

Der bestehende Code prüft, ob auf dem Form bei Accounts die 5 Option gewählt wurde, wenn ja ob das Feld "OSDCreated" bereits einen Wert enthält. Das selbe macht der Code auch für die 3. Ich müsste nun die Formel so verändern, dass zusätzlich geprüft wird, ob auch die Option 4 gewählt wurde (und ein entsprechendes Feld prüfen).


@If(@Contains(Accounts;"5");
      @If(OSDCreated="";
         @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @MailSend(localis;"";"";"CS3 Account Created for user "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]));

--->>>  ))  <<<---

@If(@Contains(Accounts;"3");
      @If(VPNCreated="";
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @MailSend(localis;Manager;"";"CS3 Account Created for user "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
               @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow])));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
               @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]))
   ));
      @If(@Contains(Accounts;"3");
      @If(VPNCreated="";
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @MailSend(localis;"";"";"CS3 Account Created for user "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
               @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow])));
      @Do(
               @Prompt([OK];"CS3";"Thank you for creating the CS3 Account");
               @SetField("Status";90);
               @SetField("Update";"Y");
                @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "+Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
            @Prompt([OK];"Info";"User creation completed. HR department is now informed");
               @PostedCommand([FileSave]);
               @PostedCommand([FileCloseWindow]))
   ))



Ich wäre sehr dankbar, wenn mir jemand helfen könnte. Habe es schon x-mal versucht, bekomme aber dann immer die Meldung, dass eine Klammer fehlt oder so.

Gruss
kibris

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Probleme mit verschachtelter @IF
« Antwort #2 am: 29.05.06 - 09:09:31 »
@cococo69: Nope, die Klammer macht er bei
Code
   ));     <<--- HIER
      @If(@Contains(Accounts;"3");
zu.


Der Fehler steckt IMHO nach dem "@If(@Contains(Accounts;"3");"

In der letzten Zeile die beiden "))" - die linke Klammer gehört zum "@If(@Contains(Accounts;"3");", die rechte zum "@If(@Contains(Accounts;"5");" ganz oben.

Nur die Klammer vom "@If(VPNCreated="";" machst Du nicht wieder zu.

Gelobt sei das neue Feature "Highlight Matching Parents" im Vim 7 - da sieht man sowas auf einen Blick :)
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Kibris

  • Frischling
  • *
  • Beiträge: 8
Re: Probleme mit verschachtelter @IF
« Antwort #3 am: 29.05.06 - 09:11:58 »
Hallo Armin,

vielen Dank erstmals. Der geschriebene Code sollte aber korrekt sein, so funktioniert er auf jeden Fall momentan.

Ich habe Probleme, den bestehenden Code um eine zusätzliche If-Prüfung zu erweitern..  ???

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re: Probleme mit verschachtelter @IF
« Antwort #4 am: 29.05.06 - 09:37:11 »
Gelobt sei das neue Feature "Highlight Matching Parents" im Vim 7 - da sieht man sowas auf einen Blick :)

Hallo Martin,

wir haben wohl beide nicht gelesen, dass der aktuelle Code überhaupt kein Problem hat.....  ::)

Was ist das aber für ein Tool von dem Du schreibst, hast Du mir 'ne Quelle mit Infos???

Gruß Armin

Offline Kibris

  • Frischling
  • *
  • Beiträge: 8
Re: Probleme mit verschachtelter @IF
« Antwort #5 am: 29.05.06 - 09:40:59 »
http://www.vim.org

VIM ist ein GNU Texteditor, auch für Windows erhältlich...

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Probleme mit verschachtelter @IF
« Antwort #6 am: 29.05.06 - 09:49:32 »
LOL. Man soll nicht fremden Code anschauen, bevor man am Montag morgen einen Kaffe getrunken hat. Auch mein Vim sagt mir jetzt (beim 2ten Kaffee), dass alles OK ist.

@cococo69: Ich meine den Editor http://www.vim.org - eine Neuimplementierung des Unix-vi. Ich könnte ohne dem nicht mehr arbeiten.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Kibris

  • Frischling
  • *
  • Beiträge: 8
Re: Probleme mit verschachtelter @IF
« Antwort #7 am: 31.05.06 - 14:35:53 »
ja, fremder Code ist sowieso nie gut ;-)

deswegen habe ich die Prozedur auch komplett neu geschrieben, ist jetzt ein bisschen einfacher zu lesen (naja, zumindest für mich). Falls es jemand interessiert, hier ist der überarbeitete Code:

If(@Contains(Accounts;"5") & OSDCreated="";         
@Do(@Prompt([OK];"NT";"Thank you for creating the NT account";
       @PostedCommand([FileSave]);
       @PostedCommand([FileCloseWindow])));                     

@If(@Contains(Accounts;"4") & CS3Created="";         
@Do(@Prompt([OK];"NT";"Thank you for creating the NT account";
       @PostedCommand([FileSave]);
       @PostedCommand([FileCloseWindow])));                           

@If(@Contains(Accounts;"3") & VPNCreated="";         
@Do(@Prompt([OK];"NT";"Thank you for creating the NT account";
       @PostedCommand([FileSave]);
       @PostedCommand([FileCloseWindow])));                           

@Do(@Prompt([OK];"NT";"Thank you for creating the NT account");
       @SetField("Status";90);
       @SetField("Update";"Y");
      @MailSend(localhr:Manager;localis;"";"Completed User Request for "+FirstName+" "        +Lastname;"Click on the link to review the request";"";[IncludeDoclink]:[Sign]);
      @Prompt([OK];"Info";"User creation completed. HR department is now informed");
        @PostedCommand([FileSave]);
      @PostedCommand([FileCloseWindow])))))


Gruss,
Kibris

klaussal

  • Gast
Re: Probleme mit verschachtelter @IF
« Antwort #8 am: 31.05.06 - 15:07:50 »
Jau, so ist es auch leichter zu verstehen / lesen.  :-*

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz