Hallo zusammen,
Ist es möglich, eine Select-Anweisung für eine Spalte zu schreiben, bei der, wenn die Spalte keinen gewünschten Wert enthält, nichts geschieht, aber wenn die Spalte den gesuchten Wert enthält, kann ich zusätzliche Skripte ausführen lassen?
Ich habe eine Spalte „Benachrichtigungscode“, die 3 Werte „1-Addition“, „3-Update“ und „4-Delete“ enthält, die zu meinen Transaktionsdaten gehören. Wenn die Tabelle aktualisiert wird und es zufällig ein "4-Delete" in der Spalte gibt, unterteile ich die Daten derzeit und vergleiche/aktualisiere sie dann wieder mit der Originaldatei, um die erste Instanz (dh die Hinzufügung oder Aktualisierung) und zu bestimmen beide Datensätze der Transaktion aus der Tabelle löschen. Heute ist das erste Mal, dass die Daten aktualisiert wurden und kein 4-Delete enthielten. Dies führte dazu, dass meine select- und delete-Anweisung alle Datensätze aus der Tabelle löschte. Beispiel der aktuellen JSL für Auswählen und Löschen unten:
rowchoice = dt3 << Get Rows Where (:Notification Code == "4-Delete");
dt3 << Select Rows (rowchoice);
subdt1 = dt3 << Subset(
Link to Original Data Table (0),
Rows(),
Output Table Name ("Deletions")
);
subdt1.2 = Current Data Table ();
subdt1.2 << Delete Column (:N Rows);
subdt1.2 << New Column ("Deletions", Numeric, Continous,
<< set each value(1)
);
dt3 << Update (
With (Data Table ("Deletions")),
Match Columns (:ROL Case # == :ROL Case #, :"Card/Account Number" == :"Card/Account Number"),
Selected (:Deletions)
);
Close(subdt1.2, No Save);
rowchoice = dt3 << get rows where (:Deletions == 1);
dt3 << Select Rows(rowchoice);
dt3 << Delete Rows (rowchoice);
dt3 << Delete Column (:Deletions);
Jede Hilfe wird sehr geschätzt.
Das hat super funktioniert! Danke für die Hilfe!
Soweit ich das beurteilen kann, wird Folgendes funktionieren
rowchoice = dt3 << Get Rows Where (:Notification Code == "4-Delete");
If( N Rows( rowchoice ) > 0,
dt3 << Select Rows (rowchoice);
subdt1 = dt3 << Subset(
Link to Original Data Table (0),
Rows(),
Output Table Name ("Deletions")
);
subdt1.2 = Current Data Table ();
subdt1.2 << Delete Column (:N Rows);
subdt1.2 << New Column ("Deletions", Numeric, Continous,
<< set each value(1)
);
dt3 << Update (
With (Data Table ("Deletions")),
Match Columns (:ROL Case # == :ROL Case #, :"Card/Account Number" == :"Card/Account Number"),
Selected (:Deletions)
);
Close(subdt1.2, No Save);
rowchoice = dt3 << get rows where (:Deletions == 1);
dt3 << Select Rows(rowchoice);
dt3 << Delete Rows (rowchoice);
dt3 << Delete Column (:Deletions);
);