[gelöst] XMLport IMPORT ohne "Datei öffnen" Dialog

31. Mai 2016 12:31

Heyho,

ich bin gerade dabei einen Dataport als XMLport nachzubauen. Die Besonderheit ist hierbei, dass beim Import kein "Datei öffnen"-Dialog aufpoppen soll, sondern Pfad und Dateiname aus einer Einrichtungstabelle gelesen werden. Der Code im Dataport sah hierbei so aus:

Code:
OnPreDataport
============

GLSetup.GET;
GLSetup.TESTFIELD("Import Directory");
GLSetup.TESTFIELD("Import Filename");

CurrFile.OPEN(GLSetup."Import Directory" + GLSetup."Import Filename");


Und im XMLport sieht der Code so aus:

Code:
OnPreXMLport
============

GLSetup.GET;
GLSetup.TESTFIELD("Import Directory");
GLSetup.TESTFIELD("Import Filename");

currXMLport.FILENAME := GLSetup."Import Directory" + GLSetup."Import Filename";


Das Property "UseRequestPage" ist auf No gesetzt, dennoch öffnet sich ein "Datei öffnen"-Dialog. Mein erster Gedanke war, dass ich die Datei vorher auf den Server hochladen muss. Ich habe den Code entsprechend angepasst.

Code:
OnPreXMLport
============

GLSetup.GET;
GLSetup.TESTFIELD("Import Directory");
GLSetup.TESTFIELD("Import Filename");

ServerFileName := FileMgt.UploadFileSilent(grcGLSetup."Import Directory" + grcGLSetup."Import Filename");

currXMLport.FILENAME := ServerFileName;


Der Effekt ist jedoch der selbe. Es erscheint immer noch der "Datei öffnen"-Dialog. Ich habe den Code bereits vom OnPreXMLport in den OnInitXMLport verschoben, ebenfalls ohne Erfolg. Habe ich irgendwo einen Denkfehler im Prozess? Oder ist die Vorgehensweise hier eine gänzlich andere?

FG
Thomas
Zuletzt geändert von ThomasFerstl am 31. Mai 2016 14:51, insgesamt 1-mal geändert.

Re: XMLport IMPORT ohne "Datei öffnen" Dialog

31. Mai 2016 13:25

Verschiebe mal deinen Quelltext vom OnPreXMLport- in den OnInitXMLport-Trigger. Achte darauf, dass die Pfade im GLSetup als UNC-Pfade gepflegt sind, sofern sie sich nicht auf dem NAV-Server selbst befinden. Den ServerUpload brauchst du nicht.

Re: XMLport IMPORT ohne "Datei öffnen" Dialog

31. Mai 2016 14:01

Hallo Natalie,

ich habe den Quelltext bereits versuchsweise in den OnInitXMLport-Trigger verschoben, ohne Erfolg. Das Abändern der Pfadangaben auf UNC-Pfade brachte ebenfalls keinen Erfolg, weder mit noch ohne ServerUpload.

FG
Thomas

Re: XMLport IMPORT ohne "Datei öffnen" Dialog

31. Mai 2016 14:19

Hatte das Problem schon oft.

Einzige Möglichkeit die ich gefunden habe:
File.OPEN("pfad");
File.CREATEINSTREAM(InStr);
XMLPORT.IMPORT(Nummer,InStr);

Re: XMLport IMPORT ohne "Datei öffnen" Dialog

31. Mai 2016 14:51

Ich habe jetzt mal Wisa's Lösungsvorschlag probiert. Sämtlicher Code im XMLport ist auskommentiert und der XMLport selbst wird von einer Page Action aufgerufen:

Code:
GLSetup.GET;
GLSetup.TESTFIELD("Import Directory");
GLSetup.TESTFIELD("Import Filename");

ImportFile.OPEN(GLSetup."Import Directory" + GLSetup."Import Filename");
ImportFile.CREATEINSTREAM(InStream);

XMLPORT.IMPORT(50005,InStream);

ImportFile.CLOSE;


Damit bekomme ich den "Datei öffnen"-Dialog endlich weg. Besten Dank!

FG
Thomas