I have a problem with a xmlport called from a codeunit, where i want to use a temp table AND want to specify the output file:
The codeunit:
Global var:
SalesHeader Record Sales Header
SalesHeaderTmp Record Sales Header (Prop temp=yes)
XlmExportPort XMLport XlmExportPort (number 50000)
ExportFile File
OutputStream OutStream
SalesHeader.RESET;
IF SalesHeader.FINDSET THEN
REPEAT
SalesHeaderTmp := SalesHeader;
SalesHeaderTmp.INSERT(FALSE);
UNTIL SalesHeader.NEXT = 0;
XlmExportPort.ImportTempTable(SalesHeaderTmp);
ExportFile.CREATE('c:\fileout.csv');
ExportFile.CREATEOUTSTREAM(OutputStream);
// i have tried the following 3 statement, none of them work:
// Temp table empty:
XMLPORT.EXPORT(XMLPORT::XlmExportPort, OutputStream);
// don't care about the filename:
XlmExportPort.EXPORT;
// Won't compile:
XlmExportPort.EXPORT(50000,OutputStream);
ExportFile.CLOSE;
The XmlPort:
XlmExportPort (50000)
ImportTempTable VAR SalesTableTmp : TEMPORARY Record "Sales Table":
SalesTableTmp.RESET;
IF SalesTableTmp.FINDSET THEN
REPEAT
SalesTableTmpXlm := SalesTableTmp;
SalesTableTmpXlm.INSERT(FALSE);
UNTIL SalesTableTmp.NEXT = 0;
SalesTableTmpXlm is defined as Temporary = Yes
(This is a simplified version of the code)
0