Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,585 @@
|
||||
{
|
||||
--------------------------------------------------------------------------
|
||||
PROGRAMA : VEPRMT304
|
||||
OBJETIVO : Realizar presupuesto de ventas por vendedor.
|
||||
REALIZADO POR : Ing. Juan Fco. Soto.
|
||||
FECHA : Febrero 10, 1993.
|
||||
--------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "veprgb000.4gl"
|
||||
DEFINE apellido CHAR(15)
|
||||
DEFINE desc_mes CHAR(10)
|
||||
DEFINE mes304 INTEGER
|
||||
|
||||
FUNCTION veprmt304()
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24,
|
||||
COMMENT LINE 22
|
||||
|
||||
CALL pantalla()
|
||||
OPEN FORM vefmmt304 FROM "vefmmt304"
|
||||
DISPLAY FORM vefmmt304
|
||||
DISPLAY "Presupuesto Por Vendedor" AT 6,28
|
||||
DISPLAY "veprmt304" AT 4,3 ATTRIBUTE (BOLD)
|
||||
|
||||
MENU "OPCION"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Delete> Cancela Operacion"
|
||||
CALL veadd2()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Realiza Busqueda <Delete> Cancela Operacion"
|
||||
CALL vemod2()
|
||||
COMMAND "Salir"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION veadd2()
|
||||
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
LABEL vuelve:
|
||||
LET ano1 = year(today)
|
||||
LET mes304 = MONTH(today)
|
||||
|
||||
INPUT BY NAME ano1,mes304 WITHOUT DEFAULTS
|
||||
AFTER FIELD ano1
|
||||
IF ano1 IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano1
|
||||
END IF
|
||||
|
||||
AFTER FIELD mes304
|
||||
IF mes304 IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes304
|
||||
END IF
|
||||
|
||||
IF mes304 > 12 THEN
|
||||
LET numero_msg = 75
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
IF mes304 < 1 THEN
|
||||
LET numero_msg = 75
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
SELECT a.descrip INTO desc_mes FROM mestable a
|
||||
WHERE a.mes = mes304
|
||||
DISPLAY BY NAME desc_mes
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE ano FROM vetb00022 WHERE @ano = ano1 AND @mes = mes304
|
||||
|
||||
IF status != notfound THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
GOTO vuelve
|
||||
END IF
|
||||
|
||||
|
||||
FOR idx = 1 to 6
|
||||
LET porc_vend[idx].sec_vend = null
|
||||
LET porc_vend[idx].cod_n = null
|
||||
LET porc_vend[idx].cod_grupo = null
|
||||
LET porc_vend[idx].cod_tipo = null
|
||||
LET porc_vend[idx].cod_sec = null
|
||||
LET porc_vend[idx].porciento = null
|
||||
|
||||
DISPLAY porc_vend[idx].sec_vend to scr_zona[idx].sec_vend
|
||||
DISPLAY porc_vend[idx].cod_n to scr_zona[idx].cod_n
|
||||
DISPLAY porc_vend[idx].cod_grupo to scr_zona[idx].cod_grupo
|
||||
DISPLAY porc_vend[idx].cod_tipo to scr_zona[idx].cod_tipo
|
||||
DISPLAY porc_vend[idx].cod_sec to scr_zona[idx].cod_sec
|
||||
DISPLAY porc_vend[idx].porciento to scr_zona[idx].porciento
|
||||
END FOR
|
||||
|
||||
INPUT ARRAY porc_vend FROM scr_zona.*
|
||||
|
||||
BEFORE ROW
|
||||
LET curr2 = arr_curr()
|
||||
LET scr_l = scr_line()
|
||||
|
||||
AFTER FIELD sec_vend
|
||||
|
||||
IF porc_vend[curr2].sec_vend IS NOT NULL THEN
|
||||
|
||||
SELECT nom1_emp,apell1_emp INTO nombre,apellido FROM adtb00003
|
||||
WHERE num_emp = porc_vend[curr2].sec_vend and status_t is null
|
||||
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD sec_vend
|
||||
END IF
|
||||
|
||||
LET fact_gral.nombre = nombre CLIPPED," ",apellido CLIPPED
|
||||
DISPLAY BY NAME fact_gral.nombre
|
||||
END IF
|
||||
|
||||
AFTER FIELD cod_sec
|
||||
IF porc_vend[curr2].cod_n is not null and
|
||||
porc_vend[curr2].cod_grupo is not null and
|
||||
porc_vend[curr2].cod_tipo is not null and
|
||||
porc_vend[curr2].cod_sec is not null THEN
|
||||
|
||||
SELECT descrip_esp INTO nombre_pt FROM iptb00002
|
||||
WHERE cod_n = porc_vend[curr2].cod_n and
|
||||
cod_grupo = porc_vend[curr2].cod_grupo and
|
||||
cod_tipo = porc_vend[curr2].cod_tipo and
|
||||
cod_sec = porc_vend[curr2].cod_sec and
|
||||
status_t is null
|
||||
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_n
|
||||
END IF
|
||||
DISPLAY BY NAME nombre_pt
|
||||
ELSE
|
||||
LET porc_vend[curr2].cod_n = null
|
||||
LET porc_vend[curr2].cod_grupo = null
|
||||
LET porc_vend[curr2].cod_tipo = null
|
||||
LET porc_vend[curr2].cod_sec = null
|
||||
|
||||
DISPLAY porc_vend[curr2].cod_n to scr_zona[scr_l].cod_n
|
||||
DISPLAY porc_vend[curr2].cod_grupo to scr_zona[scr_l].cod_grupo
|
||||
DISPLAY porc_vend[curr2].cod_tipo to scr_zona[scr_l].cod_tipo
|
||||
DISPLAY porc_vend[curr2].cod_sec to scr_zona[scr_l].cod_sec
|
||||
NEXT FIELD sec_vend
|
||||
END IF
|
||||
|
||||
|
||||
AFTER FIELD porciento
|
||||
IF porc_vend[curr2].cod_n is not null and
|
||||
porc_vend[curr2].cod_grupo is not null and
|
||||
porc_vend[curr2].cod_tipo is not null and
|
||||
porc_vend[curr2].cod_sec is not null THEN
|
||||
|
||||
IF porc_vend[curr2].porciento IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD porciento
|
||||
END IF
|
||||
|
||||
# No permite que se digite un porcentaje mayor que el 100 % para cada codigo
|
||||
|
||||
LET p_cantidad = 0
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF porc_vend[idx].cod_n is not null and
|
||||
porc_vend[idx].cod_grupo is not null and
|
||||
porc_vend[idx].cod_tipo is not null and
|
||||
porc_vend[idx].cod_sec is not null THEN
|
||||
|
||||
IF porc_vend[idx].cod_n = porc_vend[curr2].cod_n and
|
||||
porc_vend[idx].cod_grupo = porc_vend[curr2].cod_grupo and
|
||||
porc_vend[idx].cod_tipo = porc_vend[curr2].cod_tipo and
|
||||
porc_vend[idx].cod_sec = porc_vend[curr2].cod_sec THEN
|
||||
|
||||
LET p_cantidad = p_cantidad + porc_vend[idx].porciento
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
IF p_cantidad > 100 THEN
|
||||
LET numero_msg = 89
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD porciento
|
||||
END IF
|
||||
|
||||
|
||||
LET verdad = "N"
|
||||
CALL repite3()
|
||||
IF verdad = "S" THEN
|
||||
NEXT FIELD sec_vend
|
||||
END IF
|
||||
END IF
|
||||
|
||||
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
|
||||
FOR idx = 1 to arr_count()
|
||||
IF porc_vend[idx].cod_n is not null and
|
||||
porc_vend[idx].cod_grupo is not null and
|
||||
porc_vend[idx].cod_tipo is not null and
|
||||
porc_vend[idx].cod_sec is not null THEN
|
||||
|
||||
INSERT INTO vetb00022
|
||||
VALUES (ano1,mes304,porc_vend[idx].sec_vend,
|
||||
porc_vend[idx].cod_n,porc_vend[idx].cod_grupo,
|
||||
porc_vend[idx].cod_tipo,porc_vend[idx].cod_sec,
|
||||
porc_vend[idx].porciento,null,user,current,null,null)
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
IF status > 0 THEN
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
ELSE
|
||||
CALL integridad()
|
||||
END IF
|
||||
|
||||
FOR idx = 1 to 6
|
||||
LET porc_vend[idx].sec_vend = null
|
||||
LET porc_vend[idx].cod_n = null
|
||||
LET porc_vend[idx].cod_grupo = null
|
||||
LET porc_vend[idx].cod_tipo = null
|
||||
LET porc_vend[idx].cod_sec = null
|
||||
LET porc_vend[idx].porciento = null
|
||||
|
||||
DISPLAY porc_vend[idx].sec_vend to scr_zona[idx].sec_vend
|
||||
DISPLAY porc_vend[idx].cod_n to scr_zona[idx].cod_n
|
||||
DISPLAY porc_vend[idx].cod_grupo to scr_zona[idx].cod_grupo
|
||||
DISPLAY porc_vend[idx].cod_tipo to scr_zona[idx].cod_tipo
|
||||
DISPLAY porc_vend[idx].cod_sec to scr_zona[idx].cod_sec
|
||||
DISPLAY porc_vend[idx].porciento to scr_zona[idx].porciento
|
||||
END FOR
|
||||
|
||||
GOTO vuelve
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION vemod2()
|
||||
|
||||
DEFINE usuarios RECORD
|
||||
us_crea CHAR(9),
|
||||
fech_crea LIKE vetb00016.fech_crea
|
||||
END RECORD
|
||||
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
CONSTRUCT criterio ON ano,mes FROM ano1,mes304
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET selec = "SELECT unique ano,mes FROM vetb00022 ",
|
||||
"WHERE ",criterio clipped," and status_t is null ",
|
||||
"ORDER BY 1 "
|
||||
|
||||
PREPARE busca_porc FROM selec
|
||||
DECLARE porc SCROLL CURSOR FOR busca_porc
|
||||
OPEN porc
|
||||
|
||||
FETCH FIRST porc INTO ano1,mes304
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME ano1,mes304
|
||||
|
||||
MENU "OPCION"
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proximo registro encontrado"
|
||||
FETCH NEXT porc INTO ano1,mes304
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME ano1,mes304
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS porc INTO ano1,mes304
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME ano1,mes304
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST porc INTO ano1,mes304
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME ano1,mes304
|
||||
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST porc INTO ano1,mes304
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME ano1,mes304
|
||||
|
||||
COMMAND "Escoger"
|
||||
"<Esc> Actualiza Registro <Delete> Cancela Operacion"
|
||||
|
||||
FOR idx = 1 to 6
|
||||
LET porc_vend[idx].sec_vend = null
|
||||
LET porc_vend[idx].cod_n = null
|
||||
LET porc_vend[idx].cod_grupo = null
|
||||
LET porc_vend[idx].cod_tipo = null
|
||||
LET porc_vend[idx].cod_sec = null
|
||||
LET porc_vend[idx].porciento = null
|
||||
|
||||
DISPLAY porc_vend[idx].sec_vend to scr_zona[idx].sec_vend
|
||||
DISPLAY porc_vend[idx].cod_n to scr_zona[idx].cod_n
|
||||
DISPLAY porc_vend[idx].cod_grupo to scr_zona[idx].cod_grupo
|
||||
DISPLAY porc_vend[idx].cod_tipo to scr_zona[idx].cod_tipo
|
||||
DISPLAY porc_vend[idx].cod_sec to scr_zona[idx].cod_sec
|
||||
DISPLAY porc_vend[idx].porciento to scr_zona[idx].porciento
|
||||
END FOR
|
||||
|
||||
DECLARE buscate CURSOR FOR
|
||||
SELECT x.sec_vend,x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec,x.porciento
|
||||
FROM vetb00022 x,iptb00002 a
|
||||
WHERE x.ano = ano1 and x.mes <=12 AND x.mes = mes304 AND
|
||||
x.cod_n = a.cod_n and x.cod_grupo = a.cod_grupo and
|
||||
x.cod_tipo =a.cod_tipo and x.cod_sec = a.cod_sec and a.status_t is null
|
||||
|
||||
LET idx = 1
|
||||
|
||||
FOREACH buscate INTO porc_vend[idx].*
|
||||
|
||||
LET idx = idx + 1
|
||||
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx - 1)
|
||||
INPUT ARRAY porc_vend WITHOUT DEFAULTS FROM scr_zona.*
|
||||
|
||||
BEFORE ROW
|
||||
LET curr2 = arr_curr()
|
||||
LET scr_l = scr_line()
|
||||
|
||||
AFTER FIELD cod_sec
|
||||
IF porc_vend[curr2].cod_n is not null and
|
||||
porc_vend[curr2].cod_grupo is not null and
|
||||
porc_vend[curr2].cod_tipo is not null and
|
||||
porc_vend[curr2].cod_sec is not null THEN
|
||||
|
||||
SELECT descrip_esp INTO nombre_pt FROM iptb00002
|
||||
WHERE cod_n = porc_vend[curr2].cod_n and
|
||||
cod_grupo = porc_vend[curr2].cod_grupo and
|
||||
cod_tipo = porc_vend[curr2].cod_tipo and
|
||||
cod_sec = porc_vend[curr2].cod_sec and
|
||||
status_t is null
|
||||
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_n
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME nombre_pt
|
||||
END IF
|
||||
|
||||
AFTER FIELD porciento
|
||||
IF porc_vend[curr2].cod_n is not null and
|
||||
porc_vend[curr2].cod_grupo is not null and
|
||||
porc_vend[curr2].cod_tipo is not null and
|
||||
porc_vend[curr2].cod_sec is not null THEN
|
||||
|
||||
IF porc_vend[curr2].porciento IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD porciento
|
||||
END IF
|
||||
|
||||
# No permite que se digite un porcentaje mayor que el 100 % para cada codigo
|
||||
|
||||
LET p_cantidad = 0
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF porc_vend[idx].cod_n is not null and
|
||||
porc_vend[idx].cod_grupo is not null and
|
||||
porc_vend[idx].cod_tipo is not null and
|
||||
porc_vend[idx].cod_sec is not null THEN
|
||||
|
||||
IF porc_vend[idx].cod_n = porc_vend[curr2].cod_n and
|
||||
porc_vend[idx].cod_grupo = porc_vend[curr2].cod_grupo and
|
||||
porc_vend[idx].cod_tipo = porc_vend[curr2].cod_tipo and
|
||||
porc_vend[idx].cod_sec = porc_vend[curr2].cod_sec THEN
|
||||
|
||||
LET p_cantidad = p_cantidad + porc_vend[idx].porciento
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
IF p_cantidad > 100 THEN
|
||||
LET numero_msg = 89
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD porciento
|
||||
END IF
|
||||
END IF
|
||||
|
||||
LET verdad = "N"
|
||||
CALL repite3()
|
||||
IF verdad = "S" THEN
|
||||
NEXT FIELD sec_vend
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
IF porc_vend[curr2].cod_n is null or
|
||||
porc_vend[curr2].cod_grupo is null or
|
||||
porc_vend[curr2].cod_tipo is null or
|
||||
porc_vend[curr2].cod_sec is null THEN
|
||||
|
||||
LET porc_vend[curr2].cod_n = null
|
||||
LET porc_vend[curr2].cod_grupo = null
|
||||
LET porc_vend[curr2].cod_tipo = null
|
||||
LET porc_vend[curr2].cod_sec = null
|
||||
|
||||
DISPLAY porc_vend[curr2].cod_n to scr_zona[scr_l].cod_n
|
||||
DISPLAY porc_vend[curr2].cod_grupo to scr_zona[scr_l].cod_grupo
|
||||
DISPLAY porc_vend[curr2].cod_tipo to scr_zona[scr_l].cod_tipo
|
||||
DISPLAY porc_vend[curr2].cod_sec to scr_zona[scr_l].cod_sec
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
DELETE FROM vetb00022 WHERE ano = ano1 AND mes = mes304
|
||||
|
||||
FOR idx = 1 to arr_count()
|
||||
IF porc_vend[idx].cod_n is not null and
|
||||
porc_vend[idx].cod_grupo is not null and
|
||||
porc_vend[idx].cod_tipo is not null and
|
||||
porc_vend[idx].cod_sec is not null THEN
|
||||
|
||||
INSERT INTO vetb00022
|
||||
VALUES (ano1,mes304,porc_vend[idx].sec_vend,
|
||||
porc_vend[idx].cod_n,porc_vend[idx].cod_grupo,
|
||||
porc_vend[idx].cod_tipo,porc_vend[idx].cod_sec,
|
||||
porc_vend[idx].porciento,null,user,current,null,null)
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
IF status > 0 THEN
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
ELSE
|
||||
CALL integridad()
|
||||
END IF
|
||||
|
||||
FOR idx = 1 to 6
|
||||
LET porc_vend[idx].sec_vend = null
|
||||
LET porc_vend[idx].cod_n = null
|
||||
LET porc_vend[idx].cod_grupo = null
|
||||
LET porc_vend[idx].cod_tipo = null
|
||||
LET porc_vend[idx].cod_sec = null
|
||||
LET porc_vend[idx].porciento = null
|
||||
|
||||
DISPLAY porc_vend[idx].sec_vend to scr_zona[idx].sec_vend
|
||||
DISPLAY porc_vend[idx].cod_n to scr_zona[idx].cod_n
|
||||
DISPLAY porc_vend[idx].cod_grupo to scr_zona[idx].cod_grupo
|
||||
DISPLAY porc_vend[idx].cod_tipo to scr_zona[idx].cod_tipo
|
||||
DISPLAY porc_vend[idx].cod_sec to scr_zona[idx].cod_sec
|
||||
DISPLAY porc_vend[idx].porciento to scr_zona[idx].porciento
|
||||
END FOR
|
||||
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
DELETE FROM vetb00022 WHERE ano = ano1 AND mes = mes304
|
||||
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Retornar"
|
||||
CLEAR FORM
|
||||
|
||||
FOR idx = 1 to 6
|
||||
LET porc_vend[idx].sec_vend = null
|
||||
LET porc_vend[idx].cod_n = null
|
||||
LET porc_vend[idx].cod_grupo = null
|
||||
LET porc_vend[idx].cod_tipo = null
|
||||
LET porc_vend[idx].cod_sec = null
|
||||
LET porc_vend[idx].porciento = null
|
||||
|
||||
DISPLAY porc_vend[idx].sec_vend to scr_zona[idx].sec_vend
|
||||
DISPLAY porc_vend[idx].cod_n to scr_zona[idx].cod_n
|
||||
DISPLAY porc_vend[idx].cod_grupo to scr_zona[idx].cod_grupo
|
||||
DISPLAY porc_vend[idx].cod_tipo to scr_zona[idx].cod_tipo
|
||||
DISPLAY porc_vend[idx].cod_sec to scr_zona[idx].cod_sec
|
||||
DISPLAY porc_vend[idx].porciento to scr_zona[idx].porciento
|
||||
END FOR
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION repite3()
|
||||
|
||||
DEFINE ant_art RECORD
|
||||
ventas CHAR(1),
|
||||
zona CHAR(3),
|
||||
provincia SMALLINT,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_vend SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
mes SMALLINT
|
||||
END RECORD
|
||||
|
||||
LET ant_art.sec_vend = porc_vend[curr2].sec_vend
|
||||
LET ant_art.cod_n = porc_vend[curr2].cod_n
|
||||
LET ant_art.cod_grupo = porc_vend[curr2].cod_grupo
|
||||
LET ant_art.cod_tipo = porc_vend[curr2].cod_tipo
|
||||
LET ant_art.cod_sec = porc_vend[curr2].cod_sec
|
||||
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF idx != curr2 THEN
|
||||
IF porc_vend[idx].cod_n IS NOT NULL AND
|
||||
porc_vend[idx].cod_grupo IS NOT NULL AND
|
||||
porc_vend[idx].cod_tipo IS NOT NULL AND
|
||||
porc_vend[idx].cod_sec IS NOT NULL THEN
|
||||
|
||||
IF porc_vend[idx].cod_n = ant_art.cod_n AND
|
||||
porc_vend[idx].cod_grupo = ant_art.cod_grupo AND
|
||||
porc_vend[idx].cod_tipo = ant_art.cod_tipo AND
|
||||
porc_vend[idx].cod_sec = ant_art.cod_sec AND
|
||||
porc_vend[idx].sec_vend = ant_art.sec_vend THEN
|
||||
|
||||
LET numero_msg = 21
|
||||
CALL msg(numero_msg)
|
||||
LET verdad = "S"
|
||||
ELSE
|
||||
IF verdad != "S" THEN
|
||||
LET verdad = "N"
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END FOR
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user