Files
MBS/PROYECTO/tedirbk/teprmt022.4gl
T

139 lines
3.8 KiB
Plaintext

{
------------------------------------------------------------------------
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