Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
{
|
||||
NOMBRE FUNCION: prprmt011c.4gl
|
||||
OBJETIVO : Administratar el flujo comentarios
|
||||
FECHA : 28/1/2016
|
||||
DESARROLLADO : ING. JUAN SOTO
|
||||
|
||||
|
||||
}
|
||||
|
||||
FUNCTION prprmt011c(xnum_oc,pcodn,pcodgrupo,pcodtipo,pcodsec,xusuario,xactualiza,xdepartamento)
|
||||
DEFINE xnum_oc,xdepartamento INT,
|
||||
idx,pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT,
|
||||
opt,xactualiza VARCHAR(3),
|
||||
arr_flujo DYNAMIC ARRAY OF RECORD
|
||||
actualiza CHAR(2),
|
||||
fecha_trx DATETIME YEAR TO MINUTE,
|
||||
departamento SMALLINT,
|
||||
nombre VARCHAR(60),
|
||||
comentario VARCHAR(100),
|
||||
fecha_compromiso DATE,
|
||||
id INT
|
||||
END RECORD,
|
||||
xusuario VARCHAR(50)
|
||||
|
||||
|
||||
DECLARE busca_flujo CURSOR FOR
|
||||
SELECT a.actualiza,a.fecha_trx,a.departamento,b.nom_dpto,a.comentario,CONVERT(CHAR(10),a.fecha_compromiso,103),a.id
|
||||
FROM prtb00033 a,adtb00001 b
|
||||
WHERE a.num_oc = xnum_oc AND
|
||||
a.cod_n = pcodn AND
|
||||
a.cod_grupo = pcodgrupo AND
|
||||
a.cod_tipo = pcodtipo AND
|
||||
a.cod_sec = pcodsec AND
|
||||
a.departamento = b.departamento
|
||||
ORDER BY a.id
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_flujo INTO arr_flujo[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
OPEN WINDOW w1 WITH FORM "prfmmt011c"
|
||||
|
||||
INPUT ARRAY arr_flujo FROM sflujo.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
BEFORE INPUT
|
||||
FOR idx = 1 TO arr_flujo.getLength()
|
||||
IF arr_flujo[idx].actualiza = 'N' THEN
|
||||
DISPLAY arr_flujo[idx].* TO sflujo[scr_line()].* ATTRIBUTE(reverse)
|
||||
END IF
|
||||
END FOR
|
||||
AFTER FIELD departamento
|
||||
IF arr_flujo[arr_curr()].departamento IS NOT NULL THEN
|
||||
SELECT a.nom_dpto INTO arr_flujo[arr_curr()].nombre FROM adtb00001 a
|
||||
WHERE a.departamento = arr_flujo[arr_curr()].departamento
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL msg(3)
|
||||
NEXT FIELD departamento
|
||||
END IF
|
||||
IF arr_flujo[arr_curr()].fecha_compromiso IS NULL THEN
|
||||
LET arr_flujo[arr_curr()].fecha_compromiso =TODAY
|
||||
DISPLAY arr_flujo[arr_curr()].fecha_compromiso TO sflujo[scr_line()].fecha_compromiso
|
||||
END IF
|
||||
|
||||
DISPLAY arr_flujo[arr_curr()].nombre TO sflujo[scr_line()].nombre
|
||||
END IF
|
||||
AFTER INPUT
|
||||
IF INT_FLAG THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF xactualiza = "SI" THEN
|
||||
|
||||
LET opt = fgl_winquestion("Atencion","Desea Actualizar estos registros?","NO","NO|YES","QUESTION",0)
|
||||
IF opt = "YES" THEN
|
||||
BEGIN WORK
|
||||
FOR idx = 1 TO arr_flujo.getLength()
|
||||
IF arr_flujo[idx].departamento IS NOT NULL THEN
|
||||
IF arr_flujo[idx].actualiza IS NULL THEN
|
||||
INSERT INTO prtb00033 (fecha_trx,num_oc,cod_n,cod_grupo,cod_tipo,cod_sec,comentario,departamento,actualiza,
|
||||
id,fecha_compromiso,usuario)
|
||||
VALUES (GETDATE(),xnum_oc,pcodn,pcodgrupo,pcodtipo,pcodsec,
|
||||
arr_flujo[idx].comentario,arr_flujo[idx].departamento,'N',idx,arr_flujo[idx].fecha_compromiso,
|
||||
xusuario)
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","OCURRIO UN ERROR AL ACTUALIZAR EL LOG","INFO")
|
||||
EXIT FOR
|
||||
END IF
|
||||
IF arr_flujo[idx].fecha_compromiso IS NOT NULL THEN
|
||||
UPDATE prtb00012 SET fecha_entrega = arr_flujo[idx].fecha_compromiso,
|
||||
us_mod = xusuario,
|
||||
fech_mod = getdate()
|
||||
WHERE num_oc = xnum_oc
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","OCURRIO UN ERROR AL ACTUALIZAR MAESTRA ORDENES","INFO")
|
||||
EXIT FOR
|
||||
END IF
|
||||
UPDATE prtb00013 SET departamento = arr_flujo[idx].departamento,
|
||||
us_mod = xusuario,
|
||||
fech_mod = getdate()
|
||||
WHERE num_oc = xnum_oc AND
|
||||
cod_n = pcodn AND cod_grupo = pcodgrupo AND cod_tipo = pcodtipo AND
|
||||
cod_sec = pcodsec
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","OCURRIO UN ERROR AL ACTUALIZAR DETALLE ORDENES","INFO")
|
||||
EXIT FOR
|
||||
END IF
|
||||
|
||||
END IF
|
||||
INSERT INTO prordenstatus(fecha_trx,num_oc,observacion,fecha_compromiso,usuario)
|
||||
VALUES (GETDATE(),xnum_oc,arr_flujo[idx].comentario,arr_flujo[idx].fecha_compromiso,xusuario)
|
||||
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END FOR
|
||||
COMMIT WORK
|
||||
CALL fgl_winmessage("Atencion","Registro(s) Actualizado(s)","info")
|
||||
ELSE
|
||||
CALL fgl_winmessage("Atencion","Registro(s) NO Actualizado(s)","info")
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET INT_FLAG = FALSE
|
||||
CLOSE WINDOW w1
|
||||
RETURN
|
||||
END IF
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user