Options

Executing XMLPort and move the file

ProcatProcat 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

  • Options
    ClausHamannClausHamann 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
Sign In or Register to comment.