{ ------------------------------------------------------------------------ PROGRAMA : TEPRMT022 OBJETIVO : ASIGNAR COMISION DE UN VENDEDOR A OTRO PROGRAMADOR : JUAN F. SOTO FECHA : JUNIO 6, 1997. ------------------------------------------------------------------------ } GLOBALS "teprgb000.4gl" FUNCTION teprmt022() DEFINE vende_de,vende_a SMALLINT, nombre,apellido CHAR(20), nombre1,nombre2 CHAR(40) OPTIONS ERROR LINE 24, FORM LINE 8 CALL pantalla() DISPLAY "Asignar Comision De Un Vendedor A Otro" AT 6,20 ATTRIBUTE(BLACK) OPEN FORM tefmmt022 FROM "tefmmt022" DISPLAY FORM tefmmt022 INPUT BY NAME vende_de,vende_a AFTER FIELD vende_de IF vende_de IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD vende_de END IF SELECT nom1_emp,apell1_emp INTO nombre,apellido FROM adtb00003 WHERE num_emp = vende_de IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD vende_de END IF LET nombre1 = nombre CLIPPED," ",apellido DISPLAY BY NAME nombre1 AFTER FIELD vende_a IF vende_a IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD vende_a END IF LET nombre = NULL LET apellido = NULL SELECT nom1_emp,apell1_emp INTO nombre,apellido FROM adtb00003 WHERE num_emp = vende_a IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD vende_a END IF LET nombre2 = nombre CLIPPED," ",apellido DISPLAY BY NAME nombre2 AFTER INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF EXIT INPUT END INPUT DISPLAY "En Proceso... Por Favor Espere" AT 16,10 CREATE TEMP TABLE tetmp1 ( sec_vend smallint, cod_n smallint, cod_grupo smallint, cod_tipo smallint, cod_sec smallint, porc_ventas decimal(8,4), porc_cobros decimal(8,4), status_t char(1), us_crea char(9), fech_crea datetime year to minute, us_mod char(9), fech_mod datetime year to minute ); SELECT COUNT(*) INTO regi FROM cctb00008 WHERE sec_vend = vende_de DECLARE busca CURSOR FOR SELECT a.* FROM cctb00008 a WHERE a.sec_vend = vende_de LET p_param = "S" FOREACH busca INTO comisiones.* CALL termometro(regi,p_param) LET p_param = "N" SELECT UNIQUE sec_vend FROM cctb00008 WHERE sec_vend = vende_a AND cod_n = comisiones.cod_n AND cod_grupo = comisiones.cod_grupo AND cod_tipo = comisiones.cod_tipo AND cod_sec = comisiones.cod_sec IF STATUS = NOTFOUND THEN INSERT INTO tetmp1 SELECT *FROM cctb00008 WHERE sec_vend = vende_de AND cod_n = comisiones.cod_n AND cod_grupo = comisiones.cod_grupo AND cod_tipo = comisiones.cod_tipo AND cod_sec = comisiones.cod_sec UPDATE tetmp1 SET sec_vend = vende_a INSERT INTO cctb00008 SELECT *FROM tetmp1 WHERE sec_vend = vende_a AND cod_n = comisiones.cod_n AND cod_grupo = comisiones.cod_grupo AND cod_tipo = comisiones.cod_tipo AND cod_sec = comisiones.cod_sec END IF END FOREACH LET numero_msg = 1 CALL msg(numero_msg) END FUNCTION