Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
{
|
||||
==========================================================================
|
||||
PROGRAMA : IPPRMT006
|
||||
OBJETIVO : Cerrar Anualmente Inventario Productos
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Febrero 12, 1996
|
||||
==========================================================================
|
||||
}
|
||||
GLOBALS "ipprgb000.4gl"
|
||||
DEFINE trx RECORD LIKE iptb00006.*
|
||||
DEFINE p_fecha1,p_fecha2 DATE,
|
||||
cantidad DECIMAL(12,2),
|
||||
o1,opt1 CHAR(1),
|
||||
ano1 CHAR(4),
|
||||
ano2 CHAR(2),
|
||||
p_ano SMALLINT,
|
||||
err_val INTEGER
|
||||
|
||||
DEFINE datos_6 RECORD
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
cantidad DECIMAL(12,2)
|
||||
END RECORD
|
||||
|
||||
FUNCTION ipprmt006()
|
||||
|
||||
OPTIONS
|
||||
PROMPT LINE 12,
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24
|
||||
|
||||
OPEN FORM ipfmmt006 FROM "ipfmmt006"
|
||||
DISPLAY FORM ipfmmt006
|
||||
CALL pantalla()
|
||||
DISPLAY "ipprmt006" AT 4,3
|
||||
DISPLAY " " AT 6,1
|
||||
DISPLAY " Cierre Anual" AT 6,30
|
||||
LET p_ano = YEAR(TODAY) - 1
|
||||
INPUT BY NAME p_ano WITHOUT DEFAULTS
|
||||
AFTER FIELD p_ano
|
||||
IF p_ano IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD p_ano
|
||||
END IF
|
||||
|
||||
SELECT fecha_corte INTO p_fecha2 FROM prdtable
|
||||
WHERE ano = p_ano AND mes = 12
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD p_ano
|
||||
END IF
|
||||
|
||||
IF p_fecha2 > TODAY THEN
|
||||
LET numero_msg = 189
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD p_ano
|
||||
END IF
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET ano1 = p_ano USING "&&&&"
|
||||
LET ano2 = ano1[3,4]
|
||||
|
||||
LABEL volver:
|
||||
PROMPT "Esta seguro de proceder (S/N)? " FOR opt1
|
||||
LET opt1 = upshift(opt1)
|
||||
IF opt1 != "S" AND opt1 != "N" THEN
|
||||
GOTO volver
|
||||
END IF
|
||||
IF opt1 != "S" THEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Haciendo Copia Seguridad... Espere Por Favor" AT 17,14
|
||||
# Copia de Seguridad en ASCII
|
||||
UNLOAD TO "iptb02.ld1" SELECT *FROM iptb00002
|
||||
UNLOAD TO "iptb06.ld1" SELECT *FROM iptb00006
|
||||
|
||||
RUN "dbschema -t iptb00002 -d rayovac ip2.sql"
|
||||
RUN "dbschema -t iptb00006 -d rayovac ip6.sql"
|
||||
|
||||
DISPLAY " " AT 17,14
|
||||
DISPLAY "El Formato de copia se hara en CPIO " AT 10,1
|
||||
DISPLAY "Introduzca La Cinta en La Unidad" AT 11,1
|
||||
LABEL volver1:
|
||||
PROMPT "Presione <ENTER> Cuando Este Listo" FOR opt4
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "En Proceso... Espere Por Favor" AT 23,1 ATTRIBUTE (BOLD)
|
||||
RUN "ls iptb06.ld1 iptb02.ld1 ip2.sql ip6.sql| cpio -ocuv > /dev/rmt0 "
|
||||
RETURNING err_val
|
||||
IF err_val = 256 THEN
|
||||
ERROR "UNIDAD NO ESTA LISTA"
|
||||
SLEEP 3
|
||||
GOTO volver1
|
||||
END IF
|
||||
DISPLAY err_val AT 13,1
|
||||
|
||||
PROMPT "Backup Es Correcto Digite <ENTER>, Caso Contrario <CTRL-C>" FOR CHAR o1
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Insertando en Historicos... Espere Por Favor" AT 17,14
|
||||
#### Proceso de Backup
|
||||
INSERT INTO iptb00008 SELECT *FROM iptb00006
|
||||
WHERE YEAR(fecha) <= p_ano
|
||||
UPDATE iptb00008 SET (us_mod,fech_mod) = (USER,CURRENT)
|
||||
WHERE YEAR(fecha) <= p_ano
|
||||
|
||||
INSERT INTO iptb00009 SELECT TODAY,*FROM iptb00002
|
||||
|
||||
DISPLAY "Buscando Balances... Espere Por Favor " AT 17,14
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT cod_n,cod_grupo,cod_tipo,cod_sec,SUM(cantidad_2)
|
||||
FROM iptb00008
|
||||
WHERE (YEAR(fecha) <= p_ano) AND (status_t IS NULL)
|
||||
GROUP BY 1,2,3,4
|
||||
|
||||
LET p_fecha1 = p_fecha2 + 1
|
||||
FOREACH busca INTO datos_6.*
|
||||
|
||||
INSERT INTO iptb00006(num_doc,fecha,cod_mov,cod_n,cod_grupo,cod_tipo,cod_sec,
|
||||
cantidad_2,us_crea,fech_crea)
|
||||
VALUES (1,p_fecha1,ano2,datos_6.cod_n,datos_6.cod_grupo,datos_6.cod_tipo,
|
||||
datos_6.cod_sec,datos_6.cantidad,USER,CURRENT)
|
||||
|
||||
END FOREACH
|
||||
|
||||
DISPLAY "Eliminando Transacciones... Espere Por Favor" AT 17,14
|
||||
# Borra las Informacion del historico
|
||||
DELETE FROM iptb00006 WHERE (YEAR(fecha) <= p_ano)
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user