83 lines
1.9 KiB
Plaintext
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
|
|
|