Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,224 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : COPRCS005
|
||||
OBJETIVO : Consulta Relacion Suplidor - Bienes y Servicios
|
||||
PROGRAMADOR : JUAN SOTO
|
||||
FECHA REALIZACION : Agosto 1997
|
||||
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "coprgb000.4gl"
|
||||
|
||||
DEFINE base2 DECIMAL(10,2)
|
||||
DEFINE idx_e SMALLINT
|
||||
DEFINE supli RECORD
|
||||
cod_sp LIKE cotb00001.cod_sp,
|
||||
cod_sp_sec LIKE cotb00001.cod_sp_sec,
|
||||
nom_sp LIKE cotb00001.nom_sp,
|
||||
dir_sp LIKE cotb00001.dir_sp,
|
||||
ciu_sp LIKE cotb00001.ciu_sp,
|
||||
cod_pais LIKE cotb00001.cod_pais,
|
||||
nom_pais LIKE cotb00018.nom_pais,
|
||||
area_sp LIKE cotb00001.area_sp,
|
||||
tel_sp LIKE cotb00001.tel_sp,
|
||||
fax_sp LIKE cotb00001.fax_sp,
|
||||
cont_sp LIKE cotb00001.cont_sp,
|
||||
descrip_term LIKE cotb00024.descrip_term
|
||||
END RECORD
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
|
||||
CALL coprcs005()
|
||||
END MAIN
|
||||
|
||||
FUNCTION coprcs005()
|
||||
WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
OPEN FORM cofmcs005 FROM "cofmcs005"
|
||||
DISPLAY FORM cofmcs005
|
||||
|
||||
LABEL volver:
|
||||
|
||||
CONSTRUCT criterio ON a.cod_sp,a.cod_sp_sec,a.nom_sp
|
||||
FROM cod_sp,cod_sp_sec,nom_sp
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC =
|
||||
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.ciu_sp,a.cod_pais, ",
|
||||
" c.nom_pais,a.area_sp,a.tel_sp,a.fax_sp,a.cont_sp,b.descrip_term ",
|
||||
"FROM cotb00001 a,cotb00024 b,cotb00018 c ",
|
||||
"WHERE a.term_sp = b.term_sp AND a.cod_pais = c.cod_pais AND ",
|
||||
"a.status_t is null AND ", criterio clipped, " ORDER BY a.cod_sp,a.cod_sp_sec"
|
||||
|
||||
## Verifica si el usuario presiono la tecla <Delete>
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 23,3
|
||||
ATTRIBUTE (YELLOW)
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE accion SCROLL CURSOR FOR busca
|
||||
OPEN accion
|
||||
DISPLAY " " AT 21,2
|
||||
|
||||
LET idx = 1
|
||||
FETCH FIRST accion INTO supli.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
CLEAR FORM
|
||||
GOTO volver
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME supli.cod_sp,supli.cod_sp_sec,supli.nom_sp,supli.dir_sp,
|
||||
supli.ciu_sp,supli.cod_pais,supli.nom_pais,supli.area_sp,
|
||||
supli.tel_sp,supli.fax_sp,supli.cont_sp,supli.descrip_term
|
||||
|
||||
|
||||
MENU "OPCION"
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el registro Siguiente encontrado"
|
||||
LET idx = 1
|
||||
FETCH NEXT accion INTO supli.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME supli.cod_sp,supli.cod_sp_sec,supli.nom_sp,supli.dir_sp,
|
||||
supli.ciu_sp,supli.cod_pais,supli.nom_pais,supli.area_sp,
|
||||
supli.tel_sp,supli.fax_sp,supli.cont_sp,supli.descrip_term
|
||||
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro Anterior encontrado"
|
||||
LET idx = 1
|
||||
FETCH PREVIOUS accion INTO supli.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME supli.cod_sp,supli.cod_sp_sec,supli.nom_sp,supli.dir_sp,
|
||||
supli.ciu_sp,supli.cod_pais,supli.nom_pais,supli.area_sp,
|
||||
supli.tel_sp,supli.fax_sp,supli.cont_sp,supli.descrip_term
|
||||
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el Primer registro encontrado"
|
||||
LET idx = 1
|
||||
FETCH FIRST accion INTO supli.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME supli.cod_sp,supli.cod_sp_sec,supli.nom_sp,supli.dir_sp,
|
||||
supli.ciu_sp,supli.cod_pais,supli.nom_pais,supli.area_sp,
|
||||
supli.tel_sp,supli.fax_sp,supli.cont_sp,supli.descrip_term
|
||||
|
||||
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el Ultimo registro encontrado"
|
||||
LET idx = 1
|
||||
FETCH LAST accion INTO supli.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME supli.cod_sp,supli.cod_sp_sec,supli.nom_sp,supli.dir_sp,
|
||||
supli.ciu_sp,supli.cod_pais,supli.nom_pais,supli.area_sp,
|
||||
supli.tel_sp,supli.fax_sp,supli.cont_sp,supli.descrip_term
|
||||
|
||||
|
||||
COMMAND "Ver"
|
||||
"Presenta los materiales de este suplidor"
|
||||
CALL material()
|
||||
|
||||
COMMAND "Retornar"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
CLEAR FORM
|
||||
RETURN
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION material()
|
||||
## Se seleccionan los campos que el usuario debe ver en la pantalla
|
||||
DECLARE accion5 CURSOR FOR
|
||||
SELECT d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec," ",d.precio,
|
||||
MAX(d.fech_crea)
|
||||
FROM cotb00015 d, cotb00014 h
|
||||
WHERE h.cod_sp = supli.cod_sp AND h.cod_sp_sec = supli.cod_sp_sec AND
|
||||
h.num_oc = d.num_oc and h.tipo = d.tipo and d.status_t is null
|
||||
GROUP BY d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,d.precio ORDER BY d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec
|
||||
|
||||
## Busca los registros que cumplan con la condicion dada y verifica si el
|
||||
## suplidor existe en el catalogo de suplidores
|
||||
|
||||
LET idx_e = 1
|
||||
FOREACH accion5 INTO smp[idx_e].*
|
||||
|
||||
SELECT a.descrip_esp,a.unidad_med,c.nombre_marca
|
||||
INTO articulos.descrip_esp,articulos.descrip_ing,
|
||||
articulos.unidad_med,nombre_m
|
||||
FROM intb00001 a,iptb00002 b,iptb00019 c
|
||||
WHERE a.cod_n = smp[idx_e].cod_n AND
|
||||
a.cod_grupo =smp[idx_e].cod_grupo AND
|
||||
a.cod_tipo = smp[idx_e].cod_tipo AND
|
||||
a.cod_sec = smp[idx_e].cod_sec AND
|
||||
b.cod_n = smp[idx_e].cod_n AND
|
||||
b.cod_grupo =smp[idx_e].cod_grupo AND
|
||||
b.cod_tipo = smp[idx_e].cod_tipo AND
|
||||
b.cod_sec = smp[idx_e].cod_sec AND
|
||||
b.marca = c.marca
|
||||
LET smp[idx_e].descrip_esp = articulos.descrip_esp CLIPPED," ",
|
||||
nombre_m CLIPPED," ",articulos.descrip_ing
|
||||
LET idx_e = idx_e + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count (idx_e-1)
|
||||
|
||||
DISPLAY BY NAME supli.cod_sp,supli.cod_sp_sec,supli.nom_sp,supli.dir_sp,
|
||||
supli.ciu_sp,supli.cod_pais,supli.nom_pais,supli.area_sp,
|
||||
supli.tel_sp,supli.fax_sp,supli.cont_sp,supli.descrip_term
|
||||
|
||||
DISPLAY ARRAY smp TO consart.*
|
||||
|
||||
## Verifica si el usuario presiono la tecla <Delete>
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CLEAR FORM
|
||||
|
||||
END FUNCTION
|
||||
|
||||
Reference in New Issue
Block a user