Executing XMLPort and move the file

Procat
Procat Member Posts: 31
edited 2012-02-16 in NAV Three Tier
Little backstory, we've started looking into converting some functions to 3-tier and in porting a dataport to xmlport we ran into the following quesstion (after spending a good amount of time).

We need to call a XMLport to generate a file and have the code move it to a specific folder on the network, we tried creating the file directly in the UNC destination, but ran into a permission issue.

Is the code below really the right way to do things?
Name	DataType	Subtype	Length
XMLTEST	XMLport	XMLTest
TAM	Codeunit	3-Tier Automation Mgt.	
WSH	Automation	'Windows Script Host Object Model'.FileSystemObject	
TempFileName	Text		1024
NewFileName	Text		1024
InFile	File		

//Generate the file.
FileName := 'test.txt';
InFile.CREATE(Filename);
InFile.CREATEOUTSTREAM(XmlOutStream);
XMLTest.SETDESTINATION(XmlOutStream);
XMLTest.EXPORT;
InFile.CLOSE;
CLEAR(XmlOutStream);

//Move the file to the destination folder.
NewFilename := 'H:\test-xmlport.txt'; //H:\ or \\servername\folder
TempFileName := TAM.DOWNLOADTEMPFile(FileName);
CREATE(Wsh,true,true);
WSH.MoveFile(TempFileName, NewFileName)
CLEAR(WSH);

Note: Above code has had variables renamed for posting.

Comments

  • ClausHamann
    ClausHamann Member Posts: 80
    You said you ran into a permission issue. Are you running the NAV Service under the local system account? If you are then try to change this to the NetworkService account.

    Regards