Hola SEs
Necesito escribir una línea de JSL que haga lo que se supone que debe hacer esta línea:
open("smb://jmpsmd.na.sas.com/E/Data/etl code/JMP DataMart 3/GOBUCKS.txt")
Es decir, abra un archivo que vive en un servidor Cary.
El código debe funcionar en Windows y Mac.
El código debe funcionar para personas en Cary y para empleados remotos. (Se supone que la persona puede acceder a estos a través de VPN, lo que sea). Está bien que el usuario reciba credenciales.
También probé con% 20 en lugar de espacios, que no funcionó. Sé que esto es ridículamente simple, pero no lo voy a descubrir por casualidad, ya lo he intentado 
¿Algunas ideas? Como beneficio adicional, cuando ejecuto el código anterior, mi Mac antepone el directorio local a la ruta (¿Regalo de Navidad?), Que tampoco deseo.
La ruta que Mac quiere que use, es decir, lo que obtengo cuando uso pickdirectory () para identificar la carpeta, es
"/ Volúmenes / E / Datos / código etl / JMP DataMart 3 /".
Esto está completamente fuera de discusión, ya que no se puede esperar que los usuarios se conecten al servidor por su propia cuenta, antes de que se ejecute este código.
Gracias por cualquier sugerencia !!
Salud,
Brady
Michael Hecht proporcionó una solución; después de leerlo, no me sentí tan mal que no había descubierto esto. Esta debajo.
¡GRACIAS Michael!
-Brady
mount = Function({server}, {Default Local},
If( Host Is( Mac ),
Run Program( Executable( "/usr/bin/osascript" ),
Options( { "-e", Eval Insert( "mount volume \!"smb://^server^\!"" )}),
Read Function( "text" ));
server = Concat Items( Remove( Words( server, "/" ), 1 ), "/" );
Eval Insert( "/Volumes/^server^" );
,
Eval Insert( "\!\\!\^server^" )
)
);
users = mount( "jmpsrv01.na.sas.com/Users" );
Files In Directory( Eval Insert( "^users^/Drake" ));