Files

83 lines
1.9 KiB
Plaintext

GLOBALS
DEFINE db1 CHAR(100),
idx integer
DEFINE tablas DYNAMIC ARRAY OF RECORD
nombre_origen CHAR(100),
nombre_destino CHAR(100),
tabid INTEGER,
aplica CHAR(2)
END RECORD
END GLOBALS
MAIN
DEFER INTERRUPT
CALL startlog("db_error")
OPEN WINDOW dbadm WITH FORM "dbfmimportexport"
CALL ui.Interface.LoadStyles("dbstyle")
INPUT BY NAME db1
AFTER INPUT
IF int_flag THEN
LET int_flag = FALSE
RETURN
END IF
END INPUT
LET db1 = db1 CLIPPED,"+dbmifx9"
DATABASE marmotech
# CONNECT TO "marmotech+driver='dbmifx9x',source='ifxmarmotech'" USER "informix" USING "luismi001"
DECLARE busca_db1 CURSOR FOR
SELECT a.tabname,a.tabname,a.tabid FROM systables a WHERE a.tabtype = "T"
ORDER BY a.tabname
LET idx = 1
FOREACH busca_db1 INTO tablas[idx].*
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
INPUT ARRAY tablas WITHOUT DEFAULTS FROM stablas.*
# PARA CREAR TABLAS
FOR idx = 1 TO arr_count()
IF tablas[idx].aplica = "SI" THEN
SELECT a.colname,a.coltype, FROM syscolumns a WHERE a.tabname = tablas[idx].nombre_origen
IF STATUS != NOTFOUND THEN
CONTINUE FOR
ELSE
ERROR "INSERTANDO REGISTROS"
END IF
END IF
END FOR
END MAIN
FUNCTION tipo_datos(coltype)
DEFINE coltype SMALLINT
DEFINE tipodato CHAR(50)
CASE
WHEN coltype = 0
LET tipodato= "CHAR"
WHEN coltype = 1
LET tipodato = "INTEGER"
WHEN coltype = 5
LET tipodato = "DECIMAL"
WHEN coltype = 4
LET tipodato = "FLOAT"
WHEN coltype = 2
LET tipodato = "SMALLINT"
WHEN coltype = 7
LET tipodato = "DATE"
WHEN coltype = 10
LET tipodato= "DATETIME"
END CASE
END FUNCTION