# P2601 - Ingeniería Inversa: Sistema DASUTEN > Documento técnico generado el 04/03/2026 a partir del análisis del directorio `dtic-APPs/temp/runSysDasuten/`. ## Resumen Ejecutivo El **Sistema DASUTEN** es una aplicación de escritorio Windows desarrollada en **Visual FoxPro 9** sobre el framework propietario **"Kermet"**. Se conecta a **SQL Server** vía ODBC usando autenticación Windows. El ejecutable principal es `DasutenSQL.exe` y la configuración de conexión reside en `Kermet.ini`. --- ## Tecnología | Componente | Detalle | | :--- | :--- | | **Lenguaje** | Visual FoxPro 9 (compilado a PE32 GUI Win32) | | **Framework** | Kermet (propietario, `Kernel.dll` + `libgen.prg` + `libclas.prg`) | | **Base de Datos** | SQL Server (instancia por defecto `MSSQLSERVER`) | | **Conexión** | ODBC Driver `SQL Server` — Autenticación Windows Integrada | | **Base** | `sysdasuten` | | **Sincronización** | FTP + archivos DBF/ZIP empaquetados con PKZIP25 | ## Cadena de Conexión (`Kermet.ini`) ```ini TIPOBASEDEDATOS=SQLServer [INFORMIX] DRIVER=INFORMIX 2.80 32 BIT DATABASE=Sysacad UID=informix SERVER=utn HOST=localhost SERVICE=turbo PROTOCOL=olsoctcp [SQLSERVER] DRIVER=SQL Server UID= ADDRESS=0 LOCKEO=0 SERVER=srvFENIX DATABASE=sysdasuten PWD=(cifrado binario) ``` ### Campos Clave | Campo | Valor Original | Valor Migración | | :--- | :--- | :--- | | `SERVER` | `srvFENIX` | `sql-dasuten` ← **Cambiar** | | `DATABASE` | `sysdasuten` | `sysdasuten` (sin cambios) | | `DRIVER` | `SQL Server` | `SQL Server` (sin cambios) | | `UID` | *(vacío = Windows Auth)* | *(vacío = Windows Auth)* | > [!IMPORTANT] > El campo `SERVER` debe apuntar al hostname o IP del nuevo servidor SQL. Para la migración: `sql-dasuten` o `10.0.100.11`. ## Estructura del Directorio de Distribución ``` runSysDasuten/ ├── Kermet.ini ← Configuración de conexión SQL (MODIFICAR) ├── registro.RKI ← Config sincronización (Instancia=30) ├── SysDasuten_Sincro.lnk ← Acceso directo de sincronización ├── khr / khw ← Archivos de control (vacíos) ├── Fonts/ │ └── Fonts/ │ ├── code39.ttf ← Fuente código de barras Code39 │ ├── I2OF5.TTF ← Fuente código de barras Interleaved 2 of 5 │ ├── I2OF5NT.TTF ← Variante I2OF5 │ └── PF_I2OF5_W.ttf ← Variante I2OF5 ├── Sistema/ │ ├── DasutenSQL.exe ← Ejecutable principal (PE32 GUI) │ ├── Kernel.dll ← DLL principal del framework Kermet │ ├── eztw32.dll ← DLL de escaneo TWAIN │ ├── gdiplus.dll ← GDI+ para gráficos │ ├── Kermet.ini ← Copia de config (puede ser la efectiva) │ ├── registro.RKI ← Config de sincronización │ ├── PKZIP25.EXE ← Compresor para sincronización │ ├── SysDasuten_Sincro.bat ← Bat de sincro FTP │ ├── InstaladorComponentesKermet.exe ← Instalador dependencias │ ├── VFP9Rerr.log ← Log de errores VFP │ ├── logdasuten2.txt ← Log de sincronización FTP │ ├── Manuales de Uso/ ← Documentación del sistema │ │ └── Instructivo-Instalacion del sistema.doc │ ├── dasutensql.1292.exe ← Versión más reciente del ejecutable │ ├── dasutensql.1270.exe │ ├── dasutensql.1264.exe │ ├── dasutensql.1247.exe │ └── _gsdata_/ ← Metadata de sincronización GoodSync ├── Actus/ ← Actualizaciones históricas │ └── Hist/ ← Paquetes .zip y .rar de versiones previas └── error sincro/ ← Capturas de errores de sincronización ``` ## Versiones del Ejecutable | Archivo | Observaciones | | :--- | :--- | | `DasutenSQL.exe` | Versión base (sin strings de conexión SQL visibles) | | `dasutensql.1247.exe` | Contiene referencias a `sysdasuten` | | `dasutensql.1264.exe` | Contiene referencias a `sysdasuten` | | `dasutensql.1270.exe` | Contiene referencias a `sysdasuten` | | `dasutensql.1292.exe` | **Más reciente**. Apunta a `SERVER=172.16.9.204\SQL2017`, `DATABASE=SYSDASUTEN`. Contiene referencia a `SYSDASUTEN_PRODUCCION`. | > [!WARNING] > La versión 1292 conecta a una instancia nombrada `SQL2017` en la IP `172.16.9.204`. Si la nueva infra usa instancia por defecto (`MSSQLSERVER`), el `.exe` base o una versión anterior puede ser más compatible. **Verificar cuál es la versión activa en producción consultando `srvv-fenix`**. ## Modo de Ejecución Histórico Según los logs de errores y el bat de sincronización: - **Share UNC original**: `\\Quetzal\Sysdasuten\sistema\` → `\\srvFENIX\Sysdasuten\Sistema\` - **Ruta local alternativa**: `D:\SysDasuten\Sistema\dasutensql.exe` - **Sincronización**: `dasutensql.exe /RUN=SINCRONIZAR:FTP /usuario=sincro /password=sincroftp` - **Kermet.ini efectivo**: Se lee desde `\\servidor\Sysdasuten\kermet.ini` (raíz del share) ## Dependencias para Despliegue ### En el cliente Windows (pcv-dasu0) 1. **Fuentes**: Instalar `code39.ttf`, `I2OF5.TTF`, `I2OF5NT.TTF`, `PF_I2OF5_W.ttf` 2. **ODBC Driver**: `SQL Server` (incluido en Windows) 3. **VFP Runtime**: Ya embebido en el `.exe` (no requiere instalación separada) 4. **Componentes Kermet**: Ejecutar `InstaladorComponentesKermet.exe` si es necesario 5. **Conectividad SQL**: El cliente debe resolver `sql-dasuten` por DNS o hosts ### En el servidor SQL (sql-dasuten) 1. **Base de datos**: `sysdasuten` ✅ (ya restaurada en `S:\Data\`) 2. **Puerto SQL**: TCP 1433 (instancia por defecto) — verificar firewall 3. **Autenticación**: Windows Integrada (el usuario del dominio `DASUTEN\admindasu` ya es sysadmin) 4. **SQL Browser**: UDP 1434 — habilitar si se usan instancias nombradas ## Plan de Despliegue en pcv-dasu0 ``` 1. Transferir directorio runSysDasuten/ a pcv-dasu0 vía SCP 2. Modificar Kermet.ini → SERVER=sql-dasuten (o 10.0.100.11) 3. Instalar fuentes (Fonts/) 4. Ejecutar InstaladorComponentesKermet.exe 5. Verificar firewall SQL 1433 en sql-dasuten 6. Probar conexión: sqlcmd -S sql-dasuten -E -Q "SELECT DB_NAME()" 7. Lanzar DasutenSQL.exe y verificar login ``` ## Referencias - **Proyecto**: [P2601_dasuten.md](P2601_dasuten.md) - **Nodo SQL**: [sql-dasuten.md](../nodos/sql-dasuten.md) - **Directorio fuente**: `dtic-APPs/temp/runSysDasuten/` - **Bitácora**: [04/03/2026](../bitacoras/2026-03-04.md)