[Gelöst]AL/OnPrem Export XML-Dateien mit BLOBExport BC25

22. April 2025 14:31

Hallo zusammen,

ich entwickle aktuell eine AL-Erweiterung für eine OnPremise Business Central Umgebung, und versuche, Kunden inkl. ihrer Posten per XmlPort in einer XML-Dateien zu exportieren – und diese direkt lokal auf dem Server im Ordner C:\run\my\export\ zu speichern.

Mein Codeunit sieht wie folgt aus:

Code:
codeunit 60103 "Export Customers with CLE"
{
Subtype = Normal;

procedure ExportAllCustomers()
var
Customer: Record Customer;
FileName: Text;
TempBlob: Codeunit "Temp Blob";
XmlStream: OutStream;
Exporter: XmlPort "ExportCustomerXML";
FileManagement: Codeunit "File Management";
begin
if Customer.FindSet() then
repeat
TempBlob.CreateOutStream(XmlStream);

Exporter.SetTableView(Customer);
Exporter.SetDestination(XmlStream);
Exporter.Export();

FileName := 'Customer_' + Customer."No." + '.xml';
FileManagement.BLOBExport(TempBlob, 'C:\run\my\export\' + FileName, true);

until Customer.Next() = 0;
end;
}


Warum landet die Datei trotz OnPrem und BLOBExport-Aufruf immer noch im Download-Ordner?
Was könnte ich übersehen haben – oder gibt es versteckte Trigger, die trotzdem DownloadFromStream() auslösen?

Danke für jeden Hinweis oder Lösungsansatz!
Zuletzt geändert von AlexBSS am 24. April 2025 09:23, insgesamt 1-mal geändert.

Re: AL/OnPrem Export XML-Dateien mit BLOBExport BC25

23. April 2025 14:44

AlexBSS hat geschrieben:Was könnte ich übersehen haben – oder gibt es versteckte Trigger, die trotzdem DownloadFromStream() auslösen?


FileManagement.BLOBExport => führt ja ein DownloadFromStream aus

du könntest BLOBExportToServerFile nehmen, da, wenn ich dich richtig verstanden habe, du den Scope auf OnPrem hast. Wenn er nicht OnPrem ist, nützt dir das aber auch nichts!

Ich würde aber mal die Frage in den Raum stellen, warum der Scope auf OnPrem gestellt wird? Das verursacht nur unnötige Kosten und eine Migration in die Cloud ist damit auch nicht möglich.