Ich habe mit dem JMP Application Builder eine ziemlich komplexe JSL-Anwendung geschrieben. Der Anwendungsstarter fordert den Benutzer zur Spaltenauswahl auf, und dann sortiere ich die Daten nach den ausgewählten Spalten, bevor ich mit der Verarbeitung und Visualisierung fortfahre.
Wenn der Datensatz abhängige offene Fenster hat, muss ich dem Benutzer die Möglichkeit geben, ohne Sortierung fortzufahren (die Daten waren wahrscheinlich vorsortiert) oder das Skript zu beenden, damit der Benutzer mit den abhängigen Fenstern umgehen kann.Dazu habe ich folgende Funktion erstellt:
sortThisData = Function ({dt},
try( dt << Sort (By( Column(snCol), Column(dtCol)), Replace Table) ,
/* IF thrown */
if (contains(exception_msg[1], "JMP cannot replace the existing table"),
ex = New Window( "Alert", <<MODAL></MODAL>
Es scheint jedoch, dass die Anwendung selbst als abhängiges geöffnetes Fenster zählt! Ich kann die Daten nicht sortieren, auch wenn keine anderen Fenster geöffnet sind.
Wie kann ich dieses Problem umgehen und meine Daten sortieren? Ich habe das Timing für den Aufruf meiner SORT-Funktion verschoben, aber es muss passieren, nachdem die OK-Taste auf dem Launcher gedrückt wurde und bevor die Verarbeitung/Visualisierung abgeschlossen ist.
Irgendwelche Vorschläge?