Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata
Summary

An usual question is, I want to read a flat file from a remote network share but keep getting the error "cannot open file". But I can access the file from my desktop!?!? How can that happen?

Who is reading the file and throwing the error? It is the jobserver. The jobserver started an al_engine process which itself is reading the file. And under which OS user is the jobserver running?? The one you are currently logged in??? What if nobody is logged in yet, would that mean no jobs can be executed????

In Windows, every service - and the jobserver is just another one - runs under a defined OS user scheme. This is defined under the LogOn properties of the service.


 

And during the installation of Data Services, you have been asked about that. By default, the installer is using the same account as you are logged in while starting the installer and asks you to provide the password for that account. Or you run it as Local System Account, like I usually do. So then the jobserver runs under that user and has his user permissions.

When the jobserver now tries to access the remote directory by using the path

\\remote_server\remote_share

this user better has permissions to do so. btw, do not use mapped drives like X:\, way too dangerous. The local system administrator has all permissions on the jobserver computer, but certainly not a single one on the remote computer. If he tries to access the remote computer he might either get a permission-denied response right away or will be asked for a username and password in a popup dialog. A service cannot create GUI dialogs.

So in such situations it would be a good idea to run the DI service under a domain user.

Just recently one of our consultants came up with an ingenious workaround for that. In a very first script of the job, he called the "net use" command to logon to the remote computer manually. The OS session is then logged on to the remote computer and every subsequent read/write call can access that share.

 

 

  • No labels