Scripts SQL


Swisslog dispone de una función muy potente para ejecutar Scripts SQL que permite la ejecución de consultas complicadas para modificar campos o mover datos de uno a otro campo, De esta forma, se evitan operaciones complicadas en la vista del libro. Además, los scripts SQL se ejecutan en segundos y pueden realizar complejas operaciones que no pueden hacerse con las funciones disponibles en Swisslog.

He creado algunos scripts que puede encontrar muy interesantes. No soy un experto SQL en absoluto, pero con mi conocimiento de Access y una vista especial para ver el código SQL en las consultas de Access, he podido crear estos interesantes scripts.

Para ejecutar los script realice los pasos siguientes:

1. Abra SWISSLOG
2. Vaya a Herramientas |
Sólo para expertos | Ejecutar Script SQL
3.
Seleccione el fichero de script deseado que se encuentra en la carpeta SCRIPTS dentro de donde esté instalado Swisslog y acepte todos los mensajes de confirmación.


MUY IMPORTANTE: Debido a la cantidad de comprobaciones y/o cambios que debe realizar el script, esta operación puede tardar un rato dependiendo de la potencia de su ordenador y el número de QSO en su base de datos. No aparece ninguna barra de progreso. Deberá esperar hasta que aparezca el mensaje "SQL script_filename.sql ejecutado con éxito" antes de hacer nada en Swisslog.

SQL scripts:

DXCC - WAE Corrections.sql

NOTE: Este script se ejecuta automáticamente de forma invisible la primera vez que se arranca la versión 5.9a de Swisslog, por lo que no es necesario volver a ejecutarlo otra vez si tiene la versión 5.9a o superior. Sólo se explica para que el usuario sepa lo que realiza este script.

Hasta ahora cada vez que había algún cambio en la asignación de prefijos en ciertas entidades era necesario realizar complicadas operaciones manuales para adaptar sus QSO a la nueva situación. Gracias a la potente función para ejecutar scripts SQL, ¡esto puede hacerse ahora en unos segundos!

He creado un script que automáticamente adapta la asignación de prefijos explicada anteriormente por Hardy, DL5SBA (SK) (Montenegro, Islas Cook, Bosnia Herzegovina, Juan de Nova y Europa, Gloriosos, Tromelín, Sudán del Sur así como algunos otros cambios) de forma automática, segura y en unos segundos. De esta forma, nos evitamos realizar los procesos manuales explicados hasta ahora que podían causar errores involuntarios por el usuario. Lo mejor de todo es que aunque anteriormente ya hayan realizado las operaciones manualmente, ahora podrá ejecutar este script sin ningún problema. Si todas las operaciones manuales fueron realizadas correctamente, no se modificará nada. Si no el script las realizará correctamente ahora.

Este script realiza los cambios siguientes:

Asignar Directa QSO no bureau.sql

Este script es muy útil para evitar enviar un tarjeta QSL via bureau en los QSO donde no existen servicio de bureau. Este script selecciona todos los QSO con entidades que no tengan servicio de bureau (y que tengan el campo de QSL Manager vacío, no se haya enviado/recibido la QSL y el campo Acción de QSL sea diferente de LOTW, LOTW+eQSL y eQSL) y asigna la palabra "Directa" en el campo Acción de QSL. Si un QSO tiene QSL Mánager, como la QSL se podría enviar vía bureau al mánager, entonces el script no lo selecciona.

Si desea cambiar la palabra "Directa" por otra, simplemente edite este fichero con un editor de texto (Bloc de notas por ejemplo) y cambie la palabra "Directa" en la primera línea de código (está en negrita en el código siguiente):

UPDATE (PQTH INNER JOIN LOGBOOK ON PQTH.P_CALLID = LOGBOOK.L_CALLID) INNER JOIN DXCC_Tab ON PQTH.P_DXCC = DXCC_Tab.DXCC_ABBR SET LOGBOOK.L_QSL_ACTION = "Directa" WHERE (((LOGBOOK.L_QSL_ACTION)<>"LOTW" And (LOGBOOK.L_QSL_ACTION)<>"LOTW+eQSL" And (LOGBOOK.L_QSL_ACTION)<>"eQSL") AND ((LOGBOOK.L_QSL_RECEIVED)=0) AND ((LOGBOOK.L_QSL_SEND)=0) AND ((LOGBOOK.L_QSL_MGR) Is Null) AND ((DXCC_Tab.BUREAU)="N"));

NOTA: Desde la versión 5.94, Swisslog realiza esto automáticamente al guardar nuevos QSO. Si el panel Membership está activado y está marcada la opción "Aplicar las Acciones de QSL del panel membership", la palabra "Directa" sólo se asignará si no es usuario de LOTW ni de eQSL.

QSL managers.sql

NOTA: Este script se ejecuta automáticamente de forma invisible la primera vez que se arranca la versión 5.9a de Swisslog, por lo que no es necesario volver a ejecutarlo otra vez si tiene la versión 5.9a o superior.

Este script compara automáticamente sus QSO con un listado actualizado de cerca de 3000 estaciones que son llevados por los QSL mánager siguientes: EA1EAU, EA5GL, EA5KB, EA7FTR, EB7DX, IZ8CCW, IZ8CLM, M0OXO, N2OO, UA4WHX, RW6HS y W3HNK. El script asigna el QSL manager en todos los QSO coincidentes SÓLO si no ha recibido la tarjeta QSL (campo R-QSL field es 0) y el campo de QSL manager está vacio. Tenga en cuenta que puede tardar un poco.

LOTW users.sql

Para evitar enviar la tarjeta QSL a usuarios de LOTW, este script asigna la palabra 'LOTW' en el campo Acción de QSL en todos los QSO donde no se haya recibido una QSL. Asegúrese de que ha actualizado la lista de usuarios de LoTW antes de ejecutar este script. Puede actualizarla manualmente en Herramientas | Actualizar información de diplomas (internet) | Actualizar lista de usuarios del LOTW. En el asistente de impresión de QSL puede discriminar estos QSO para imprimir las tarjetas QSL.

NOTA: Si el panel Membership está activado y está marcada la opción "Aplicar las Acciones de QSL del panel membership", esto se realiza automáticamente si el indicativo es usuario de LoTW.

Clean special field.sql

Si utiliza la estadística WFF (World Flora & Fauna), debe ejecutar un script SQL para limpiar el contenido del campo Especial UNA SOLA VEZ Y ANTES de introducir ninguna referencia del WFF. Esto debe hacerse, sobre todo los usuarios que vienen de la época de la versión del DOS, porque el campo SP puede contener datos que ahora son obsoletos y alterarían la estadística del WFF.

Set WADA.sql

Asigna la referencia WADA a todos los indicativos coincidentes con la nueva tabla de información INF_WAPWACA. Si trabaja este diploma DEBE ejecutar este script de tanto en tanto. Tenga en cuenta que un mismo indicativo puede haber estado activo desde varias referencias WADA. En estos casos, el script asignará la primera coincidencia. El usuario deberá comprobar manualmente la referencia con la QSL.

Arreglar DCE.sql

Si llevaba el diploma de Castillos de España con Swisslog antes de mayo de 2012, es necesario que adapte las referencias ya introducidas, ya que sino Swisslog no reconocería las referencias anteriores.

 

La referencia real comienza por C y en Swisslog no era así:

 

EJEMPLO:

 

Referencia REAL:    CA-001

En Swisslog:             A-001

 

Para facilitar el proceso, he creado este script que busca si existen las referencias del formato antiguo de Castillos y si las encuentra las convierte al formato correcto.

 

¡¡IMPORTANTE!! Antes de ejecutar el script hay que realizar una comprobación de estas estadísticas y corregir primero posibles fallos como referencias que nada tengan que ver con el diploma, errores al teclearlas, omisiones de guiones o espacios añadidos, números inexistentes, etc. Hay que tener presente que el script sólo funcionará bien si las referencias han sido introducidas SIEMPRE en el formato que Swisslog reconocía (sin la C), ya que si la referencia no existe, la dejará como está y tendrá que modificarlo manualmente. Si encuentra alguna referencia con el formato real, la dejará como está.

 

Con esta operación se corrigen las referencias ya introducidas y las estadística se llevará correctamente actualizada. En caso que detecte alguna referencia no reconocida al ver la estadística se deberá a que hay un error en la referencia o bien no existe en la tabla actualizada del diploma. Deberá editar manualmente el QSO y corregirlo.

Arreglar DVGE.sql

Si llevaba el diploma de Vértices Geodésicos de España en Swisslog antes de mayo de 2012 es necesario que adapte las referencias ya introducidas ya que sino Swisslog no reconocería las referencias anteriores.

 

La referencia real comienza por VG y en Swisslog no era así:

 

EJEMPLO:

 

Referencia REAL:    VGA-001

En Swisslog:                A-001

 

Para facilitar el proceso, he creado este script que busca si existen las referencias del formato antiguo de Vértices y si las encuentra las convierte al formato correcto.

 

¡¡IMPORTANTE!! Antes de ejecutar el script hay que realizar una comprobación de estas estadísticas y corregir primero posibles fallos como referencias que nada tengan que ver con el diploma, errores al teclearlas, omisiones de guiones o espacios añadidos, números inexistentes, etc. Hay que tener presente que el script sólo funcionará bien si las referencias han sido introducidas SIEMPRE en el formato que Swisslog reconocía (sin la VG), ya que si la referencia no existe la dejará como está y tendrá que modificarlo manualmente. Si encuentra alguna referencia con el formato real, la dejará como está.

 

Con esta operación se corrigen las referencias ya introducidas y las estadística ya se llevará correctamente actualizada. En caso de que detecte alguna referencia no reconocida al ver la estadística se deberá a que hay un error en la referencia o bien no existe en la tabla actualizada del diploma. Deberá editar manualmente el QSO y corregirlo.

Limpiar diploma Monumentos.sql

Si llevaba el diploma de Monumentos Históricos de España en Swisslog antes de mayo de 2012, debe saber que desgraciadamente este diploma ha dejado de existir aunque ahora hay uno nuevo que se llama Monumentos y Vestigios de España. El problema principal es que las referencias del antiguo diploma de Monumentos son completamente diferentes del nuevo. Me he puesto en contacto con el mánager del diploma para encontrar la forma de hacer un sistema automático y realizar la conversión de las referencias antiguas a las nuevas. Para ello me hacía falta un listado completo del anterior diploma junto con un dato muy importante (la ubicación) y no ha habido forma de conseguirlo, ni el mánager actual (que es el mismo del diploma anterior) lo dispone. Desafortunadamente sin ese dato no puedo hacer una conversión fidedigna, ya que hay referencias diferentes que comparten el mismo nombre, están en el mismo municipio pero en diferente ubicación.

 

Por todo lo expuesto no ha quedado más remedio que reemplazar la antigua estadística por la nueva como estadística estándar en Swisslog, pero por desgracia, hay que BORRAR todas las referencias anteriores y empezar de nuevo.

 

Aunque no puedo evitar que tengáis que volver a introducir las nuevas referencias, al menos he creado un script que borra automáticamente las referencias introducidas anteriormente que no tienen nada que ver con las nuevas referencias. De ese modo, la estadística no os dará falsos resultados.

Convert IIA.sql

NOTA: Este script se ejecuta automáticamente de forma invisible la primera vez que se arranca la versión 5.94 de Swisslog, por lo que no es necesario volver a ejecutarlo otra vez si tiene la versión 5.94 o superior.

El diploma Italian Island Award (IIA) cambió todas las referencias a partir del 1 de Enero de 2013. Este script convierte todas las antiguas referencias al nuevo formato.