# SDV

## Contenido

[SDV: conectar](#sdv-conectar)

[SDV: descargar fichero a local](#sdv-descargar-fichero-a-local)

[SDV: eliminar fichero en el servidor](#sdv-eliminar-fichero-en-el-servidor)

[SDV: get atributos de fichero en el servidor](#sdv-get-atributos-de-fichero-en-el-servidor)

[SDV: recorrer carpetas del servidor.](#sdv-recorrer-carpetas-del-servidor)

[SDV: recorrer directorio del servidor.](#sdv-recorrer-directorio-del-servidor)

[SDV: renombrar o mover fichero en el servidor](#sdv-renombrar-o-mover-fichero-en-el-servidor)

[SDV: subir fichero al servidor](#sdv-subir-fichero-al-servidor)

## SDV

Grupo de comandos de instrucción que nos permite operar con ficheros y directorios del [Servidor de disco](../../../../../velneo-vadmin/gestion-de-aplicaciones/disco) de Velneo vServer.

Todos los comandos de SDV comprueban que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

El comando [SDV: conectar](#sdv-conectar), sólo es necesario ejecutarlo si vamos a trabajar contra un servidor diferente al que ya estamos conectados, o si queremos ejecutar los comandos con un usuario que tenga permisos diferentes al usuario en curso que está ejecutando la aplicación.

Si queremos ejecutar comandos SDV con el usuario en curso contra el mismo servidor al que estamos conectados ejecutando la aplicación, no es necesario ejecutar el comando SDV: conectar.

### SDV: conectar

Comando de instrucción de proceso que permite conectarnos con el Servidor de disco de Velneo vServer.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: el mismo que el origen.

#### Parámetros

**Fórmula de dominio o IP del servidor**

IP o nombre del servidor y puerto de escucha (si es distinto del puerto por defecto: 690) que nos permite acceder al Servidor de disco de Velneo vServer. Debe ir precedido del esquema vatp://.

La sintaxis es \[vatp://]IP\_SERVIDOR\[:PUERTO].

El esquema vatp:// no es necesario indicarlo.

El puerto solamente será necesario indicarlo si el puerto del servidor es distinto al 690 (puerto por defecto).

Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Fórmula de usuario**

Usuario con permiso de acceso al Servidor de disco de Velneo vServer.

**Fórmula de contraseña**

Contraseña del usuario con permiso de acceso al Servidor de disco de Velneo vServer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc. En el caso de que el usuario no tenga contraseña, resolveremos este parámetro con "".

#### **Funcionalidad**

El comando conecta con el Servidor de disco de Velneo vServer autenticando el usuario y contraseña. Genera un subproceso, que solamente será ejecutado si se ha establecido la comunicación con el servidor. Una vez ejecutado dicho subproceso, cierra automáticamente la conexión con el servidor.

En la conexión se podrá acceder a las [carpetas compartidas](../../../../../../velneo-vadmin/gestion-de-aplicaciones/soluciones#compartido) han de realizarse en el subproceso generado por el comando.

#### **Comentarios**

Este comando de instrucción de proceso sólo es necesario ejecutarlo si vamos a trabajar contra un servidor diferente al que ya estamos conectados, o si queremos ejecutar los comandos con un usuario que tenga permisos diferentes al usuario en curso que está ejecutando la aplicación. Por lo tanto, si queremos ejecutar comandos SDV con el usuario en curso contra el mismo servidor al que estamos conectados ejecutando la aplicación, no es necesario ejecutar este comando de instrucción de proceso.

Cuando ejecutamos comandos SDV se comprueba si estamos conectados a algún servidor, en caso contrario se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso requiere que el usuario tenga privilegios de acceso al menos una carpeta compartida en el servidor. Todos los comandos incluidos en el subproceso del este comando de instrucción de proceso se ejecutan contra ese servidor.

Todos los comandos de “SDV” comprueban que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

Todas las operaciones de SDV que se quieran hacer con la conexión realizada con este comando de instrucción de proceso tendrán que ir incluidas dentro del subproceso que genera este comando.

Este comando exige que tanto Velneo vClient como Velneo vServer sean de la misma versión.

#### Ejemplo

Conectamos al servidor indicando sus parámetros mostrando un mensaje en caso de producirse un error en la conexión.

```
SDV: conectar ( "vatp://c5.velneo.com:37210", "velneo", "laclave" )
    Set ( CONECTADO, 1 )
    If ( CONECTADO = 0 )
        Mensaje ( "Error de conexión con el servidor", Información, ,  )
        Finalizar proceso
```

### SDV: descargar fichero a local

Comando de instrucción de proceso que permite descargar un fichero del Servidor de disco de Velneo vServer.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Fórmula de senda VRL de origen**

Senda VRL del fichero que queremos descargar a disco desde el Servidor de disco de Velneo vServer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Fórmula de senda de destino**

Senda del fichero de destino en disco. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Identificador de variable local booleana de retorno de ok (Opcional)**

El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.

#### **Funcionalidad**

El comando descarga el fichero alojado en el el Servidor de disco de Velneo vServer.

#### **Comentarios**

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

No hay limitación en cuanto a tamaño de fichero a descargar.

#### Ejemplo

Nos conectamos al servidor para descargar de la carpeta compartida SDV directorio subidos el fichero factura001.pdf a la caché del cliente mostrando la factura.

```
SDV: conectar ( "vatp://c5.velneo.com:37210", "velneo", "laclave" )
    Set ( CONECTADO, 1 )
    If ( CONECTADO = 0 )
        Mensaje ( "Error de conexión con el servidor", Información, ,  )
        Finalizar proceso
    Else
        SDV: descargar fichero a local ( "SDV/subidos/"+"factura001.pdf", sysCacheClientPath + "/factura001.pdf",  )
        Ejecutar documento ( "file:///"+ sysCacheClientPath + "/factura001.pdf",  )
```

### SDV: eliminar fichero en el servidor

Comando de instrucción que permite eliminar un fichero del Servidor de disco de Velneo vServer.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Fórmula de senda VRL de origen**

Senda VRL del fichero que queremos eliminar en el Servidor de disco de Velneo vServer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Identificador de variable local booleana de retorno de ok (Opcional)**

El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.

#### **Funcionalidad**

El comando elimina un fichero alojado en el el Servidor de disco de Velneo vServer.

#### **Comentarios**

En la conexión con el comando SDV: conectar han de realizarse en el subproceso generado por el comando.

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

#### Ejemplo

Eliminamos el fichero factura001.pdf que se encuentra en la carpeta compartida SDV directorio subidos.

```
SDV: eliminar fichero en el servidor ( "SDV/subidos/"+"factura001.pdf", ELIMINADO )
If ( ELIMINADO = 0 )
    Mensaje ( "No se ha podido eliminar el fichero del servidor", Información, ,  )
    Finalizar proceso
```

### SDV: get atributos de fichero en el servidor

Comando de instrucción de proceso que nos devuelve los atributos de un fichero del Servidor de disco de Velneo vServer.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Fórmula de senda VRL**

Senda VRL del fichero del Servidor de disco de Velneo vServer cuyos atributos queremos conocer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Identificador de variable local fecha de retorno**

El comando retorna la fecha de última modificación del fichero en esta variable local.

**Identificador de variable local hora de retorno**

El comando retorna la hora de última modificación del fichero en esta variable local.

**Identificador de variable numérica de retorno de bytes**

El comando retorna el tamaño (bytes) del fichero en esta variable local.

**Identificador de variable booleana que indica si es directorio**

El comando retornará true (1) en esta variable local si se trata de un directorio o false (0) si no lo es así.

**Identificador de variable local booleana de retorno de ok (Opcional)**

El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.

#### **Funcionalidad**

El comando devuelve información de los atributos del fichero alojado en el el Servidor de disco de Velneo vServer.

#### **Comentarios**

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

#### Ejemplo

Leemos del servidor los atributos del fichero factura001.pdf que se encuentra en la carpeta compartida SDV directorio subidos.

Mostramos posteriormente los atributos en un mensaje.

```
SDV: get atributos de fichero en el servidor ( "SDV/subidos/"+"factura001.pdf", FECHA, HORA, TAMAÑO, DIRE, OK )
If ( OK = 0 )
    Mensaje ( "No se ha podido leer los atributos del fichero", Información, , "Error" )
    Finalizar proceso
Mensaje ( "Fecha : " + FECHA + "\r\n" + "Hora: "+ HORA + "\r\n" + "Tamaño: " + TAMAÑO, Información, , "Atributos" )
```

### Sdv: recorrer carpetas del servidor

Comando de instrucción de proceso que permite recorrer las carpetas compartidas definidas en un Velneo vServer y generando un subproceso por cada una de ellas.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Tipo de carpetas**

En este parámetro podemos indicar qué tipo de carpetas compartidas queremos obtener. Por cada carpeta encontrada se genera un subproceso. Los valores posibles son:

Datos instancias: devolverá solamente las carpetas compartidas definidas en el servidor que tengan activada la propiedad **crear instancias**.

Normales: devolverá solamente las carpetas compartidas definidas en el servidor que tengan inactiva la propiedad **crear instancias**.

Todas: devolverá todas las carpetas compartidas definidas en el servidor.

**Identificador de variable local alfabética de retorno de carpeta en curso**

El comando retornará en esta variable el nombre de la carpeta encontrada.

#### **Funcionalidad**

Recorre las carpetas compartidas definidas en un Velneo vServer, generando un subproceso por cada carpeta encontrada encontrado. Si no hay carpetas, no se ejecutará dicho subproceso.

#### **Comentarios**

Si se desea conocer el contenido de una carpeta compartida usaremos el comando [Sdv: recorrer directorio del servidor.](#sdv-recorrer-directorio-del-servidor)

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

#### Ejemplo

Recorremos las carpetas del servidor guardando en un tabla las sendas encontradas.

```
SDV: conectar ( $SERVIDOR@ejemplo_dat, $USUARIO@ejemplo_dat, $CONTRASEÑA@ejemplo_dat )
    SDV: recorrer carpetas del servidor ( Todas, SENDA_EN_CURSO )
        Crear nueva ficha en memoria ( .Ficha, TABLA@ejemplo_dat )
            Modificar campo ( PATH, SENDA_EN_CURSO )
        Alta de ficha ( .Ficha )
            Libre
```

### Sdv: recorrer directorio del servidor

Comando de instrucción que recorre un directorio del servidor devolviendo la senda de los ficheros y directorios encontrados y generando un subproceso por cada uno de ellos.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Fórmula de senda VRL de origen**

Senda VRL que define el directorio queremos recorrer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Identificador de variable local alfabética de retorno de senda en curso**

El comando retornará en esta variable la senda completa del fichero o directorio encontrado.

**Identificador de variable local booleana de retorno que indica si es directorio (opcional)**

El comando retornará true (1) en esta variable local si se trata de un directorio o false (0) si es un fichero.

**Identificador de variable local booleana de retorno que indica si es sólo lectura (opcional)**

El comando retornará true (1) en esta variable local si se trata de un fichero con el atributo de sólo lectura false (0) si podemos escribir en él.

#### **Funcionalidad**

Recorre un directorio del servidor de disco de Velneo (SDV) generando un subproceso por cada fichero o directorio encontrado. Si el directorio está vacío, no se ejecutará dicho subproceso.

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

#### Ejemplo

Recorremos el directorio del servidor guardando en un tabla los ficheros encontrados y sus características.

```
Set ( CONECTADO, 0 )
SDV: conectar ( $SERVIDOR@ejemplo_dat, $USUARIO@ejemplo_dat, $CONTRASEÑA@ejemplo_dat )
    Set ( CONEXION_OK, 1 )
    SDV: recorrer directorio del servidor ( SENDA, SENDA_EN_CURSO, DIRE, ES_ONLY_READ )
        Set ( SENDA_EN_CURSO, "" + SENDA + SENDA_EN_CURSO )
        SDV: get atributos de fichero en el servidor ( SENDA_EN_CURSO, FECHA, HORA, TAMAÑO, ES_DIR, OK )
        Crear nueva ficha en memoria ( .Ficha, TABLA@ejemplo_dat )
            Modificar campo ( PATH, SENDA_EN_CURSO )
            Modificar campo ( DIRE, DIRE )
            If ( !#DIRE )
                Modificar campo ( FECHA, FECHA )
                Modificar campo ( HORA, HORA )
                Modificar campo ( TAMAÑO, TAMAÑO )
        Alta de ficha ( .Ficha )
            Libre
```

### SDV: renombrar o mover fichero en el servidor

Comando de instrucción de proceso que permite renombrar o mover un fichero del servidor de disco de Velneo.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Fórmula de senda VRL de origen**

Senda VRL del fichero que queremos renombrar en el Servidor de disco de Velneo vServer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Fórmula de senda VRL de destino**

Senda VRL de destino del fichero en el Servidor de disco de Velneo vServer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Identificador de variable local booleana de retorno de ok (Opcional)**

El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.

#### **Funcionalidad**

El comando renombra un fichero alojado en el el Servidor de disco de Velneo vServer.

#### **Comentarios**

En la conexión con el comando SDV: conectar han de realizarse en el subproceso generado por el comando.

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

#### Ejemplo

Pedimos el nuevo nombre de fichero a asignar al fichero especificado en la variable SENDA\_ORIGEN.

```
Pedir dato ( "Introduzca el nuevo nombre del fichero“, NOM_NUE, Texto, "Renombrar",OK )
If ( OK )
    SDV: renombrar o mover fichero en el servidor ( SENDA_ORIGEN, getPathDir(SENDA_ORIGEN) + "/" + NOM_NUE, OK )
    If ( !OK )
        Set retorno proceso = NO
        Mensaje ( "Error al renombrar el fichero“, Información, ,  )
```

### SDV: subir fichero al servidor

Comando de instrucción de proceso que permite subir un fichero al Servidor de disco de Velneo vServer.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

**Fórmula de senda de origen**

Senda del fichero en disco que queremos subir. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Fórmula de senda VRL de destino**

Senda VRL del fichero de destino en el Servidor de disco de Velneo vServer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.

**Identificador de variable local booleana de retorno de ok (Opcional)**

El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.

#### **Funcionalidad**

El comando sube un fichero en disco al Servidor de disco de Velneo vServer.

#### **Comentarios**

En la conexión con el comando SDV: conectar han de realizarse en el subproceso generado por el comando.

Cuando ejecutamos este comando de instrucción de proceso se comprueba si nos hemos conectado previamente a algún servidor con el comando SDV: conectar. En caso afirmativo, se ejecutará contra ese servidor. En caso contrario, se ejecuta el comando contra el servidor al que estamos conectados ejecutando la aplicación.

Este comando de instrucción de proceso comprueba que el usuario tenga permiso para la carpeta en la que se está ejecutando el comando.

No hay limitación en cuanto a tamaño de fichero a descargar.

#### Ejemplo

Subimos los ficheros de tipo .txt del directorio seleccionado al servidor VRL\_SRV en la carpeta compartida SDV.

```
SDV: conectar ( $VRL_SRV@ejemplo_dat, “usuario”, “clave” )
    Ventana de selección de directorio ( SEN, OK_SEL_DIR, "" )
    If ( OK_SEL_DIR )
        Set ( SUB, 0 )
        Recorrer directorio ( SEN, "*.txt", No, SEN_CUR, ,  )
            SDV: subir fichero al servidor ( SEN_CUR, "SDV/"+getPathFileName(SEN_CUR),  )
            Set ( SUB, SUB +1 )
        Mensaje ( "Número de ficheros subidos: "+ SUB, Información, 5,  )
```
