2016-06-09 1 views
0

Ich arbeite an einer Anforderung, die ein Design benötigt, um ein Prädikat @ Master aus einer der Arbeitsmappen zu aktualisieren.So habe ich unter Logik in einem inaktiven Block hinzugefügt, der für einen Benutzer aufgerufen wird Aktion.Update-Prädikat in Master aus Arbeitsmappe in loqiql

+ Prädikat2 @ master [x, y] = Flag < - Prädikat1 @ prev [x, y] = Flag, Flag = true.

Bitte beachten Sie, dass ich Fakten aus Prädikat1 löschen muss, sobald es in Prädikat2 in der Masterkopie kopiert wird.

Wenn diese Logik kompiliert wird, bekomme ich unter Fehler.

Block block_4SZVZ9DO: Zeile 24: Fehler: Phase 'Master' von 'Prädikat2 @ Master' ist früher als Run-Phase 'INITIAL'; Ableiten von Fakten für vergangene Stufen ist nicht erlaubt (Code: STAGE_PAST) + Prädikat2 @ Master [x, y] = Flag

Bitte helfen Sie mit einer Möglichkeit, Prädikate in Master aus Arbeitsmappen zu aktualisieren.

Danke, Senthilvel

Antwort

1

Das Problem ist, dass die Logik ein Prädikat @ Zweig zu aktualisieren, muss auf diesem Zweig ausgeführt werden. Für Ihre Logik müssten Sie sie auf dem Master ausführen. Es scheint, dass Sie die Logik auf einer Arbeitsmappe ausführen, anstatt den Master, richtig?

Ich denke eine größere Frage ist, ob Sie diese Logik schreiben müssen. Der Mechanismus, den wir für die Aktualisierung des Masters aus der Arbeitsmappe haben, erfolgt über den "commit" -Dienstaufruf, der vom Arbeitsmappenframework bereitgestellt wird. Hast du es versucht? Oder befriedigt es nicht irgendwie Ihr Bedürfnis?

+0

Ja, diese Logik befindet sich in der Arbeitsmappe. Ich habe nicht versucht, "commit" Service-Aufruf zu verwenden, da unsere Anforderung etwas anders war. Wir müssen dieses spezifische Prädikat nur aktualisieren, wenn der Benutzer eine "Export" -Aktion ausführt. Anforderung: Möglichkeit für den Benutzer, wenige Messungen aus der Arbeitsmappe in andere ausgehende Systeme zu exportieren. Design: 1. Erstellen Sie einen Protobuf-Service zum Exportieren der Kennzahlen nach json – Senthilvel

+0

Ja, diese Logik befindet sich in der Arbeitsmappe. Ich habe nicht versucht, "commit" Service-Aufruf zu verwenden, da unsere Anforderung etwas anders war. Wir müssen dieses spezifische Prädikat nur aktualisieren, wenn der Benutzer eine "Export" -Aktion ausführt und während dieser Aktion keine anderen Prädikate aktualisieren müssen. Szenario: - Der Benutzer befindet sich in der Arbeitsmappe und entscheidet sich für den Export von Daten in das nachgelagerte System, indem er wenige Zeilen auswählt. Bei der Exportaktion versuchen wir, die "Auswahl" in den Master zu kopieren. Sobald es im Master verfügbar ist, werden wir ein Skript ausführen, um das Prädikat aus dem Master zu extrahieren und den Webclient-Aufruf zu tätigen, um die json-Ausgabe zu erhalten. – Senthilvel

+0

Shan - Danke für Ihre Antwort. – Senthilvel

Verwandte Themen