106 lines
4.3 KiB
Plaintext
106 lines
4.3 KiB
Plaintext
{
|
|
PROGRAMA: ipprmt021.4gl
|
|
OBJETIVO: AUTORIZAR REQUISICIONES A ALMACENES
|
|
DESARROLLADO POR: ING. JUAN SOTO
|
|
FECHA : MAYO 5, 2022
|
|
}
|
|
GLOBALS
|
|
"ipprgb000.4gl"
|
|
|
|
DEFINE arr_busqueda DYNAMIC ARRAY OF RECORD
|
|
|
|
estado VARCHAR(50),
|
|
idestado int,
|
|
tipo_documento VARCHAR(100),
|
|
numeroid INT,
|
|
fechadoc DATE,
|
|
nombre VARCHAR(100),
|
|
observacion,usuario VARCHAR(200),
|
|
cod_mov INT ,
|
|
us_crea VARCHAR(50)
|
|
END RECORD
|
|
DEFINE nombreUsuario,email,etiqueta STRING
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
|
|
CONNECT to "smarmotech" USER usuarios USING clave
|
|
|
|
|
|
CALL ipprmt021()
|
|
END MAIN
|
|
FUNCTION ipprmt021()
|
|
|
|
OPEN WINDOW w1 WITH FORM "ipfmmt021"
|
|
DIALOG ATTRIBUTE(UNBUFFERED)
|
|
CONSTRUCT criterio ON b.estado,b.idestado FROM estado1,idestado1
|
|
BEFORE CONSTRUCT
|
|
LET etiqueta = "AUTORIZACIONES REQUISICIONES A ALMACENES"
|
|
DISPLAY BY NAME etiqueta
|
|
CALL estadosprocesos(2)
|
|
CALL arr_busqueda.clear()
|
|
|
|
ON ACTION buscar ATTRIBUTE(TEXT="Buscar",IMAGE="find")
|
|
CALL arr_busqueda.clear()
|
|
LET selec =
|
|
"SELECT b.estado,b.idestado,CAST(a.cod_mov AS VARCHAR(10))||' '||a.descrip_mov,b.numero_doc,b.fecha,c.nombre,
|
|
b.observacion,' ',b.cod_mov,b.us_crea
|
|
FROM iptb00005 a,iptb00057 b INNER JOIN iptb00061 d ON b.idestado = d.idestado
|
|
LEFT OUTER JOIN vetb00004 c ON c.tipo_cliente = b.tipo_cliente AND
|
|
c.sec_cliente = b.sec_cliente
|
|
WHERE a.cod_mov = b.cod_mov AND
|
|
b.status_t IS NULL AND
|
|
", criterio CLIPPED
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE buscardata CURSOR FOR comando
|
|
|
|
LET idx = 1
|
|
FOREACH buscardata INTO arr_busqueda[idx].*
|
|
CALL usuarioSistema(arr_busqueda[idx].us_crea) RETURNING nombreUsuario,email
|
|
LET arr_busqueda[idx].usuario = nombreUsuario
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
IF idx = 1 THEN
|
|
CALL msg(3)
|
|
CALL arr_busqueda.clear()
|
|
|
|
END IF
|
|
END CONSTRUCT
|
|
INPUT ARRAY arr_busqueda FROM sautoriza.* ATTRIBUTE(WITHOUT DEFAULTS)
|
|
BEFORE INPUT
|
|
CALL estadosprocesos(1)
|
|
|
|
ON CHANGE estado
|
|
|
|
UPDATE iptb00057 SET estado = arr_busqueda[arr_curr()].estado,us_mod=usuarios,fech_mod=getdate()
|
|
|
|
WHERE numero_doc = arr_busqueda[arr_curr()].numeroid AND
|
|
cod_mov = arr_busqueda[arr_curr()].cod_mov
|
|
|
|
ON CHANGE observacion
|
|
|
|
UPDATE iptb00057 SET us_mod=usuarios,fech_mod=getdate(),
|
|
observacion = arr_busqueda[arr_curr()].observacion
|
|
|
|
WHERE numero_doc = arr_busqueda[arr_curr()].numeroid AND
|
|
cod_mov = arr_busqueda[arr_curr()].cod_mov
|
|
|
|
ON CHANGE idestado
|
|
|
|
|
|
UPDATE iptb00057 SET us_mod=usuarios,fech_mod=getdate(),
|
|
estado_proceso = arr_busqueda[arr_curr()].idestado
|
|
WHERE numero_doc = arr_busqueda[arr_curr()].numeroid AND
|
|
cod_mov = arr_busqueda[arr_curr()].cod_mov
|
|
|
|
ON ACTION imprime ATTRIBUTE(TEXT="Imprimir", IMAGE="printer")
|
|
CALL impdocumento(arr_busqueda[arr_curr()].numeroid,arr_busqueda[arr_curr()].cod_mov)
|
|
AFTER INPUT
|
|
END INPUT
|
|
ON ACTION CANCEL ATTRIBUTE(TEXT="Cancelar",IMAGE="quit")
|
|
EXIT PROGRAM
|
|
END DIALOG
|
|
CLOSE WINDOW w1
|
|
END FUNCTION |