Hi Vanessa,
I send you sample report object in text format:
- Report Request Page with Client File Name and Open After Download option.
- OnPreReport: check Client File Name not blank.
- OnPostReport: process at server side, download to client, then open client file or not.
--------------------------------------------------
OBJECT Report 50001 Test Save File
{
OBJECT-PROPERTIES
{
Date=10/25/14;
Time=[ 6:57:57 AM];
Modified=Yes;
Version List=;
}
PROPERTIES
{
OnPreReport=BEGIN
//Check input client file name
IF (gTxt_ClientFileName = '') THEN
ERROR('Please specify Client File Name!');
END;
OnPostReport=BEGIN
//Server side: process data with temporary file
gTxt_ServerFileName := gCoU_FileMgmt.ServerTempFileName('txt');
gFil_File.CREATE(gTxt_ServerFileName);
gFil_File.TEXTMODE(TRUE);
gFil_File.WRITE('Test 1');
gFil_File.WRITE('Test 2');
gFil_File.CLOSE;
//Download file from Server to Client
gCoU_FileMgmt.DownloadToFile(gTxt_ServerFileName, gTxt_ClientFileName);
//Open file after download
IF gBol_OpenAfterDownload THEN
HYPERLINK(gTxt_ClientFileName);
END;
}
DATASET
{
}
REQUESTPAGE
{
PROPERTIES
{
SaveValues=Yes;
}
CONTROLS
{
{ 1 ; ;Container ;
Name=ContentArea;
ContainerType=ContentArea }
{ 2 ;1 ;Group ;
Name=Client File;
GroupType=Group }
{ 3 ;2 ;Field ;
Name=File Name;
SourceExpr=gTxt_ClientFileName;
OnAssistEdit=BEGIN
gTxt_ClientFileName := gCoU_FileMgmt.SaveFileDialog('Save As', 'Output File.txt', 'Text File (*.txt)|*.txt');
END;
}
{ 4 ;2 ;Field ;
Name=Open After Download;
SourceExpr=gBol_OpenAfterDownload }
}
}
LABELS
{
}
CODE
{
VAR
gTxt_ClientFileName@1000 : Text;
gTxt_ServerFileName@1001 : Text;
gCoU_FileMgmt@1002 : Codeunit 419;
gFil_File@1003 : File;
gBol_OpenAfterDownload@1004 : Boolean;
BEGIN
END.
}
}