FUNCTION inicio(url) DEFINE i INT, url STRING DEFINE fecha_login DATETIME YEAR TO MINUTE DEFINE nombre_vend,usuario,clave VARCHAR(50), psec_vend INT, pbodega SMALLINT, valido BOOLEAN, sesion VARCHAR(10) # WHENEVER ERROR CONTINUE OPEN WINDOW inicio WITH FORM "inicio" TRY SELECT a.ultimo_usuario INTO usuario FROM companias a CATCH CALL db_drop_tables() CALL db_create_tables() CALL db_add_indexes() END TRY INPUT BY NAME usuario,clave WITHOUT DEFAULTS BEFORE INPUT IF LENGTH(url) > 1 THEN DISPLAY "SERVIDOR ACTIVO" TO servidor ELSE DISPLAY "SERVIDOR INACTIVO" TO servidor END IF ON ACTION connecta ATTRIBUTE(IMAGE="connect.png") CALL conexion() RETURNING url IF LENGTH(url) > 1 THEN DISPLAY "SERVIDOR ACTIVO" TO servidor ELSE DISPLAY "SERVIDOR INACTIVO" TO servidor END IF AFTER INPUT IF int_flag THEN EXIT INPUT END IF IF usuario = "inicio" OR usuario = "demo" THEN CALL db_drop_tables() CALL db_create_tables() CALL db_add_indexes() IF usuario = "inicio" THEN EXECUTE IMMEDIATE "INSERT INTO seg000 (nombre,usuario,password,ocupacion,bodega) VALUES ('ADM','adm','lmmjvsd2016','USUARIO','1')" EXECUTE IMMEDIATE "INSERT INTO companias (cod_cia,nombre,servidor_sync,ultimo_usuario,ultima_fecha_login) VALUES (2,'DCM MARMOTECH',' ',' ','01/01/01')" CONTINUE INPUT END IF IF usuario = "demo" THEN EXECUTE IMMEDIATE "INSERT INTO seg000 (nombre,usuario,password,ocupacion,bodega) VALUES ('demo','demo','demo','usuario','1')" EXECUTE IMMEDIATE "INSERT INTO companias (cod_cia,nombre,servidor_sync,ultimo_usuario,ultima_fecha_login) VALUES (2,'EMPRESA DEMO',' ',' ','01/01/01')" CALL conexion_demo() RETURNING url END IF ELSE SELECT a.nombre,a.sec_vend # ,a.bodega INTO nombre_vend,psec_vend,pbodega FROM seg000 a WHERE a.usuario = usuario AND a.password = clave IF STATUS = NOTFOUND THEN LET sesion="CERRAR" CALL valida_usuario(usuario,clave,sesion,url) RETURNING valido,pbodega IF NOT valido THEN CALL fgl_winmessage("ERROR","USUARIO NO VALIDO","INFO") NEXT FIELD usuario ELSE SELECT a.nombre,a.sec_vend # ,a.bodega INTO nombre_vend,psec_vend,pbodega FROM seg000 a WHERE a.usuario = usuario IF STATUS = NOTFOUND THEN INSERT INTO seg000 (usuario,password,bodega,ocupacion) VALUES (usuario,clave,pbodega,'USUARIO') ELSE UPDATE seg000 SET password = clave,bodega = pbodega WHERE seg000.usuario = usuario END IF END IF END IF END IF UPDATE companias SET ultimo_usuario = usuario,ultima_fecha_login = date('now'), bodega = pbodega DISPLAY BY NAME nombre_vend END INPUT CLOSE WINDOW inicio IF int_flag THEN EXIT PROGRAM END IF RETURN usuario,clave END FUNCTION