Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,163 @@
|
||||
{
|
||||
============================================================================
|
||||
PROGRAMA : INPRRP012
|
||||
OBJETIVO : ESTABLECER DIFERENCIAS DE VALORIZACION DE COSTOS ENTRE DOS
|
||||
ANOS DADOS.
|
||||
PROGRAMADOR : JUAN F. SOTO
|
||||
FECHA : FEBRERO 9, 1995
|
||||
============================================================================
|
||||
}
|
||||
GLOBALS
|
||||
"inprgb000.4gl"
|
||||
DEFINE cost_ant RECORD LIKE intb00013.*
|
||||
DEFINE cost_act RECORD LIKE intb00013.*
|
||||
DEFINE p_ano,p_ano_act SMALLINT
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
SELECT * INTO p_companias.* FROM companias
|
||||
CALL inprrp012()
|
||||
END MAIN
|
||||
|
||||
|
||||
FUNCTION inprrp012()
|
||||
DEFINE tipo_papel SMALLINT
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24
|
||||
|
||||
OPEN FORM infmrp012 FROM "infmrp012"
|
||||
DISPLAY FORM infmrp012
|
||||
CALL pantalla()
|
||||
DISPLAY "Costos Comparativo Anuales" at 6,27
|
||||
DISPLAY "inprrp012" at 4,3
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME p_ano,p_ano_act
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Buscando Informacion ... Espere Por Favor" AT 17,14
|
||||
DECLARE busca1 CURSOR FOR
|
||||
SELECT unique * FROM intb00013
|
||||
WHERE ano = p_ano and mes_fin = 12
|
||||
ORDER BY cod_n,cod_grupo,cod_tipo,cod_sec
|
||||
|
||||
DISPLAY "Reporte Generandose ... Espere Por Favor" AT 17,14
|
||||
START REPORT costos1 TO "C:\\archivo"
|
||||
|
||||
FOREACH busca1 INTO cost_ant.*
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
SELECT *INTO cost_act.* FROM intb00013
|
||||
WHERE @cod_n = cost_ant.cod_n and
|
||||
@cod_grupo = cost_ant.cod_grupo and
|
||||
@cod_tipo = cost_ant.cod_tipo and
|
||||
@cod_sec = cost_ant.cod_sec and
|
||||
@ano = p_ano_act and
|
||||
@status_t is null
|
||||
|
||||
ORDER BY cod_n,cod_grupo,cod_tipo,cod_Sec
|
||||
|
||||
OUTPUT TO REPORT costos1()
|
||||
END FOREACH
|
||||
FINISH REPORT costos1
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
REPORT costos1()
|
||||
DEFINE comp_on,comp_off CHAR(3)
|
||||
DEFINE fecha_final DATE
|
||||
DEFINE existencia DECIMAL(12,2)
|
||||
DEFINE costo_ant,costo_act DECIMAL(10,4)
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
|
||||
LET lj = (134 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1,"inprrp012",
|
||||
COLUMN lj, p_companias.nombre CLIPPED,
|
||||
COLUMN 127, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 44, " Sistema de Inventario Materia Prima",
|
||||
COLUMN 127, today using "dd/mm/yyyy"
|
||||
PRINT COLUMN 44, " Diferencia en Costos Anuales",
|
||||
COLUMN 127, time
|
||||
PRINT COLUMN 1, "==================================================",
|
||||
"==================================================",
|
||||
"=================================="
|
||||
PRINT COLUMN 1, "ARTICULOS...",
|
||||
COLUMN 50, "EXISTENCIA",
|
||||
COLUMN 72, p_ano using "####",
|
||||
COLUMN 87, "VALOR",
|
||||
COLUMN 100, p_ano_act using "####",
|
||||
COLUMN 115, "VALOR",
|
||||
COLUMN 132, "DIF"
|
||||
PRINT COLUMN 1, "==================================================",
|
||||
"==================================================",
|
||||
"=================================="
|
||||
|
||||
ON EVERY ROW
|
||||
SELECT * INTO articulos.* FROM intb00001
|
||||
WHERE @cod_n = cost_ant.cod_n and @cod_grupo = cost_ant.cod_grupo and
|
||||
@cod_tipo = cost_ant.cod_tipo and @cod_sec = cost_ant.cod_sec and
|
||||
@status_t is null
|
||||
|
||||
SELECT Max(fecha_corte) INTO fecha_final FROM prdtable
|
||||
WHERE ano = p_ano
|
||||
|
||||
SELECT SUM(cantidad_2) INTO existencia
|
||||
FROM intb00006
|
||||
WHERE (fecha <= fecha_final) and (@cod_n = cost_ant.cod_n) and
|
||||
(@cod_grupo = cost_ant.cod_grupo) and
|
||||
(@cod_tipo = cost_ant.cod_tipo) and
|
||||
(@cod_sec = cost_ant.cod_sec) and @status_t is null
|
||||
|
||||
IF existencia is null THEN
|
||||
LET existencia = 0
|
||||
END IF
|
||||
LET costo_ant = cost_ant.costo_st
|
||||
LET costo_act = cost_act.costo_st
|
||||
IF costo_ant is null THEN
|
||||
LET costo_ant = 0
|
||||
END IF
|
||||
IF costo_act is null THEN
|
||||
LET costo_act = 0
|
||||
END IF
|
||||
PRINT COLUMN 1, cost_ant.cod_n using "&","-",
|
||||
cost_ant.cod_grupo using "&","-",
|
||||
cost_ant.cod_tipo using "&&","-",
|
||||
cost_ant.cod_sec using "&&&"," ",
|
||||
articulos.descrip_esp," ",articulos.unidad_med,
|
||||
COLUMN 50, existencia using "(((,((#,#&&.##)",
|
||||
COLUMN 65, costo_ant using "##,###.##&&",
|
||||
COLUMN 80, costo_ant * existencia using "(,(((,((#.##)",
|
||||
COLUMN 95, costo_act using "#,###.##&&",
|
||||
COLUMN 106, costo_act * existencia using "(((,(((,((#.##)",
|
||||
COLUMN 122, (costo_ant * existencia) - (costo_act * existencia)
|
||||
USING "((,(((,(&&.##)"
|
||||
ON LAST ROW
|
||||
PRINT COLUMN 1, "==================================================",
|
||||
"==================================================",
|
||||
"=================================="
|
||||
PRINT "TOTAL REGISTROS===> ", COUNT(*) USING "###",
|
||||
COLUMN 78, SUM(costo_ant*existencia) USING "(((,(((,(##.##)",
|
||||
COLUMN 106, SUM(costo_act * existencia) using "(((,(((,(&&.##)",
|
||||
COLUMN 122, SUM((costo_ant*existencia) - (costo_act*existencia))
|
||||
USING "((,(((,(&&.##)"
|
||||
PRINT comp_off
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user