Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,239 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT007
|
||||
OBJETIVO : Matenimiento de Status de Orden de Produccion
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : MARZO 09, 1998
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE p_nombre CHAR(40),
|
||||
tipo_p CHAR(1),
|
||||
pnumreq INT
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
CALL prprmt007()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt007()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
#CALL pantalla()
|
||||
OPEN FORM ctfmmt007 FROM "prfmmt007"
|
||||
DISPLAY FORM ctfmmt007
|
||||
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET INT_FLAG = FALSE
|
||||
LET tipo_p = "A"
|
||||
INITIALIZE prtb09.* TO NULL
|
||||
INITIALIZE prtb07.* TO NULL
|
||||
LET p_nombre = NULL
|
||||
CLEAR FORM
|
||||
CALL prpcad007()
|
||||
COMMAND "Consulta/Modificar"
|
||||
LET INT_FLAG = FALSE
|
||||
LET tipo_p = "C"
|
||||
INITIALIZE prtb09.* TO NULL
|
||||
INITIALIZE prtb07.* TO NULL
|
||||
LET p_nombre = NULL
|
||||
CLEAR FORM
|
||||
CALL prpcmf007()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad007()
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET INT_FLAG = FALSE
|
||||
|
||||
IF tipo_p = "A" THEN
|
||||
INPUT prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega FROM
|
||||
num_oc,fecha,fecha_fabricacion
|
||||
AFTER FIELD num_oc
|
||||
IF prtb08.num_oc IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_oc
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.tipo_cliente,a.sec_cliente,a.fecha_oc
|
||||
INTO prtb07.tipo_cliente,prtb07.sec_cliente,prtb07.fecha
|
||||
FROM prtb00012 a WHERE a.num_oc = prtb08.num_oc
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_oc
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.nombre INTO p_nombre FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb07.tipo_cliente AND
|
||||
a.sec_cliente = prtb07.sec_cliente
|
||||
|
||||
DISPLAY BY NAME prtb07.tipo_cliente,prtb07.sec_cliente,p_nombre
|
||||
|
||||
|
||||
AFTER FIELD fecha_oc
|
||||
IF prtb08.fecha_oc IS NULL OR prtb08.fecha_oc < prtb07.fecha THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_oc
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
END IF
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
INPUT prtb08.cerrada,prtb08.fecha_entrega
|
||||
WITHOUT DEFAULTS FROM
|
||||
pendiente,fecha_fabricacion
|
||||
AFTER FIELD pendiente
|
||||
IF prtb08.cerrada IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD pendiente
|
||||
END IF
|
||||
END INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
IF tipo_p = "A" THEN
|
||||
UPDATE prtb00012 SET fecha_entrega = prtb08.fecha_entrega,
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE @num_oc = prtb08.num_oc
|
||||
AND @tipo_cliente = prtb07.tipo_cliente
|
||||
AND @sec_cliente = prtb07.sec_cliente
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf007()
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.num_oc #-> vg,a.fecha
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE a.num_oc,CONVERT(CHAR(10),a.fecha_oc,103),CONVERT(CHAR(10),a.fecha_entrega,103),a.cerrada,a.ubicacion FROM prtb00012 a ",
|
||||
" WHERE ",criterio CLIPPED #-> vg , " AND a.status_t IS NULL"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
|
||||
FETCH FIRST datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CALL despl_st()
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente" "Presenta en pantalla el sigte. registro encontrado"
|
||||
FETCH NEXT datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
CALL despl_st()
|
||||
|
||||
COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
CALL despl_st()
|
||||
|
||||
COMMAND "Primero" "Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
CALL despl_st()
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
CALL despl_st()
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Escoger" "Modifica el registro presentado en pantalla"
|
||||
LET tipo_p = "M"
|
||||
CALL prpcad007()
|
||||
|
||||
|
||||
UPDATE prtb00012 SET cerrada = prtb08.cerrada,fecha_cierre = Today,
|
||||
us_mod= SUSER_SNAME(),fech_mod = GETDATE()
|
||||
WHERE num_oc = prtb08.num_oc
|
||||
|
||||
|
||||
|
||||
IF prtb08.cerrada ='S' THEN
|
||||
# ACTUALIZACION REQUISICION DESPACHO
|
||||
|
||||
DECLARE brequisi CURSOR FOR
|
||||
SELECT a.num_req FROM cctb00026 a
|
||||
WHERE a.num_oc = prtb08.num_oc AND status_t IS NULL
|
||||
|
||||
FOREACH brequisi INTO pnumreq
|
||||
UPDATE cctb00025 set estado_despacho = 'DESPACHADA',
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE num_req = pnumreq
|
||||
END FOREACH
|
||||
|
||||
END IF
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Retornar" "Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION despl_st()
|
||||
|
||||
SELECT UNIQUE a.tipo_cliente,a.sec_cliente,b.nombre ,a.cerrada,CONVERT(char(10),a.fecha_entrega,103)
|
||||
INTO prtb07.tipo_cliente,prtb07.sec_cliente,p_nombre,prtb09.pendiente,prtb09.fecha_fabricacion
|
||||
FROM prtb00012 a,vetb00004 b
|
||||
WHERE a.tipo_cliente = b.tipo_cliente AND a.sec_cliente = b.sec_cliente AND
|
||||
a.num_oc = prtb08.num_oc
|
||||
|
||||
LET prtb08.fecha_entrega = prtb09.fecha_fabricacion
|
||||
LET prtb08.cerrada = prtb09.pendiente
|
||||
|
||||
DISPLAY BY NAME prtb09.*,prtb07.tipo_cliente,prtb07.sec_cliente,p_nombre,prtb09.pendiente,
|
||||
prtb09.fecha_fabricacion
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user