GDPdU Export xml Datei

10. Februar 2017 14:12

Hallo

habe folgendes Problem beim erstellen des GDPdU Export, die index.xml datei wird immer unter den lokalen Benutzerpfad gespeichert. C:\ProgramData\Microsoft\Microsoft Dynamics NAV\70\Server\MicrosoftDynamicsNavServer$Test\users\...... Die Posten.txt werden aber in das angebene Zielverzeichnis unter NAV gespeichert. Hat jemand dazu eine Idee bzw. Lösungsvorschlag

Danke

Re: GDPdU Export xml Datei

10. Februar 2017 14:30

Der Userpfad ist hartcodiert in Report 11015, der müsste also geändert werden z.B. durch Auslesen des Pfades aus einem neuem Feld in Tabelle "Data Export Record Definition" oder in der Request Page nach Bedarf vorbelegen und verarbeiten.
GdPDUpath.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: GDPdU Export xml Datei

10. Februar 2017 17:25

Hallo Kowa,

in deinem Bild ist ganz unten noch der Download in den ExportPath zu erkennen. Steht da evtl. was falsches drin?

Gruß Fiddi

Re: GDPdU Export xml Datei

10. Februar 2017 22:03

fiddi hat geschrieben: Steht da evtl. was falsches drin?

Im Pfad oder im Quellcode? Der Code im Bild ist der unveränderte Report 11015.
ExportPath wird aus den Feldwerten in "Data Export Record Definition" gebildet.
Code:
ExportPath := CreateExportFolder("Export Path","Data Exp. Rec. Type Code");

Die Funktion GetTempFilePath im Report nutzt CREATETEMPFILE Function (File),
alles weitere sind Standardfunktionen aus dem "File Management"-Codeunit.
Code:
LOCAL GetTempFilePath() : Text[1024]
TempFile.CREATETEMPFILE;
TempFileName := TempFile.NAME;
TempFile.CLOSE;
EXIT(
  PathHelper.GetFullPath(
    PathHelper.Combine(
      PathHelper.GetDirectoryName(TempFileName),
      '..')));

Re: GDPdU Export xml Datei

10. Februar 2017 22:50

@Kowa
Ganz unten in deinem Screenshot steht noch "DownloadFiles...."

Re: GDPdU Export xml Datei

11. Februar 2017 01:17

Das ist zum Transferieren der Datei zum Client, dort greift dann der ExportPath, wo die Datei entzippt wird.
Code:
LOCAL DownloadFiles(DataExportRecordDefinition : Record "Data Export Record Definition";ServerPath : Text;ExportPath : Text)
ZipFileNameOnServer := ZipFilesOnServer(ServerPath,DataExportRecordDefinition."DTD File Name");
ZipFileNameOnClient := ExportPath + '\' + DataExportRecordDefinition."Data Exp. Rec. Type Code" + '.zip';
FileMgt.DownloadToFile(ZipFileNameOnServer,ZipFileNameOnClient);
ExtractFilesOnClient(ExportPath + '\',ZipFileNameOnClient);

Re: GDPdU Export xml Datei

11. Februar 2017 09:17

Hallo,
netshape hat geschrieben:habe folgendes Problem beim erstellen des GDPdU Export, die index.xml datei wird immer unter den lokalen Benutzerpfad gespeichert. C:\ProgramData\Microsoft\Microsoft Dynamics NAV\70\Server\MicrosoftDynamicsNavServer$Test\users\...... Die Posten.txt


da muss ich dich leider korrigieren. Das ist der Server Temp- Pfad.

Dort werden zuerst immer alle Dateien erzeugt, da der Server die Daten aus Gründen der Performance nicht Datensatzweise auf den Client kopieren will.
Wenn du Server und Client auf einem Rechner betreibst, dann sieht das allerdings so aus, als ob die Daten ganz wo anders landen.

Die Funktion DownloadFiles bzw. DownloadFile sollte dann am Schluss die Daten einzeln (in meinem 2013 Build) oder gezipt (2015) auf den Client transferieren, und auspacken.

Dein Problem könnte jetzt der "MaxUploadSize" -Parameter in der "CustomSettings.config" des ServiceTiers sein. Der begrenzt im Standard die maximale Größe eines Up- bzw. Downloads auf 5 MB.
Wenn deine Datei größer ist, wird sie nicht übertragen.

Gruß Fiddi