Datei per Java-Agent aus dem Web lokal auf C: / D: erstellen

  • Hallo,
    ich habe da einen Javaagenten in einer Notesdatenbank (Fahrtkostenabrechnung) laufen, der soll mir eine DTA-Datei erstellen.
    Führe ich diesen Agenten unter Notes aus, arbeitet er einwandfrei. Lade ich die DB aber aus dem Web (egal, ob über Mozilla oder Internet Explorer), schreibt er mir die DTA-Datei nicht
    dahin wo ich's gern hätte (C: oder D:); sondern es geht nur wenn ich ohne Laufwerksangabe arbeite, dann schreibt er die Datei auf den Notesserver.
    Ich führe den Agenten unter meinem Namen als Webbenutzer aus.
    Liegt es eventl. an fehlenden Zugriffsrechten ? Ich hätte erwartet, dass ich zumindest auf C: bzw. D: schreiben könnte.


    Gruß
    Harald



    import lotus.domino.*;
    import java.util.* ;
    import java.text.*;
    import java.io.File;
    import java.io.FileWriter;


    public class JavaAgent extends AgentBase {


    public void NotesMain() {


    try {


    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    Database db = agentContext.getCurrentDatabase();


    DateTime dt = session.createDateTime("Today");
    SimpleDateFormat sdf = new SimpleDateFormat( "ddMMyy" );


    Document Buchungsnachweis = db.createDocument();
    Buchungsnachweis.replaceItemValue("Form", "(Buchungsnachweis)");
    Buchungsnachweis.replaceItemValue("Datum", dt.getLocalTime() );
    RichTextItem Empfänger = Buchungsnachweis.createRichTextItem("Empfänger");
    RichTextItem Verwendungszweck = Buchungsnachweis.createRichTextItem("Verwendungszweck");
    RichTextItem Betrag = Buchungsnachweis.createRichTextItem("Betrag");
    RichTextItem Konto = Buchungsnachweis.createRichTextItem("Konto");


    View view = db.getView("Profile");
    Document profilDoc = view.getFirstDocument();
    Item item = profilDoc.getFirstItem("Absender");
    String Absender = item.getText();
    Absender = Absender.toUpperCase();
    item = profilDoc.getFirstItem("Bankleitzahl");
    String Bankleitzahl = item.getText();
    item = profilDoc.getFirstItem("Bankkonto");
    String Bankkonto = item.getText();
    item = profilDoc.getFirstItem("Laufwerk");


    String Datei = "D:\\DTAUS0.TXT";


    String A_Satz;
    String C_Satz;
    String E_Satz;


    Double Blz = null;
    long Bankleitzahl1 = 0;
    Blz = Double.valueOf(Bankleitzahl);
    Bankleitzahl1 = 0;
    long Betrag1 = 0;
    long Kontonummer1 = 0;
    Double Kto = null;
    int Anzahl = 0;
    String B ;
    String Spaces ;
    double BSumme = 0 ;
    String strAnzahl = null ;


    String Ersteller = agentContext.getEffectiveUserName();


    File file;
    file = new File(Datei);
    FileWriter out;
    out = new FileWriter(file);



    // Erstelle DatenSatz_A
    Date sdt = new Date();
    String strHeuteddmmyy = sdf.format( sdt ) ;


    A_Satz = "0128"+"A"+"GK"+Bankleitzahl+"00000000"+Absender+strHeuteddmmyy+" "+Bankkonto+"0000000000 1";
    A_Satz = A_Satz.toUpperCase();


    out.write(A_Satz);


    //diverse weitere Handlungen


    out.flush();
    out.close();

  • Na das ist doch logisch. Der Agent schreibt auf der Maschine auf der er ausgeführt wird.
    Führst du ihn im Notes Client aus dann ist das deine lokale Maschine, führst du ihn allerdings im Web aus wird der Agent auf dem Server ausgeführt und schreibt folglich auch dahin.


    Wenn du übers Web eine Datei erstellen willst, dann muss der Agent sie an den User zurückposten, so daß dieser sie zum Download angeboten bekommt