Files
MBS/PROYECTO/otrodir/importar.4gl
T

91 lines
2.2 KiB
Plaintext

GLOBALS
DEFINE usuarios,clave CHAR(50)
END GLOBALS
MAIN
DEFINE accion CHAR(2)
DEFER INTERRUPT
CALL startlog("import.log")
OPEN WINDOW w1 WITH FORM "inf001"
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
INPUT BY NAME accion
AFTER INPUT
IF accion = 'E' THEN
CALL extraer()
END IF
IF accion = 'I' THEN
CALL importar()
END IF
EXIT INPUT
END INPUT
CLOSE WINDOW w1
END MAIN
FUNCTION extraer()
DEFINE ptabla CHAR(50),
cambia,user_script,user_script1,selec CHAR(100)
CONNECT TO "exterior" AS "IFMX"
UNLOAD TO "F:\\IMPORT\\iptb02.txt"
SELECT * FROM vetb00002
CONNECT TO "marmotech" AS "MSSQL"
LOAD FROM "F:\\IMPORT\\cctb01.txt" INSERT INTO cctb01 (cod_cia,num_doc,tipo_doc,tipo_cliente,sec_cliente,cod_emp,
cod_emp_Sec,fecha_orig,
fecha_ven,aplica_a,
banco,num_cheque,valor,valor_efectivo,
valor_cheque,costo,monto_desc,status_t,us_crea,
fech_crea,us_mod,fech_mod,bodega)
END FUNCTION
{ =======================================================================}
FUNCTION importar()
DEFINE ptabla CHAR(50),opt4 CHAR(10),
cambia,user_script,user_script1,selec CHAR(100)
OPEN WINDOW w3 WITH FORM "importar"
INPUT ptabla FROM tabla
AFTER INPUT
IF int_flag THEN
ERROR "OPERACION CANCELADA"
LET int_flag = false
RETURN
END IF
IF ptabla IS NULL THEN
ERROR "DEBE DIGITAR NOMBRE DE TABLA"
NEXT FIELD ptabla
END IF
EXIT INPUT
END INPUT
CONNECT to "smarmotech" USER usuarios USING clave
LET selec = " SELECT * FROM "||ptabla CLIPPED
LET user_script = "F:\\IMPORT\\"||ptabla CLIPPED||".LD "
UNLOAD TO user_script CLIPPED selec
LET opt4 = FGL_WINQUESTION("Pregunta","Esta seguro que desea actualizar tabla "||ptabla CLIPPED ||"?","no","yes|no|cancel","question",0)
IF opt4 = "yes" THEN
LET selec = "DELETE FROM "||ptabla
CONNECT TO "exterior"
PREPARE comando FROM selec
EXECUTE comando
LET selec = " INSERT INTO "||ptabla CLIPPED
LOAD FROM user_script selec
END IF
CLOSE WINDOW w3
END FUNCTION