Beiträge von Inskin

    Weil ich in meinem Java Agenten den SAP Java Connector verwende, um eine Verbindung zu SAP herzustellen und mir dort eine URL hole, die ich in ein Output-Dokument schreibe. Und genau die ID des Output-Dokuments schreibe ich in das Feld output_document_id.


    Danke für die Hilfe!

    Hallo!


    Mein Problem:


    Habe eine Maske mit einem Feld output_document_id und einem Button, der beim Klicken 2 Agenten ausführt:


    @Command([ToolsRunMacro];"(JCoAgent)");
    @Command([ToolsRunMacro];"(openURL)")


    Der erste ("JCoAgent") ist ein Java Agent der, auf das wesentliche gekürzt, folgendes tut:


    public void NotesMain() {


    try {
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    Document docContext = agentContext.getDocumentContext();
    docContext.replaceItemValue("output_document_id", "eineDokumentID");
    docContext.save(true,true);
    }
    catch(Exception e) {
    System.out.println("Fehler in NotesMain");
    e.printStackTrace();
    }


    Er schreibt also ins Backend Dokument aus dem er gestartet wird eine Id eines Dokuments.


    Der zweite Agent ("openURL") ist ein LS-Agent und soll vorerstmal das im Java Agent geänderte Feld in einer Messagebox ausgeben. Problem hierbei ist, wie komme ich an das geänderte Backend-Dokument.
    Habe folgenden ansatz:


    Sub Initialize
    Dim uiws As New notesuiworkspace
    Dim uidoc As notesuidocument
    Dim doc As notesdocument
    Set uidoc = uiws.currentdocument
    Set doc = uidoc.Document
    Messagebox(doc.GetItemValue("output_document_id")(0))

    End Sub


    ABER: Ich bekomme den alten Wert des Feldes zurück und nicht den geänderten.


    Kann mir da jemand weiterhelfen?
    In LS gibt es die Funktion NotesUIDocument.Reload, um Änderungen im Backend ins Frontend zu übernehemen. Bräuchte so etwas für Java!
    Eine sehr umständliche Lösung, auf die ich eigentlich nicht zurückgreifen will, wäre im 2. Agent das Dokument zu schließen und erneut zu öffnen (funktioniert zumindest manuell).


    Vielen Dank für eure Hilfe!!!


    MfG
    Inskin