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